0 Replies Latest reply on Feb 2, 2015 12:40 AM by Charlee Chitsuk

    Arquillian Graphene browser screenshooter: Cannot use Drone with Qualifier.

    Charlee Chitsuk Newbie

      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?