javajboss-arquillianarquillian-drone

Arquillian Graphene browser screenshooter: Cannot use Drone with Qualifier


I'm using the Arquillian 1.1.6.Final for testing the JSF by using the Arquillian Drone 2.0.0.Alpha3, Arquillian Graphene 2.1.0.Alpha2 and Arquillian Browser Screenshooter 2.1.0.Alpha2. It works great and give me a screen shot as expected.

There is some trouble when I used Arquillian Drone with org.jboss.arquillian.drone.api.annotation.Qualifier as

java.lang.IllegalStateException: There is no context available for qualifier org.jboss.arquillian.drone.api.annotation.Default. 
Available contexts are [interface test.com.scc.aspg.demo.arq.simple.MyExtraBrowser].
at org.jboss.arquillian.graphene.context.GrapheneContextImpl$LazyContext.getContext(GrapheneContextImpl.java:302)
at org.jboss.arquillian.graphene.context.GrapheneContextImpl$LazyContext$1.getTarget(GrapheneContextImpl.java:311)
at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.getTarget(GrapheneProxyHandler.java:149)
at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:118)
at com.sun.proxy.$Proxy336.unwrap(Unknown Source)
at org.arquillian.extension.recorder.screenshooter.browser.impl.BrowserScreenshooter.getTakingScreenshotsBrowser(BrowserScreenshooter.java:158)

My Code is as the following: -

import org.jboss.arquillian.drone.api.annotation.Qualifier;

@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD, ElementType.PARAMETER })
@Qualifier
public @interface MyExtraBrowser {

}

@RunWith(Arquillian.class)
public class DroneTest {

    @Drone
    @MyExtraBrowser //<---This works without Arquillian Browser Screenshooter
    private WebDriver browser;

    @Test
    @RunAsClient
    public void ensureIndexPage() {
        try{
            browser.get("http://www.google.com")
        } catch (Exception e){
            e.printStackTrace();
        }
    }
}

Could you please help to advise further?


Solution

  • This was a bug ARQGRA-467 fixed in 2.1.0.Alpha2 that was supposed to fix it.

    See https://github.com/arquillian/arquillian-recorder/issues/10 for details.

    Maybe you should add a comment there.