Now I solved this by creating a class impleting
org.jbehave.core.reporters.StoryReporter.

It has enough methods which intercept the JBehave execution workflow and
pass the information which I need, like scenario name.

In a way this seems to be the right way to do it anyway since I am
reporting the JBehave result into a test management tool.

But I would be happy if you could add a method afterStep(...) into the
StoryReporter interface. Because this would allow me to measure the
duration of the step execution. I have workarounds for this, but they are
more complicated to implement. I created a Jira task for this.


On Fri, Apr 11, 2014 at 12:48 PM, Hans Schwäbli <
bugs.need.love....@gmail.com> wrote:

> Hello Mauro,
>
> that sounds good to use the uponOutcome, thank you! I overlooked that.
>
> Parsing the XML in a good way would require a XSD file I believe, but it
> does not exist, so I try not to use that approach.
>
> Now it looks like this:
>
>     @AfterScenario(uponType=ScenarioType.NORMAL,
> uponOutcome=AfterScenario.Outcome.SUCCESS)
>     public void afterScenarioSuccess(@Named("qc-testcase") String
> qcTestcase) {
>         // TODO Export result into HP QC.
>     }
>
> With that I can export the result in a basic way into HP QC.
>
> But I should also export the JBehave XML result file into HP QC. For this
> purpose I need to know which story is running. How can I get to that
> information in the method above?
>
> Furthermore it would be more suitable to have XML results per scenario
> since a test in HP QC (and perhaps also in many other test managment tools)
> is best represented by a JBehave scenario. Is it possible to configure
> JBehave so that it produces XML result files per scenario?
>
>
> On Thu, Apr 10, 2014 at 11:21 PM, Mauro Talevi <mauro.tal...@aquilonia.org
> > wrote:
>
>> @AfterScenario supports the variable uponOutcome to determine if the
>> scenario has failed or not.
>>
>> Else you can parse the XML of the story and  extract the scenario info.
>>
>>
>> On 10/04/2014 13:42, Hans Schwäbli wrote:
>>
>>> I achieved to create Java classes which can export test results into HP
>>> Quality Center by using its REST interface.
>>> But now I wonder how to extract the outcome from the JBehave run so that
>>> I can export the results. I want to export that in a very basic way: test
>>> result with an attached XML report.
>>> I identify the tests in Quality Center by using a Meta info per
>>> scenario: @qc-testcase Root/Test Folder x/Test Set y/My Test
>>> This Meta info I can extract in a method like this:
>>> @AfterScenario
>>> public void afterScenario(@Named("qc-testcase") String qcTestcase) {}
>>> Each scenario shall match a test in Quality Center.
>>> My first idea was to export the outcome while the JBehave tests run.
>>> That would require to get to the information in a method annotated with
>>> @AfterScenario. But how can I determine in this method what outcome of the
>>> scenario is so that I can export that on-the-fly into HP QC?
>>> Another idea was to parse the genereated XML file after the run has
>>> finished. But it has no schema file. So I cannot generate Java classes for
>>> it by using JAXB in order to parse the result in a good way. Furthermore
>>> there is no total outcome result printed in the XML, only for the step
>>> outcome. Besides that I should have an XML file per scenario, so that I can
>>> attach it to the test result when I export it into HP QC, and I don't know
>>> if I can achieve that, so that JBehave procduces XML files per scenario.
>>> How would you solve that?
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>    http://xircles.codehaus.org/manage_email
>>
>>
>>
>

Reply via email to