java - driver.quit后如何打开chromedriver的新 session ?

标签 java selenium cucumber

我正在尝试运行两个功能文件(Cucumber + JUnit),并且我需要在功能之间关闭浏览器。但关闭后,第二个功能无法启动新 session ,我得到了

org.openqa.selenium.remote.SessionNotFoundException: Session ID is null.

调用quit()后使用WebDriver。如何避免这个错误?

我有以下相同的代码:

 @Before
public void initPage(){
    loginPage = PageObjectFactory.getPageObject(LoginPage.class);
    loginPage.loadPage();
}

@Given("^user login to stg \"([^\"]*)\" with \"([^\"]*)\" and \"([^\"]*)\"$")
public void userLoginToStgWithAnd(String arg0, String arg1, String arg2) throws Throwable {

    Properties prop = new Properties();
    InputStream input = null;
    input = new FileInputStream("src/main/resources/application.properties");
    prop.load(input);

    arg0 = System.getProperty("url");
    arg1 = prop.getProperty("user.username");
    arg2 = System.getProperty("user.password");
    Map<IElement, String> map = new LinkedHashMap<>();
    map.put(loginPage.stgPassword, arg2);
    map.put(loginPage.stgUsername, arg1);
    driver = WebDriverConfig.setChromeProfile();
    driver.get(arg0);
    Thread.sleep(3000);
    loginPage.waitForJStoLoad();
    loginPage.fillForm(map);
    loginPage.clickStgLogin();
    Thread.sleep(3000);
}

@And("^user logout$")
public void userLogout() throws Throwable {
    loginPage.waitForJStoLoad();
    loginPage.waitForAngular();
    loginPage.openUserProfile();
    loginPage.clickLogout();
    loginPage.waitForJStoLoad();
    driver.close();
}

最佳答案

你可以这样做:

driver.quit();
driver = null; 
driver = new ChromeDriver();

关于java - driver.quit后如何打开chromedriver的新 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45266034/

相关文章:

selenium - Firefox Gecko 相当于 Chrome 的 --disable-dev-shm-usage 标志是什么

java - 使用 Windows 的阿拉伯语编码

java - 当字符串中出现一个字母时返回 true?

java - MPAndroidChart - X 轴上的动态日期标签

javascript - selenium webdriver javascript 查询

ruby-on-rails - 使用 Capybara 和 Selenium 进行记录删除测试失败

java - 我想在我的手机上安装一个未签名的 apk 文件。该怎么办?

jquery - 在 Rails 中的 Cucumber + Capybara + PhantomJS 中调试 jQuery Ajax

intellij-idea - 未找到 cucumber 步骤定义 - IntelliJ Gradle

java - 如何通过 Jenkins 定位特定的 Cucumber 功能文件(自动化测试)?