Arquillian Graphene @InitialPage 总是 returns null

Arquillian Graphene @InitialPage always returns null

我有一个测试场景:

@Test
public void testHomePage(@InitialPage LoginPage loginPage) {

    loginPage.login();

    assertNotNull(welkom.getText());

}

由 arquillian 部署驱动:

@Deployment(testable = true)

然而,loginPage.login();给我一个 NPE。

当我更改 testable = false 时,我的测试有效...我不明白我做错了什么...

是的,testeable = true 意味着测试本身从您的 运行ner (IDE, Maven, ...) 移动到应用程序服务器并在那里执行应用程序服务器 运行 时间。 Arquillian Drone 和 Graphene 旨在从应用程序服务器外部工作。

因此将 testeable 设置为 false 会使 Arquillian 仅将您的存档部署到应用程序服务器,然后测试是 运行 来自您的 运行 时间(IDE,Maven,...) .您可以在 https://docs.jboss.org/author/display/ARQ/Test+run+modes

中阅读更多相关信息

由于Drone Graphene是黑盒测试,所以testeable = false是一个要求。