WebDriverException: unknown error: MSEdge failed to start: was killed

WebDriverException: unknown error: MSEdge failed to start: was killed

当我想 运行 我的 selenium UI 测试在我的 CD 管道中用 C# 编写时,我得到

EdgeDriverInitialize threw exception. OpenQA.Selenium.WebDriverException: OpenQA.Selenium.WebDriverException: unknown error: MSEdge failed to start: was killed. 2021-10-29T09:52:23.5882844Z (unknown error: DevToolsActivePort file doesn't exist) 2021-10-29T09:52:23.5883689Z
(The process started from msedge location C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe is no longer running, so MSEdgeDriver is assuming that MSEdge has crashed.). Aborting test execution.

问题是:我如何找出问题所在?

我试过了

  1. 更新驱动程序以匹配 Edge 版本
  2. 手动打开 Edge,它打开没有问题
  3. 检查事件日志 - 在应用程序日志中我没有看到任何与 Edge 或 WebDriver 相关的内容

我注意到,当我手动 运行 msedgedriver.exe 时,它开始在端口 9515 上监听。

但是在我的 CD 管道中我看到:

Starting MSEdgeDriver 95.0.1020.30 (09f7018e2a65a55dea3a0a261efca40ae03471ed) on port 57341

我也遇到了这个问题。在本地或远程计算机上,当 运行ning 测试时,浏览器打开并且测试通过。 但是当 Jenkins 运行ning 测试时,日志中出现“devToolsActivePort 文件不存在”错误。 虽然,Chrome 和 Firefox 的测试没有问题。 问题仅针对 Edge 浏览器。我们有一个主 Jenkins 和执行测试的幻灯片。 原来Edge上的测试不能在本地系统账户下运行。 测试在 Jenkins 的本地系统帐户下 运行。 为了解决这个问题,我创建了一个新的本地用户(称为 Jenkins)并授予他对每个奴隶的管理员权限, 然后在 Jenkins 用户下启动 Jenkins-slave 服务。现在测试 运行 并成功通过。

我遇到了与@Anya Mishota 相同的问题,我们的 Gitlab runner edge 测试开始失败并出现此错误。

我发现在 Edge 更新到版本 95 后开始出现这种情况。将 Edge 回滚到版本 94 并且测试工作正常。

但是,运行 对本地用户(具有管理员权限)的 95 版测试运行良好。 Gitlab runner 是使用本地系统帐户的服务。 运行 作为管理员帐户的服务解决了这个问题!