Hi,

I'm using JBehave 2.x with selenium (web version). I am trying to add a
means to take a screenshot of the browser when the test throws an exception.
Selenium provides methods to capture the screen; captureEntireScreen and
captureScreenshot.

The problem I am facing is that I cannot integrate this feature, in a
generalized manner, when an exception or error occurs. Either I am
implementing them incorrectly or I am using the wrong approach. Is there a
proper way on achieving this? Feedback would be appreciated.

Here are the following methods I tried:

1)
https://dev.youdevise.com/YDBlog/index.php?title=capture_screenshots_of_selenium_browser_&more=1&c=1&tb=1&pb=1
By
creating a custom JUnit runner and a new annotation. The idea is override
junit class runner methods and call the methods with the annotation when an
error occurs. Since the steps are in other class, then it doesn't recognize
and find those methods.

2)
http://blog.xebia.com/2010/03/30/making-screenshots-from-selenium-with-junit-rules/
using
@Rules to capture exceptions, but it needs to be applied to a field, which
is defined in JBehave.

3)
http://api.dpml.net/junit/4.2/org/junit/runner/notification/RunListener.html
Override
the method when a test fails. This needs to be run through JUnitCore.

Thanks,
Pran.

Reply via email to