运行 Azure Devops 中 MS Edge 浏览器的量角器 E2E 测试 CI/CD 管道

Running protractor E2E tests for MS Edge browser in Azure Devops CI/CD pipeline

我有一个 angular 应用程序,其中包含使用量角器编写的端到端测试。 我想使用 Azure Devops 管道在 Chrome、Firefox 和 MS Edge (chromium) 浏览器中自动执行这些任务。 我正在使用 webdriver-manager 来管理二进制文件。

Chrome & Firefox 支持无头模式 & 我能够使用 directconnect: true 选项在我的 Azure Devops 管道中获得这些测试 运行ning , 绕过 selenium 服务器。

我一直在努力在 Edge 浏览器中自动化这些测试,因为 webdriver-manager 对无头模式的支持不可用。 在我的本地机器上,我通过执行以下操作启动了一个 selenium 独立服务器 webdriver-manager start --edge "pathToEdgeDriver" & 成功 运行 通过在我的 protractor.conf 文件中指定 seleniumAddress 在 Edge 中进行 e2e 测试。

但是我如何在 Azure Devops 管道中自动化这个 activity。 我正在使用具有交互模式的自托管 Azure 代理。 我在我的项目目录中使用本地安装的量角器。

在我的管道中,我有一个命令行任务,它使用 webdriver-manager start 命令在端口 4444 启动 selenium 服务器。 然而,管道停留在这个任务上并且永远不会前进。可能是在等待 selenium 服务器关闭后再继续。 我还尝试使用 powershell 脚本将 selenium 服务器作为后台任务启动: 启动进程node_modules/protractor/bin/webdriver-manager启动。 这也行不通

管道中的下一个任务是执行量角器测试的命令行任务。

有没有办法实现我在这里尝试做的事情?

编辑:分享我的构建定义。

Azure pipeline build definition for running e2e tests

经过一番挖掘,我得到了这个工作。 webdriver-manager 需要使用 --detach 标志启动,以便 运行 在 Azure DevOps 管道中以可视模式(非无头)进行量角器测试。

webdriver-manager start --edge "pathToEdgeDriver/msedgedriver.exe" --detach