The WebDriverScreenshotOnFailure contains a step which is executed after a failed scenario, with the method annotated by @AfterScenario.

As such you cannot pass it a parameter directly. But you can work around it, e.g. you could add a StoryReporter that write the current story path to a file and read this file in your own custom class extending WebDriverScreenshotOnFailure.

This is the sort of context problem that will be addressed by the new execution context in 4.x

On 05/11/2013 12:45, Hans Schwäbli wrote:
The solution from Andreas Ebbert-Karroum or Codecentric is cutom tailored for IBM Rational Functional Tester. It seems to modify the JBehave story reporter so that log4j loggings are added to the HTML test result. There is a method which is used to create a screenshot and save it somewhere. In this method it is logged that a screenshot was created and a link with a small preview image is written as HTML text like: LOG.info("Screenshot saved into file " + outFile + " : " + "<a href='" + relpath + "'><img height='100px' width='100px' src='" + relpath + "'/></a>"); But that solution does not work if you use jbehave-web with Selenium underneath like me. There is this callback method: org.jbehave.web.selenium.WebDriverScreenshotOnFailure.afterScenarioFailure(UUIDExceptionWrapper) In it a screenshot is created by calling: org.jbehave.web.selenium.WebDriverProvider.saveScreenshotTo(String) System-out-printlines are used like: System.out.println("Screenshot of page '" + currentUrl + "' has been saved to '" + screenshotPath +"' with " + new File(screenshotPath).length() + " bytes"); But in WebDriverScreenshotOnFailure.afterScenarioFailure(...) the StoryReporter is not used to print that a screenshot was created. I don't know how to get to the story reporter since I need to provide a story path. But in the method WebDriverScreenshotOnFailure.afterScenarioFailure(...) it is unknown which story is currently running. My knowledget of the JBehave design is too small currently to find a way. The solution must be easy. The difficult part is only how to know which story is currently running when WebDriverScreenshotOnFailure.afterScenarioFailure(...) was called from the StoryRunner. Maybe you know a way how that could be achieved in order to integrate screenshots in the HTML test result ... as a JBehave user?


Am 15. Oktober 2013 17:40 schrieb Mauro Talevi <[email protected] <mailto:[email protected]>>:

    Hi Andreas,

    if you have a solution you'd like to share we'd be happy to
    consider it and make it available to the wider community.

    Cheers


    On 15/10/2013 12:59, Andreas Ebbert-Karroum wrote:
    Hans,

    I assume that you are working in that compandy, where codecentric
    helped to introduced JBehave. Please consult with the people
    there, they can show you how we implemented that.

    Andreas


    2013/10/15 Hans Schwäbli <[email protected]
    <mailto:[email protected]>>

        On failure screenshots are made by JBehave. I have configured
        it so that this is done.
        They appear in the target folder.
        But if I open the HTML report, they are not included in the
        HTML page. Is it possible to include it on the report pages?




-- Mit freundlichen Grüßen / Best regards

    Andreas Ebbert-Karroum | Agile Principal Consultant

    codecentric AG | Merscheider Straße 1 | 42699 Solingen | Deutschland
    tel: +49 (0) 212.23362825 <tel:%2B49%20%280%29%20212.23362825> |
    fax: +49 (0) 212.23362879 <tel:%2B49%20%280%29%20212.23362879> |
    mobil: +49 (0) 175.2664109 <tel:%2B49%20%280%29%20175.2664109>
    www.codecentric.de <http://www.codecentric.de> |
    blog.codecentric.de <http://blog.codecentric.de> |
    www.meettheexperts.de <http://www.meettheexperts.de> |
    www.more4fi.de <http://www.more4fi.de>

    Sitz der Gesellschaft: Düsseldorf | HRB 63043
    Vorstand: Klaus Jäger (Vorsitzender) . Michael Hochgürtel . Mirko
    Novakovic . Rainer Vehns
    Aufsichtsrat: Patric Fedlmeier (Vorsitzender) . Bernd Klinkmann .
    Jürgen Schütz

    Diese E-Mail einschließlich evtl. beigefügter Dateien enthält
    vertrauliche und/oder rechtlich geschützte Informationen. Wenn
    Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich
    erhalten haben, informieren Sie bitte sofort den Absender und
    löschen Sie diese E-Mail und evtl. beigefügter Dateien umgehend.
    Das unerlaubte Kopieren, Nutzen oder Öffnen evtl. beigefügter
    Dateien sowie die unbefugte Weitergabe dieser E-Mail ist nicht
    gestattet.



Reply via email to