无法在 Azure 管道中使用 WinAppDriver 与 GUI 元素交互

问题描述 投票:0回答:1

我是 Appium 和 WinAppDriver 的新手。我使用 .NET MAUI blazor webview 在不同平台(IOS、Andriod 和 Windows)中创建应用程序,因此不在 XAML 中创建应用程序。我尝试使用 WinAppDriver 和 Appium 在 NUnit 中编写 UI 测试,并自动在 Azure DevOps 管道中运行 Windows 应用程序的 ui 测试,借鉴于 此 Microsoft 文档

ui 测试在本地 Visual Studio 中运行完美。 (它可以与 FindElementByXPath、FindElementByClassName 或 FindElementByAccessibilityId 一起正常工作)但是,它无法在管道中工作并给出错误:“使用给定的搜索参数无法在页面上找到元素。”我已经尝试了几种方法,例如最大化窗口、更改分辨率、在设置方法中完全重置、等到元素显示或可单击,但仍然不起作用:(

应用程序中的小业务逻辑:当用户第一次打开应用程序(干净的应用程序)时,它会进入注册页面,注册后,用户数据将被保存,下次用户打开应用程序时,它将进入登录页面,登录后,下次直接打开主页等等。该应用程序将缓存用户数据并决定用户可以直接访问哪个页面。

为了解决导致此问题的原因,管道中仅运行了 1 个 ui 测试(测试注册页面),但仍然失败。因此,我有这样的想法:在管道中,运行测试时的页面在某种程度上不是注册页面(如果我错了,请纠正我)或者它在注册页面中,但它仍然找不到该元素。

有什么想法吗?当然,如果需要的话我可以提供一些详细的代码片段。

azure-pipelines appium maui-blazor winappdriver gui-testing
1个回答
0
投票

在管道测试过程中记录 en 截取正在进行的屏幕截图后,我返回了答案。在管道中,它只需要比本地更多的时间来渲染页面以定位元素。解决方案是使用超时函数来等待,直到找到该元素。查看相关解决方案这里

所以我会结束这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.