It seems to me that you're not even using jbehave-web. You've copied
selected classes from it into your project and using them in a way which
is different from jbehave-web, e.g. introducing another factory
abstraction.
If you'd help on using jbehave-web, including resolving issues with its
current implementation, we'd be happy to help.
If you're writing your own framework, then we can't help.
Cheers
On 30/07/2014 17:52, Emanuel Campolo wrote:
Hi Mauro, thanks for taking your time to reply.
I mentioned PerStoryWebDriverSteps as an example of how the framework
cleans up the resources. In this case, when the end() method is
invoked, the ThreadLocal<WebDriver> instance associated with the
current thread is removed but, if you'd used a FluentWebDriverPage
instead of a WebDriverPage, a ThreadLocal<FluentWebDriver> will not be
eliminated from the list of thread locals.
Even though im not using the jbehave-core for running my tests, Im
coding a lightweight selenium-based framework using testng and the
jbehave-web project.
As you can see below, I had to re write some of the classes to solve
this issue where resources are not being removed by
the DelegatingWebDriverProvider (javadoc and reference to jbehave-web
will be added):
https://github.com/emacampolo/hatchery/blob/master/src/main/java/com/hatchery/core/DefaultWebDriverProvider.java
https://github.com/emacampolo/hatchery/blob/master/src/main/java/com/hatchery/core/pages/FluentWebDriverPage.java
This is where I invoke the end() method
https://github.com/emacampolo/hatchery/blob/master/src/main/java/com/hatchery/core/Suite.java
2014-07-30 12:06 GMT-03:00 Mauro Talevi <mauro.tal...@aquilonia.org
<mailto:mauro.tal...@aquilonia.org>>:
Hi,
the FluentWebDriverPage is simply a fluent-based facade using a
FluentWebDriver. The underlying WebDriverProvider is the same
as a non-fluent page and is injected in the constructor.
The PerStoryWebDriverSteps should use exactly the same underlying
WebDriverProvider (autowired via some dependency-injection
mechanism), so if the provider end() method is invoked you
shouldn't need to do anything else.
Are you experiencing or noticing a particular problem? If so,
could you share a project that reproduced it?
Cheers
On 29/07/2014 19:14, Emanuel Campolo wrote:
Hi all !
I've added the jbehave-web module to a personal project where
I use testng. I'm using the FirefoxWebDriverProvider to manage
the webdriver instances, taking advantage of the ThreadLocal
for multithreaded tests.
My question is, even though I call the end() method every time
a test completes to remove the driver assigned to the current
thread, i don't know how to the same thing to the
FluentWebDriver (a thread local variable that the
FluentWebDriverPage has).
I noticed that , for example, the PerStoryWebDriverSteps only
executes driverProvider.end() but as in mentioned above, i
didn't find any clean up for the FluentWebDriver instances
that FluentWebDriverPage creates.
Thanks in advance :)
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email