【发布时间】:2021-12-11 05:08:41
【问题描述】:
org.openqa.selenium.WebDriverException:未知错误:会话已删除 由于未知错误导致页面崩溃:无法确定加载 选项卡中的状态已崩溃(会话信息:chrome=95.0.4638.54)
我收到此错误,因为从 chromedriver 版本 93 到 95,驱动程序在专门执行特定步骤定义时崩溃,而有时它执行时没有问题,这使得所有其他后续测试都失败。
尝试了几个解决方案,例如启用标志 --disable-dev-shm-usage 到 chromedriver 选项参数,但它不起作用
我正在使用selenium-java 4.0.0
下面是java中的黄瓜步骤和后续方法
Then Click on registration application link
@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();
}
【问题讨论】:
-
长时间的睡眠有点奇怪。我假设这里有一个非常缓慢的后端。这实际上可能会使 Selenium 的页面加载超时。 (如果您真的需要在服务器响应之前超过 15 分钟的睡眠,您可以设置它)您可能需要在 driver.findElement 调用之前使用另一个 .get() 。 (假设页面加载超时,需要刷新DOM)
-
后端是 CRM,所以它肯定不是最快的。它没有那么长的睡眠,我只是把它放在看看它是否会有所作为
-
如果 Chrome 在您收到此错误时打开,驱动程序可能会卡在“无人区”。当将驱动程序切换到不同的选项卡/窗口/框架并关闭它们时,可能会发生这种情况。
标签: java selenium automation selenium-chromedriver cucumber