[arquillian-issues] [JBoss JIRA] (ARQGRA-454) NPE in WebElementEnricher.enrich() with Arquillian 1.1.5.Final

Tilmann Kuhn (JIRA) issues at jboss.org
Wed Aug 27 10:08:00 EDT 2014


    [ https://issues.jboss.org/browse/ARQGRA-454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12996148#comment-12996148 ] 

Tilmann Kuhn commented on ARQGRA-454:
-------------------------------------

I have the same issue. I think the key information here is that this happens in an @Before method of the test.
Though I didn't have time to create a minimum example to reproduce yet. I just checked with the debugger:
Not visible in the stacktrace above is that the problem actually occurs in ManagerImpl.resolve(GrapheneConfiguration.class) when querying get() of Instance<GrapheneConfiguration>
The GrapheneConfiguration is stored in ClassContext and at this point the only active context is ApplicationContext.
Hence GrapheneConfiguration is not found and null returned by the ManagerImpl. Maybe this is connected to the changes in core connected to the support of Junit Rules?

WebDriver.navigate().to(...) works in @Before and can be used as a workaround if you have fixed server configuration.

> NPE in WebElementEnricher.enrich() with Arquillian 1.1.5.Final
> --------------------------------------------------------------
>
>                 Key: ARQGRA-454
>                 URL: https://issues.jboss.org/browse/ARQGRA-454
>             Project: Arquillian Graphene
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: core
>    Affects Versions: 2.0.3.Final
>            Reporter: Juergen Zimmermann
>
> I'm getting a GrapheneTestEnricherException caused by a NPE (see stacktrace below) after upgrading Arquillian to 1.1.5.Final. The issue doesn't exist with Arquillian 1.1.4.Final.
> The stacktrace:
> {code}
> org.jboss.arquillian.graphene.enricher.exception.GrapheneTestEnricherException:
> Error while initializing: class de.shop.util.IndexPage
>         at org.jboss.arquillian.graphene.location.LocationEnricher.goTo(LocationEnricher.java:78)
>         at org.jboss.arquillian.graphene.DefaultGrapheneRuntime.goTo(DefaultGrapheneRuntime.java:125)
>         at org.jboss.arquillian.graphene.DefaultGrapheneRuntime.goTo(DefaultGrapheneRuntime.java:120)
>         at org.jboss.arquillian.graphene.Graphene.goTo(Graphene.java:291)
>         at de.shop.util.AbstractWebTest.before(AbstractWebTest.java:54)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:483)
>         at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>         at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>         at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>         at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
>         at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>         at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:267)
>         at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>         at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>         at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>         at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>         at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>         at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>         at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:193)
>         at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:345)
>         at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:49)
>         at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:207)
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>         at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:155)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
>         at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
>         at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
>         at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> Caused by: java.lang.NullPointerException
>         at org.jboss.arquillian.graphene.enricher.WebElementEnricher.enrich(WebElementEnricher.java:68)
>         at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.enrichRecursively(AbstractSearchContextEnricher.java:73)
>         at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.setupPage(PageObjectEnricher.java:97)
>         at org.jboss.arquillian.graphene.location.LocationEnricher.goTo(LocationEnricher.java:76)
>         ... 34 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the arquillian-issues mailing list