c# - 无法运行 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) 上运行测试。
解决方案
以下有帮助吗?
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();
推荐阅读
- visual-studio - 使用 Exchange Web 服务从 Visual Studio 发送电子邮件
- iis - 我无法使用域名在其他计算机上访问我的网站,但可以使用 IP 地址访问
- c - mpfr_init2 精度
- c# - Shell:appsFolder 在未安装 App 时显示 Windows 资源管理器
- python - 我正在尝试通过标签将变量插入到 url
- azure-functions - Azure Functions 对摄取数据进行重复数据删除
- flutter - Flutter 在 main.dart 文件中添加提供者的更好方法
- node.js - 使用 NodeJS 的 Firebase 网络推送通知不起作用
- javascript - 如果差异值,为什么 .toFixed 工作不一样?
- javascript - 嵌套 JSON 对象的简单迭代