开发者问题收集

执行自动化脚本时出现“org.openqa.selenium.WebDriverException:未知错误:由于页面崩溃导致会话被删除”错误

2021-10-25
5283

org.openqa.selenium.WebDriverException: unknown error: session deleted because of page crash from unknown error: cannot determine loading status from tab crashed (Session info: chrome=95.0.4638.54)

自从 chromedriver 版本 9395 以来,我一直收到此错误,驱动程序在执行特定步骤定义时崩溃,而有时执行时没有问题,这导致所有其他后续测试失败。

尝试了几个解决方案,例如将标志 --disable-dev-shm-usage 启用到 chromedriver 选项参数,但它不起作用

我正在使用 selenium-java 4.0.0

以下是 Java 中的 Cucumber 步骤和后续方法

然后单击注册应用程序链接

    @Then("^Click on registration application link$")
    public void click_on_registration_application_link() throws Throwable {
        Thread.sleep(3000);
        WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(60));
        WebElement caseManagement = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("TabCS")));
        caseManagement.click();
        Thread.sleep(1000);
        driver.findElement(By.id("tbg_registrationapplication")).click();

    }
2个回答

WebDriverException:未知错误 的原因如下:

  1. chrome 和 chromedriver 版本不匹配
  2. 多个线程使用同一个 chrome 驱动程序
  3. 静态 webdriver 使用不当
  4. 由于 Web 应用程序中大量的 API 调用和数据处理,Chrome 内存变得很高。
  5. 在运行自动化时,我们同时使用 chrome 浏览器。
Jayanth Bala
2021-10-26

由于某种原因,以下代码有效,根本无法弄清楚问题是什么

 @Then("^Click on registration application link$")
public void click_on_registration_application_link() throws Throwable {

    switch_to_frame0();
    thirty.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[contains(text(),'Active Cases in Progress Overview')]"))).isDisplayed();
    switchToDefault();
    Thread.sleep(1000);
    driver.findElement(By.xpath("//*[@id=\"TabCS\"]/a/span")).click();
    Thread.sleep(1000);
    driver.findElement(By.id("tbg_registrationapplication")).click();

}
Maxwell Maragia
2022-06-22