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

    Arquillian Graphene browser screenshooter: Cannot use Drone with Qualifier.

    charlee_ch

      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?