【发布时间】:2021-10-19 14:32:26
【问题描述】:
在过去几周尝试使用 Selenium (Chrome 92) 运行 UI 测试时,我一直在与以下错误作斗争:
WebDriverException unknown error: net::ERR_CONNECTION_RESET. (Session info: chrome=92.0.4515.107)
这种情况最常发生在尝试使用 XPath 定位 HTML 元素时。
最初,我添加了一个重试循环来检查 WebDriverException 是否被抛出 3 次,如果是,则回收 IWebDriver 并重试(通过 IWebDriver.Quit() 和 IWebDriver.Dispose()。这并不能解决问题, 超过重试限制后我的应用程序也不会重新启动. 因此, 我开始认为这是系统级别的问题 (Windows Server 2016). 即使重新启动也不能总是解决问题 - 当它开始失败了,它完全冻结了,我最终不得不完全重建环境。
我正在使用 Selenium WebDriver NuGet v92.0.4515.4300;我意识到这与上面列出的版本完全并不相同,但拥有完全相同的版本并不能解决问题。
我知道“未知错误”是含糊的。有没有人对可能导致问题的原因提出建议?
提前致谢。
编辑:在这里发布浏览器参数,而不是将它们塞进评论中。我忘了提,有一个 Fiddler 实例,我们在本地系统上作为代理运行,并与一些测试结合使用。它以测试应用程序开始和结束。
在创建 Chrome 实例时注入以下选项:
--user-data-dir=C:\temp\{uniquedir}options.AddUserProfilePreference("credentials_enable_service", false);options.AddUserProfilePreference("profile.password_manager_enabled", false);
这些是通过 Selenium 作为命令行参数添加的:
--lang=en-GB--ignore-certificate-errors--no-experiments--disable-translate--disable-plugins--enable-logging--no-sandbox--dns-prefetch-disable--disable-gpu--disable-field-trial-config
(我们正在进行一些与安全相关的检测,因此禁用了证书错误。)
【问题讨论】:
-
如果您使用代理服务器,或者有时如果您无头运行驱动程序,则可以看到这一点。您可以发布您的驱动程序参数吗?
-
@K.B.感谢您的回复 - 我将它们添加为对原始帖子的编辑,因为它们可能是相关的并且不适合这个空间。而且,还有一个代理。
-
对我来说最可疑的是 Fiddler 代理。如果 Fiddler 停止,错误是否可重现?
-
这是一个旧代码库,所以我需要一些时间来重构和替换需要代理完成的事情。完成并测试后,我可以立即报告更多。不过,我通常会同意您的看法,但奇怪的是,随着我们迁移到较新的 Chrome 版本(v86 没有问题),这开始起作用了。
标签: c# selenium selenium-webdriver chrome-web-driver