以下是我如何声明firefox驱动程序:
public static WebDriver driver = new FirefoxDriver();
我将代码置于main之外且在我的类(全局)
之内以下是我如何声明chrome驱动程序:
System.setProperty("webdriver.chrome.driver", "/path/xxx/xxx/xx");
WebDriver driver = new ChromeDriver();
我将上面的代码放在主
中问题在于:
我想将ChromeDriver设为全局,但我需要在之前设置属性。但是我将System.setProperty("xx","xx");
放在主体内。因为放在外面时会出错。
这是一个尝试与我做同样事情的用户。尝试使用相同的驱动程序运行不同的浏览器:How to run Selenium tests in multiple browsers for cross-browser testing using Java?
答案是涉及在主体中声明驱动程序而不是之前的常量。
我的问题:所有功能都需要之前的驱动程序声明。调用使用driver
的函数。如果我在main中声明driver
,我需要不断将它作为参数传递给所有函数。我不希望这样做。这是一个示例函数
public static void a(){
driver.findElement(By.id("hi"));
}
答案 0 :(得分:6)
如下:
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"));
}
}