【问题标题】:WebDriverException: unknown error: MSEdge failed to start: was killedWebDriverException:未知错误:MSEdge 无法启动:被杀死
【发布时间】:2021-10-29 14:22:50
【问题描述】:

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

EdgeDriverInitialize 抛出异常。 OpenQA.Selenium.WebDriverException: OpenQA.Selenium.WebDriverException:未知错误:MSEdge 未能 开始:被杀。 2021-10-29T09:52:23.5882844Z(未知错误: DevToolsActivePort 文件不存在)2021-10-29T09:52:23.5883689Z
(进程从 msedge 位置 C:\Program Files 开始 (x86)\Microsoft\Edge\Application\msedge.exe 不再运行,所以 MSEdgeDriver 假设 MSEdge 已崩溃。)。中止测试 执行。

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

我试过了

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

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

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

在端口 57341 上启动 MSEdgeDriver 95.0.1020.30 (09f7018e2a65a55dea3a0a261efca40ae03471ed)

【问题讨论】:

  • 出现此错误的原因有几个。我将首先检查 CD 正在运行的服务器上的资源,并且您的配置文件具有启动浏览器所需的属性。
  • 有足够的 RAM、CPU、磁盘空间。包括边缘在内的所有其他进程都运行良好。你指的是什么配置?我应该检查什么配置?

标签: c# selenium-webdriver selenium-edgedriver


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我遇到了与 @Anya Mishota 相同的问题,我们的 Gitlab 运行器边缘测试已开始因此错误而失败。

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

    但是,使用版本 95 在本地用户(具有管理员权限)上运行测试工作正常。 Gitlab 运行器是使用本地系统帐户的服务。以管理员帐户运行服务解决了这个问题!

    【讨论】:

    • 这很有趣而且很糟糕,因为我不想以管理员身份运行我的测试:O
    • 很公平,也许您可​​以尝试更改本地用户的帐户角色/权限,看看是否也有效。
    猜你喜欢
    • 2018-02-07
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    相关资源
    最近更新 更多