如何将驱动程序声明为全局?

Ind*_*igo 1 java selenium

这是我如何声明firefox驱动程序:

public static WebDriver driver = new FirefoxDriver();
Run Code Online (Sandbox Code Playgroud)

我将代码置于main之外且在我的类中(全局)

以下是我如何声明chrome驱动程序:

System.setProperty("webdriver.chrome.driver", "/path/xxx/xxx/xx");
WebDriver driver  = new ChromeDriver();
Run Code Online (Sandbox Code Playgroud)

我将上面的代码放在main中

这是问题:

我想将ChromeDriver作为一个全局,但我需要在这之前设置属性.但我把它System.setProperty("xx","xx");放在主体内.因为放在外面时会出错.

这是一个用户尝试与我做同样的事情.尝试使用相同的驱动程序运行不同的浏览器:如何在多个浏览器中运行Selenium测试,以便使用Java进行跨浏览器测试?

答案是涉及在主体中声明驱动程序而不是之前的常量.

我的问题:所有功能都需要之前的驱动程序声明.调用使用的函数driver.如果我driver在main中声明,我需要不断将它作为参数传递给所有函数.我不希望这样做.这是一个示例函数

 public static void a(){

 driver.findElement(By.id("hi"));

}
Run Code Online (Sandbox Code Playgroud)

SiK*_*ing 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"));

    }
}
Run Code Online (Sandbox Code Playgroud)