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

时间:2014-10-16 18:23:54

标签: java selenium

以下是我如何声明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"));

}

1 个答案:

答案 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"));

    }
}