Arquillian Graphene 浏览器屏幕截图:无法将 Drone 与 Qualifier 一起使用
Arquillian Graphene browser screenshooter: Cannot use Drone with Qualifier
我使用 Arquillian 1.1.6.Final
通过 Arquillian Drone 2.0.0.Alpha3
、Arquillian Graphene 2.1.0.Alpha2
和 Arquillian Browser Screenshooter 2.1.0.Alpha2
测试 JSF
。效果很好,按预期给了我 screen shot
。
当我使用 Arquillian Drone
和 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.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)
我的代码如下:-
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();
}
}
}
能否请您帮忙进一步指教?
这是 2.1.0.Alpha2 中修复的错误 ARQGRA-467,本应修复它。
详情见https://github.com/arquillian/arquillian-recorder/issues/10。
也许你应该在那里添加评论。
我使用 Arquillian 1.1.6.Final
通过 Arquillian Drone 2.0.0.Alpha3
、Arquillian Graphene 2.1.0.Alpha2
和 Arquillian Browser Screenshooter 2.1.0.Alpha2
测试 JSF
。效果很好,按预期给了我 screen shot
。
当我使用 Arquillian Drone
和 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.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)
我的代码如下:-
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();
}
}
}
能否请您帮忙进一步指教?
这是 2.1.0.Alpha2 中修复的错误 ARQGRA-467,本应修复它。
详情见https://github.com/arquillian/arquillian-recorder/issues/10。
也许你应该在那里添加评论。