我是Selenium的新手。
我正在写一段代码DriverManager.Java(以加载浏览器)
package com.moni.tef;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class DriverManager {
private static WebDriver driver;
static {
driver = new FirefoxDriver();
}
public WebDriver getWebDriver(){
driver.get("https://public-testing/");
return driver;
}
}
然后我创建了另一个类。并尝试使用此getWebDriver方法。然后,我的代码更改为public static。代码正在运行,但任何人都可以解释一下此修复程序(通过Eclipse完成)
public static WebDriver getWebDriver(){
driver.get("https://xxx.url.url");
return driver;
}
最佳答案
IMO,在您新编写的类中,您尝试静态调用getWebDriver()
方法:
DriverManager.getWebDriver()
而不是首先创建
DriverManager
的实例:new DriverManager().getWebDriver()
这将导致编译错误,因为最初,DriverManager#getWebDriver()是实例方法,而不是类方法(因此为静态)。
因此,Eclipse可以通过使方法
static
成功编译来帮助您(肯定得到了您的非自愿认可)。有关
static
概念的更多信息:单击here。