Hi Phong,
I would imagine you're running in multi-threading mode. The total is
calculated as simply be the sum of each duration. If you have a single
thread then it will coincide with the build duration (more or less), but
you use multiple threads it'll be off by a factor which should
correspond to the number of threads.
Arguably we could use the information of the threads to renormalise the
total by the number of threads. This formula would still work in the
case of a single thread.
Can you confirm that you're using multiple threads?
Cheers
On 25/03/2015 08:22, tran, phong wrote:
Hi Mauro,
Thanks a lot for updating the core example template! We can
access and integrate the durations from storyDurations.props into our
custom HTML report now. However, we just notice another issue. The
total duration reported in storyDurations.props for all stories is
much higher (8 times) that what we usually see in our test run.
Basically we have a configuration in TeamCity to run our
Selenium-based tests and the test run took 5 hours and 25 minutes as
reported by TeamCity. This is the normal time range we expected for
our test run.
*
*
*Results*
*Started*
*Changes*
*Started*
*Duration*
**
#177
http://10.8.0.92/img/buildStates/buildFailed.pngNGIS #: 6234 Beacon #:
3224 Pass Rate: 83.43949% passed: 262 failed: 52 pending: 51
View build artifactsView
Changes (7)
24 Mar 15 09:55
5h:25m
Beacon_Selenium_W2K8R2_13
None
However, the total duration aggregated for all stories as reported by
JBehave is unusually high (more than 48 hours). This duration is not
correct!
*Reports Overview*
*Stories*
*Scenarios*
*Steps*
*Download as CSV
<http://10.8.0.92/repository/download/QeCf_TestExecution_BeaconNGSeleniumFullRegressionTests/153249:id/JBehaveReports.zip%21/reports.csv>*
*Total*
*Excluded*
*Total*
*Successful*
*Pending*
*Failed*
*Excluded*
*Total*
*Successful*
*Pending*
*Failed*
*Not Performed*
*Ignorable*
*Duration (hh:mm:ss.sss)*
*279*
*0*
*345*
*210*
*82***
*53***
*0*
*9,195*
*3,751***
*230***
*66***
*3,699***
*1,449***
*48:39:21.000*
storyDurations.props:
#org.jbehave.core.embedder.StoryManager
#Tue Mar 24 15:20:14 PDT 2015
total=175161000
Do you have any idea what could be causing the much higher story
duration reported in storyDurations.props? Is there any JBehave
configuration I should check in our setup?
Thanks,
Phong
*From:*Mauro Talevi [mailto:mauro.tal...@aquilonia.org]
*Sent:* Saturday, March 21, 2015 7:00 AM
*To:* user@jbehave.codehaus.org
*Subject:* Re: [jbehave-user] Story duration are not calculated
correctly in multi-thread execution
Hi Phong,
the core example template was out-of-date. I've pushed the updated one.
You'll see that the storyDurations are taken from a different template
object called "storyDurations".
There is a case for integrating this info into the Report and/or
ReportTable objects. Please raise a JIRA for this against version 4.x.
FYI, these objects are instantiated in the TemplateableViewGenerator.
Cheers
On 20/03/2015 21:50, tran, phong wrote:
Hi Mauro,
For example, take a look at the custom report packaged in
JBehave core example
(/behave-3.9.5/examples/core/src/main/java/ftl/custom-reports.ftl). In
this FreeMarker template, a data object reportsTable is accessed
and used to populate the content for HTML reports.
<#assign reportNames = reportsTable.getReportNames()>
Through reportsTable data object, other stats information
(including story duration) is also accessed.
<#assign stats = report.getStats()>
<@renderMillis stats "duration"/>
Questions:
1.Where is reportsTable data model coming from? How is it created
and injected into this FreeMarker template file (.ftl)?
2. As the story duration is no longer available in the stats
object (story .stats file) with JBehave 3.9.4+
(https://jira.codehaus.org/browse/JBEHAVE-1041), and if I want to
use and access the story duration available in
storyDurations.props file from the same FreeMarker template file,
how can I do this?
Thanks,
Phong
*From:*Mauro Talevi [mailto:mauro.tal...@aquilonia.org]
*Sent:* Friday, March 20, 2015 2:16 AM
*To:* user@jbehave.codehaus.org <mailto:user@jbehave.codehaus.org>
*Subject:* Re: [jbehave-user] Story duration are not calculated
correctly in multi-thread execution
Not sure what you mean. Where do you want to make available the
story durations?
On 20/03/2015 00:17, tran, phong wrote:
Thanks Mauro and Brent for confirming the fix. It’s actually
my fault. I did not update all other modules in the project
with the latest JBehave 3.9.5. I could see the
storyDurations.props file created with expected story duration
time now. My next question is how I can take the information
in storyDurations.props file and make them available for
access in the FreeMarker templates (.ftl) to produce the HTML
views?
Thanks,
Phong
*From:*Mauro Talevi [mailto:mauro.tal...@aquilonia.org]
*Sent:* Thursday, March 19, 2015 3:00 AM
*To:* user@jbehave.codehaus.org <mailto:user@jbehave.codehaus.org>
*Subject:* Re: [jbehave-user] Story duration are not
calculated correctly in multi-thread execution
Can you provide a sample project reproducting this behaviour.
This problem should be fixed in latest release.
On 17/03/2015 22:39, tran, phong wrote:
When I ran stories with a single thread (serial), the
story duration in reports looked correct. The duration
time is in minutes as expected. See the attached report
(single-thread-reports.png). However, when stories are
executed with multiple threads (currently), the story
duration is not calculated correctly (See
Multiple-Thread-Reports.png). The duration time is in in
sub-seconds and is not what expected. I’m using JBehave
3.9.2 and thought this problem could be related to
https://jira.codehaus.org/browse/JBEHAVE-1041 but
upgrading to the latest JBehave 3.9.5 does not seem to
help with this problem.
Here is the code fragment for building story report.
.useStoryReporterBuilder(new StoryReporterBuilder()
.withDefaultFormats()
.withFormats(CONSOLE, TXT, HTML_WEB)
.withFailureTrace(true)
.withFailureTraceCompression(false)
.withViewResources(viewResources)
.withCrossReference(xref)
);
Does anyone have an idea what’s could be the problem here?
Thanks in advance,
Phong
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email