首页 > 解决方案 > 无法运行 EdgeDriver 自动化测试:Azure DevOps 的 VsTest VM 在默认安装位置没有 Edge 二进制文件?

问题描述

我正在使用 VsTest 任务在 Azure DevOps 中运行自动化套件。该管道在 Windows 2019 机器上运行。

我想添加针对 Edge 运行测试的选项。

在本地,我使用 Edge 版本 79 的 msedgedriver.exe 二进制文件,使用以下代码:

    var service = EdgeDriverService.CreateDefaultService(PageState.AssemblyDirectory,
                      @"msedgedriver.exe");
    service.UseVerboseLogging = true;
    service.UseSpecCompliantProtocol = true;
    service.Start();
    var caps = new DesiredCapabilities(new Dictionary<string, object>()
    {
         { "ms:edgeOptions", new Dictionary<string, object>() {
               {  "binary",  @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" }
          }}
     });
     IWebDriver _driver = new RemoteWebDriver(service.ServiceUrl, caps);

在 Azure DevOps 管道中运行测试时,出现以下错误:

[error] [ERROR] unknown error: no msedge binary at C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

有没有其他人遇到过这个问题?你是怎么解决的?这是虚拟机 VsTest 在旧版本的 Edge 上运行我的套件的情况吗?

干杯,

贝丝

tldr:无法弄清楚如何在 Azure 管道中的 Edge v.79 (Chromium) 上运行测试。

标签: c#automated-testsvirtual-machinevstestselenium-edgedriver

解决方案


以下有帮助吗?

var edgeOptions = new EdgeOptions();
var msedgedriverDir = @"D:\Software";
var msedgedriverExe = @"msedgedriver.exe";
var service = EdgeDriverService.CreateDefaultService(msedgedriverDir, msedgedriverExe);
var driver = new EdgeDriver(service, edgeOptions);
driver.Navigate().GoToUrl("https://bing.com");
Thread.Sleep(2000);
driver.Close();
service.Dispose();

推荐阅读