We don't know what the cause is for the issue. It's come up occasionally over the lest few years. We've never had a repeatable reproduction before.
- Paul On Sat, Feb 16, 2013 at 12:41 PM, Julien Martin <[email protected]> wrote: > Still no luck with this issue.... > > I think I found the relevant code that causes the error: > > public WebDriver get() { > WebDriver webDriver = delegate.get(); > if (webDriver == null) { > throw new DelegateWebDriverNotFound(); > } > return webDriver; > } > > > In my case the local variable webDriver is null! Now I would be very grateful > if someone told me what could cause the Threalocal delegate to return null in > the first place? > > Regards, > > Julien. > > > > 2013/2/12 Mauro Talevi <[email protected]> > >> Yes please send me the project. >> >> >> On 12 Feb 2013, at 21:14, Julien Martin <[email protected]> wrote: >> >> Hi Mauro, >> Thanks for your reply. I am sorry I can't provide a code on github. >> However, I can send a zipped maven project to your email if you wish. >> As far as the extra steps are concerned, I removed the steps with the >> @BeforeScenario and it does not make any difference. I am really not sure >> where the problem comes from... >> Let me know if I can mail you the maven project. >> Regards, >> Julien. >> >> >> >> 2013/2/12 Mauro Talevi <[email protected]> >> >>> I've not been able to investigate your problem as I would need to >>> first reproduce it. This is why I was asking for a fork on github where we >>> could reproduce and investigate it. >>> >>> WRT your questions: >>> >>> 1. the issue is most likely in the extra @BeforeScenario/Story steps >>> that you've defined. The WebDriver is set in the >>> PerScenario/StoryWebDriverSteps annotated methods >>> 2. it's got nothing to do with the location of the java/story files. >>> >>> >>> On 12/02/2013 16:41, Julien Martin wrote: >>> >>> Hi Mauro! >>> >>> My codebase is actually slightly different from the one described in the >>> JIRA. I do get the same error message though... >>> >>> I've spent the best of the day trying to figure out the difference >>> between my codebase and that of the maven archetype (spring+web) which does >>> work fine. To no avail. >>> >>> I have two questions: >>> 1. By looking at the code provided in my prior email, can you spot >>> something wrong? >>> 2. Can you tell me whether all my JBehave code (java files, story files) >>> should be located in src/main/ or src/test? >>> >>> Regards, >>> >>> Julien. >>> >>> 2013/2/12 Mauro Talevi <[email protected]> >>> >>>> I've commented on it. >>>> >>>> Same advice to you: >>>> >>>> Would it be possible for you to clone the jbehave-tutorial in github >>>> and provide your modifications in different branches? >>>> >>>> In this way, it's much easier to see what changing wrt to a working >>>> scenario to work with an easily reproducible codebase. >>>> Cheers >>>> >>>> >>>> On 12/02/2013 14:28, Julien Martin wrote: >>>> >>>> Hi, >>>> I noticed someone has encountered the same problem. See here: >>>> http://jira.codehaus.org/browse/JBEHAVE-790 >>>> Any update on this issue? >>>> Julien. >>>> >>>> 2013/2/11 Julien Martin <[email protected]> >>>> >>>>> Hello, >>>>> >>>>> I am trying to set up a JBehave + Spring based on the Etsy samples. >>>>> >>>>> However, here is what I get when I run the stories: >>>>> >>>>> org.springframework.beans.factory.BeanCreationException: Error >>>>> creating bean with name 'steps' defined in class path resource >>>>> [META-INF/spring/steps.xml]: Instantiation of bean failed; nested >>>>> exception >>>>> is org.springframework.beans.BeanInstantiationException: Could not >>>>> instantiate bean class [com.bignibou.bdd.steps.WebSteps]: Constructor >>>>> threw >>>>> exception; nested exception is >>>>> org.jbehave.web.selenium.DelegatingWebDriverProvider$DelegateWebDriverNotFound: >>>>> WebDriver has not been found for this thread. >>>>> Please verify you are using the correct WebDriverProvider, with the >>>>> appropriate credentials if using remote access, e.g. to SauceLabs: >>>>> -DSAUCE_USERNAME=xxxxxx -DSAUCE_ACCESS_KEY=xxx-xxxx-xxxx-xxxx-xxx >>>>> >>>>> Can anyone please help? >>>>> >>>>> Regards, >>>>> >>>>> Julien. >>>>> >>>>> Here is my Stories source: >>>>> >>>>> @RunWith(SpringAnnotatedEmbedderRunner.class) >>>>> @Configure() >>>>> @UsingEmbedder(embedder = Embedder.class, generateViewAfterStories = >>>>> true, ignoreFailureInStories = true, ignoreFailureInView = true) >>>>> @UsingSpring(resources = { >>>>> "classpath:META-INF/spring/applicationContext.xml", >>>>> "classpath:META-INF/spring/steps.xml" }) >>>>> @UsingSteps(instances = { WebSteps.class }) >>>>> public class SpringWebStories extends InjectableEmbedder { >>>>> >>>>> @Test >>>>> public void run() { >>>>> injectedEmbedder().runStoriesAsPaths(storyPaths()); >>>>> } >>>>> >>>>> protected List<String> storyPaths() { >>>>> String searchInDirectory = >>>>> CodeLocations.codeLocationFromPath("src/test/java").getFile(); >>>>> return new StoryFinder().findPaths(searchInDirectory, >>>>> Arrays.asList("**/*.story"), null); >>>>> } >>>>> } >>>>> >>>>> Here is my WebSteps source: >>>>> >>>>> public class WebSteps { >>>>> >>>>> @Autowired >>>>> private JavaMailSender javaMailSender; >>>>> >>>>> private Home home; >>>>> >>>>> public WebSteps(PageFactory factory) { >>>>> this.home = factory.home(); >>>>> } >>>>> >>>>> @Given("the following email address: $email and a chosen member >>>>> status of $status and the following password: $password") >>>>> public void anonymousVisitorEntersDetails(String email, String >>>>> status, String password) { >>>>> System.out.println("instance:" + javaMailSender); >>>>> home.open(); >>>>> home.enterDetails(email, status, password); >>>>> } >>>>> >>>>> @When("the anonymous visitor signs up") >>>>> public void anonymousVisitorDoesRegister(String login, String >>>>> password) { >>>>> home.doRegister(); >>>>> } >>>>> >>>>> @Then("a confirmation email with activation information is sent to >>>>> the anonymous visitor") >>>>> public void activationInformationIsSent() { >>>>> >>>>> } >>>>> >>>>> ... >>>>> >>>>> Here is my steps.xml: >>>>> >>>>> <beans xmlns="http://www.springframework.org/schema/beans" >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>> xsi:schemaLocation="http://www.springframework.org/schema/beans >>>>> >>>>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> >>>>> >>>>> <bean id="driverProvider" >>>>> class="org.jbehave.web.selenium.FirefoxWebDriverProvider"> >>>>> </bean> >>>>> >>>>> <bean id="webDriverProvider" >>>>> class="org.jbehave.web.selenium.PerStoryWebDriverSteps"> >>>>> <constructor-arg ref="driverProvider" /> >>>>> </bean> >>>>> >>>>> <bean id="lifecycleSteps" >>>>> class="com.bignibou.bdd.steps.LifecycleSteps"> >>>>> <constructor-arg ref="driverProvider" /> >>>>> </bean> >>>>> >>>>> <bean id="pageFactory" class="com.bignibou.bdd.pages.PageFactory"> >>>>> <constructor-arg ref="driverProvider" /> >>>>> </bean> >>>>> >>>>> <bean id="steps" class="com.bignibou.bdd.steps.WebSteps"> >>>>> <constructor-arg ref="pageFactory" /> >>>>> </bean> >>>>> </beans> >>>>> >>>> >>>> >>>> >>> >>> >> >
