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 >> >> >> >