首页 > 解决方案 > 适用于 WPF 的 Appium GUI 测试,如何让它在 Azure 上运行?

问题描述

我在 WPF 应用程序上有 2 个简单的 GUI 测试。它们在 VisualStudio 中工作正常。

现在我也在尝试在我的 Azure 管道中这样做。我一开始就一直遇到同样的错误:“OpenQA.Selenium.WebDriverException:使用给定的搜索参数无法在页面上找到一个元素”

基本上我正在沿着这条线工作:WinAppDriver in CI with Azure Pipelines。该示例的一个不同之处在于,我将测试放在了构建管道中,而不是发布管道中。据我所知,这不应该是我的问题的原因,使用相同的 Windows-2019 代理。

这是管道的样子,直到测试:

管道

过去,我在 VisualStudio 中遇到过与此处描述的问题类似的问题,但我已经将这些问题抛在了脑后。FindElementByName - 找不到元素

尽管如此,我还是尝试通过使用 DefaultWait 来改进这些方面。它在 VisualStudio 中运行良好,但在 Azure 上没有帮助我。

我读了几次关于代理的“交互模式”。但我在指南中没有看到任何相关内容,它似乎适用于自托管代理。我也没有在标准代理上看到任何配置选项。所以我对此感到困惑。

我在这里迷路了。

有人能告诉我我错过了什么吗?

将不胜感激,我已经在这方面花费了相当长的时间。

标签: wpfazureappium

解决方案


我花了一段时间才找到必要的信息并将解决方案拼凑起来,结果证明是可行的。

关键是使用交互式代理,它必须是自托管的。对我来说,关键指示是遵循自托管 Windows 代理。这导致在我自己的硬件上安装了一个环境,并且非常简单直接。

这意味着必须使用 Powershell 启动此环境,并可能在图形测试执行时保护它。对于像我这样的单人团队来说这没有问题,对于一个更大的团队来说这可能是一个问题。

另一个优点是整个构建和执行环境现在都在自己的控制之下,以便进行概览和检查。

在 Azure 上推送提交并查看管道进度以及在我自己的硬件上启动图形测试很有趣。


推荐阅读