我试图在Arquillian中实例化webdriver后使用@BeforeSuite
我只是举个例子
@RunAsClient
public class GoogleTest extends Arquillian {
@Drone
private WebDriver driver;
@ArquillianResource
private URL contextRoot;
@Page
Google googlePage;
@BeforeSuite
public void init() {
driver.get(contextRoot.toString());
}
@Test
public void googleSearchTest() {
System.out.println(contextRoot);
googlePage.searchFor("Arquillian Graphene");
}
}
但它正在获取空指针异常,因为驱动程序没有实例化。所以我的问题是在Arquillian定义@BeforeSuite之后如何调用我的@BeforeSuite。
我不想做webdriver实例化部分,我更喜欢它应该由Arquillian @Drone注释处理,之后我会执行自己的@BeforeSuite。
答案 0 :(得分:0)
WebDriver生命周期由Arquillian Drone控制。你不必实例化它!
您不应该访问WebDriver
中的BeforeSuite
,因为到那时Arquillian尚未对其进行初始化。实际上它确实在那之后。因此,如果您想以编程方式覆盖任何arquillian.xml
设置,这是个不错的选择。
如果您想使用登录等webdriver进行一些设置,您可以在测试本身或BeforeTest
中执行此操作。 BeforeSuite
不是发布网址的好地方