Azure Pipeline 中的简单 Appium 测试 - 如何修复失败的构建步骤 (vstest)?

Posted

技术标签:

【中文标题】Azure Pipeline 中的简单 Appium 测试 - 如何修复失败的构建步骤 (vstest)?【英文标题】:Simple Appium test in Azure Pipeline - how do I fix the failing build step (vstest)? 【发布时间】:2020-08-22 05:56:06 【问题描述】:

鉴于: Appium Windows 应用程序驱动程序 Visual Studio 2019 解决方案 WPF 项目 .Net 4.7.2 单元测试 MSTest .Net 4.7.2 Azure DevOps 管道

我有一个带有“Hello World”标签的 WPF 项目的极简解决方案。在单元测试项目中,我使用 Appium 来测试 Hello World 的存在。非常简单,并且在本地成功运行。

但是,当我在 Azure DevOps 中构建时,我唯一的测试失败了,我不知道为什么。

Microsoft documentation 表示 Microsoft 托管代理已预先配置为运行 Appium 测试。

这是link to my Azure DevOps

【问题讨论】:

【参考方案1】:

以下错误是从 vstest 任务日志中提取的。似乎 WinAppDriver 没有在托管代理中正确启动。

OpenQA.Selenium.WebDriverException: OpenQA.Selenium.WebDriverException: Unexpected error. System.Net.WebException: Unable to connect to the remote server ---> ... at UnitTestProject1.WpfAppSession.Setup() in d:\a\1\s\RsSolution6\UnitTestProject1\WpfAppSession.cs:line 31 at UnitTestProject1.UnitTest1.ClassInitialize(TestContext context) in d:\a\1\s\RsSolution6\UnitTestProject1\UnitTest1.cs:line 20

现在 Azure 市场上有一个专用的 WinAppDriver Pipelines 任务,可帮助您从 DevOps 管道内轻松启用和配置 WinAppDriver。看 WinAppDriver in CI with Azure Pipelines.

在您的组织中安装 WinAppDriver 任务,并将其添加到您的管道中以启动和停止 winappdriver。

- task: Windows Application Driver@0
  inputs:
    OperationType: Start

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: Windows Application Driver@0
  inputs:
    OperationType: Stop

【讨论】:

以上是关于Azure Pipeline 中的简单 Appium 测试 - 如何修复失败的构建步骤 (vstest)?的主要内容,如果未能解决你的问题,请参考以下文章

Azure Devops Pipeline YAML 中的 Git 标记名称

创建自包含部署时如何解决 Azure Devops Pipeline 中的目标问题

需要使用 For 循环而不是 Azure Pipeline Template yaml 中的每个循环

Azure Pipeline - C# 构建项目取决于另一个存储库中的另一个项目

如何在 Azure Pipeline (Windows) 中安装 .msi 程序

Azure Pipeline - 获取关联的 git TAG?