我创建的窗口10的机器上测试(UI测试)。 他们工作得很好,但前几天我的老板告诉我,我们需要在Linux上运行我们的测试。 我下载的Linux驱动程序,并改变它在System.setProperty("webdriver.chrome.driver", "chromedriver");
但是,试图运行这个测试我得到后java.lang.ExceptionInInitializerError
(它是与最新的浏览器最新的驱动程序)。 这之后,我改变了我的代码,让我跑的测试,但连接到驱动器的遥控器。 我不喜欢这种方式。 可能是你有一个人知道哪个驱动程序将工作在Linux上没有驱动程序初始化部分代码的变化?
例如,Windows驱动程序初始化:
private static WebDriver driver = new ChromeDriver();
private static WebDriverWait wait = new WebDriverWait(driver, 30);
@Given("^blah blah$")
public void some_method() {
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
}
Linux驱动程序初始化:
public abstract class InitDrivers{
private static DesiredCapabilities capability = DesiredCapabilities.chrome();
public static WebDriver driver;
static {
try {
driver = new RemoteWebDriver(new URL("http://127.0.0.1:9515"),capability);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
public static WebDriverWait wait = new WebDriverWait(driver, 30);
public class CallDoctorTestStep extends InitDrivers{
@Given("^blah blah$")
public void some_method() throws MalformedURLException{
//System.setProperty("webdriver.chrome.driver","chromedriver.exe");
}
请参阅解决方案 在Linux硒NoSuchSession