首页 > 解决方案 > 使用 appoum 进行 Xamarin.forms UI 测试

问题描述

我正在开发一个用 C# 编写的应用程序,我正在尝试运行一些简单的 UI 测试场景。该应用程序是 Xamarin 表单应用程序,具有 Android 和 iOS 子项目。我还添加了一个 UWP 子项目。
当我在调试模式下运行它们时,所有 3 个应用程序都可以工作。

我还添加了一些简单的 UI 测试。对于这些简单的 UI 测试,我想使用 Appium。
当我运行 UI 测试时,它们确实有效。至少在安卓上。当 Visual Studio 尝试为 UWP 应用运行 UI 测试时,应用会启动并关闭。
运行测试方法时,需要选择一些元素。这适用于 Android 和 iOS,但不适用于 UWP。
在测试方法中,我尝试通过以下方式找到元素:

appiumDriver.FindElementByAccessibilityId("Login");

正如我所说,当 Android UI 测试运行时,appium 可以找到这个元素。当 appium 运行 UWP UI 测试时,appium 找不到元素。
通过运行 inspect.exe 实用程序来检查 UWP 应用程序,我确实看到没有“AccessAbilityId”元素,只有一个“名称”元素。但是,当我使用 Appium 检查器实用程序检查它时,这个“名称”元素在 android 应用程序中不存在。在 Android 应用程序中,只有“AccessAbilityId”或 xpath 可用。

所以我在考虑2个解决方案。

  1. 为 Android/iOS 和 UWP 编写单独的 UI 测试。
  2. 确定正在测试的应用程序是否为 UWP,如果是,则查找如下元素:
appiumDriver.FindElementByName("Login");

什么可能的解决方案会更好?
如何确定应用程序是否为 UWP?

提前致谢。

标签: appiumappium-android

解决方案


推荐阅读