适用于 WPF 的 Appium GUI 测试,如何让它在 Azure 上运行?

Appium GUI-test for WPF, how to get it working on Azure?

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

现在我也在尝试在我的 Azure 管道中这样做。我一直在一开始就遇到同样的错误: "OpenQA.Selenium.WebDriverException: An element could not be located on the page using the given search parameters"

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

这是管道在测试之前的样子:

过去,我在 VisualStudio 中遇到过与此处描述的问题类似的问题,但我已将其抛在脑后。 FindElementByName - Element couldn't be located

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

我读过几次有关代理人的 'interactive mode'。但我在指南中没有看到任何相关内容,而且它似乎适用于自托管代理。我也没有在标准代理上看到任何配置选项。所以我对此感到困惑。

我迷路了

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

非常感谢,我已经在这上面花了很多时间了。

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

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

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

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

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