【问题标题】:Selenium webdriver tests stop running after some time of executionSelenium webdriver 测试在执行一段时间后停止运行
【发布时间】:2017-08-12 19:02:40
【问题描述】:

我一直在尝试在 IE 11 和 Chrome 上运行 selenium 测试。在这两种情况下,测试在 25 次奇数测试(总共 350 个 TC)后才停止运行。

配置:Windows 10 pro / 尝试了 32/64 位 IE 驱动程序 / Selenium 3.4.0

在此处完成日志:https://www.scribd.com/document/356096163/Logs

我没有收到任何错误,似乎驱动程序只是冻结了,几分钟后所有其余的 TC 都被跳过了。

注意:我已经完成了 IE 驱动程序所需的所有配置。

【问题讨论】:

  • 没有人会研究数兆字节的日志。请提取显示您的问题的那些并创建一个Minimal, Complete, and Verifiable example
  • @IvanPronin :我知道,这对我来说很糟糕。但是还没有'能够确定任何问题。日志也没有与此相关的任何错误。刚刚附上了整个东西,我想我可能必须有一个小东西。

标签: java google-chrome selenium selenium-webdriver internet-explorer-11


【解决方案1】:

看起来您的问题出在缺席元素上。 在我找到的日志底部(无法从您指定的站点复制粘贴日志)

org.openqa.selenium.TimeoutException

使用FluentWait.until 方法时会引发异常-因此,该方法没有找到id=sortable 的元素。 该异常会阻止其他测试进行,因为它没有被捕获。 将其包裹到try-catch 块中

【讨论】:

  • 它没有帮助。
【解决方案2】:

查看您的日志,Selenium webdriver tests stop running after some time of execution 的主要原因似乎是因为您的脚本有时会遇到以下异常:

org.openqa.selenium.NoSuchElementException

这是因为,在轮询HttpClientConnection 时,检测到 Connection 已释放 状态,total keep alive: 0,因此预期条件设置为visibilityOfElementLocated(By.xpath("xpath")在扔:

org.openqa.selenium.TimeoutException

作为 WebDriverWait 的一部分的 ExpectedConditions 失败了,因此您下一步对所需元素也采取了一些行动 FAILED 但有:

org.openqa.selenium.NoSuchElementException

解决方案:

您的问题的解决方案可能是将http-outgoing 连接配置为在一段时间内保持keep alive,以便 Selenium 可以执行其配置的操作。

【讨论】:

  • 你能帮我看看我在哪里可以设置http-outgoing的值来保持活力吗?