Java linux上的Selenium会话
我尝试运行在windows计算机上创建的selenium测试。我将驱动程序更改为linux版本。将其添加到路径。但每次我Java linux上的Selenium会话,java,linux,selenium,Java,Linux,Selenium,我尝试运行在windows计算机上创建的selenium测试。我将驱动程序更改为linux版本。将其添加到路径。但每次我 org.selenium.NoSUchSessionException 我使用最新的浏览器和最新的驱动程序 我这样定义它: public class AuthTestSteps { private static WebDriver driver; private static WebDriverWait wait; @Given("^blah_blah$") public
org.selenium.NoSUchSessionException
我使用最新的浏览器和最新的驱动程序
我这样定义它:
public class AuthTestSteps {
private static WebDriver driver;
private static WebDriverWait wait;
@Given("^blah_blah$")
public void method() throws MalformedURLException{
driver = new ChromeDriver();
wait = new WebDriverWait(driver, 30);
System.setProperty("webdriver.chrome.driver","chromedriver");
}
解决方案:
im我的案例解决方案是向chrome添加驱动程序管理器和选项,比如“无沙盒”,因为它是从root用户运行的。使用chrome驱动程序的绝对路径。像这样更改代码
public class AuthTestSteps {
private static WebDriver driver;
private static WebDriverWait wait;
@Given("^blah_blah$")
public void method() throws MalformedURLException{
// assuming that your chrome driver is located inside
// your project(src/main/resources/browser_driver/chromedriver)
// take absolute path for chrome driver
File file = new File("src/main/resources/browser_driver/chromedriver");
String absolutePath = file.getAbsolutePath();
driver = new ChromeDriver();
wait = new WebDriverWait(driver, 30);
System.setProperty("webdriver.chrome.driver", absolutePath);
}
执行Selenium测试时,您需要首先通过System.setProperty()
行传递WebDriver二进制文件的绝对路径,然后按如下方式初始化Web浏览器:
public class AuthTestSteps
{
private static WebDriver driver;
@Given("^blah_blah$")
public void method() throws MalformedURLException
{
System.setProperty("webdriver.chrome.driver","/path/to/chromedriver");
driver = new ChromeDriver();
}
}
不,我是这样尝试的,但没用。还是相同的错误与其编辑问题以添加解决方案,不如将其作为答案发布,但是。(甚至可以在页面上直接回答问题)