这是我声明firefox驱动程序的方式:
public static WebDriver driver = new FirefoxDriver();
我将代码放在main之外和我的课程中(全局)
这是我声明Chrome驱动程序的方式:
System.setProperty("webdriver.chrome.driver", "/path/xxx/xxx/xx");
WebDriver driver = new ChromeDriver();
我将上面的代码放在main中
这是问题:
我想使ChromeDriver作为一个全球性的,但我NEED设置属性之前这样做。但是我将System.setProperty("xx","xx");
主体放置在主体内。因为放在外面时会产生错误。
这是一个用户尝试与我做相同的事情。尝试使用同一驱动程序运行不同的浏览器:如何在多个浏览器中运行Selenium测试,以使用Java进行跨浏览器测试?
答案是在主体中声明驱动程序,而不是将其声明为常量。
我的问题:所有功能都需要从前声明驱动程序。调用使用的函数driver
。如果driver
在main中声明,则需要将其作为参数连续传递给所有函数。我不想这样做。这是一个示例功能
public static void a(){
driver.findElement(By.id("hi"));
}
怎么样:
class SomeTest {
static WebDriver driver;
public static void main(String[] args) {
System.setProperty("key", "value");
driver = new ChromeDriver();
}
public static void a() {
driver.findElement(By.id("hi"));
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句