我一直在使用 Firefox 来运行我的测试用例。但现在我想使用 Chrome。我想在类级别初始化 chrome,就像我使用 Firefox 一样。但是在类级别设置系统属性会出现错误,我该怎么办?使用属性文件可以工作,如果可以,如何?
public class BaseClass {
System.setProperty("webdriver.chrome.driver","/home/Desktop/chrome32/chromedriver");
public static WebDriver driver = new ChromeDriver();
public void test(){
driver.get("http://asdf.com");
----
---
}
}
最佳答案
你可以使用静态初始化 block 来完成它,如下所示:
public class BaseClass {
static {
System.setProperty("webdriver.chrome.driver","/home/Desktop/chrome32/chromedriver");
}
protected WebDriver driver = new ChromeDriver();
@Test
public void test(){
driver.get("http://asdf.com");
}
}
由于您没有说明您正在使用哪个测试框架,您可以在 TestNG 中这样做(无论如何我都会推荐):
public class BaseClass {
@BeforeSuite
public void setupChromeDriver() {
System.setProperty("webdriver.chrome.driver","/home/Desktop/chrome32/chromedriver");
}
public static WebDriver driver = new ChromeDriver();
public void test(){
driver.get("http://asdf.com");
}
}
@BeforeSuite 注释确保该方法在测试套件的第一个测试运行之前执行,因此无论如何这应该足够早。
关于java - 如何使用 System.set 在类级别初始化 chrome 驱动程序...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15757674/