如何在 Mac 上使用 Visual Studio 为 iOS 运行 Xamarin.UITests

问题描述

我正在为 Xamarin.Forms 跨平台应用编写自动化 UI 测试。我已经使用 Xamarin.UITests 为 Android 实现了测试,以便在 App Center 中运行它们。现在我也想为 iOS 执行这些测试,而且我已经发现这在 Windows 上是不可能的。所以我在 Mac 上切换到 Visual Studio。 Xamarin.UITest 的文档给出了如何使用 Calabash (https://docs.microsoft.com/en-us/appcenter/test-cloud/frameworks/uitest/ios/) 通过 XCode 使用 Xamarin.UITest 运行测试的说明,但我无法弄清楚如何将这些信息用于我已经实施的项目在 Visual Studio 中。

关于如何通过 MAC 上的 Visual Studio 在 iOS 上为 Xamarin.Forms 应用程序运行 UITest 的任何建议、想法或方法?甚至有可能吗? 如有任何建议,我将不胜感激。

解决方法

此配置仅在 AppInitializer 文件中有所不同。

 public static IApp StartApp(Platform platform) 
{ 
     return ConfigureApp.iOS 
                               .EnableLocalScreenshots() 
                               .DeviceIdentifier("4C379ADB-648B-4683-9B85-A96E9162A38C") 
                               .InstalledApp("com.MyProject.SampleUITesting") 
                               .StartApp(); 

}

此处,4C379ADB-648B-4683-9B85-A96E9162A38C - 定义您的模拟器 ID。你可以通过使用

enter image description here

在 Xcode Window 菜单中,选择 Devices,and Simulators。

InstalledApp("com.MyProject.SampleUITesting") - 定义您的包名称。

,

我通过在 MacOS 上使用 Visual Studio for Mac 基本上按照以下步骤解决了这个问题:https://docs.microsoft.com/en-us/appcenter/test-cloud/frameworks/uitest/ios/upload

  1. 将 Xamarin 测试云代理包添加到 iOS 项目
  2. 编辑 AppDelegate 类并将以下代码段添加到 FinishedLaunching 方法中:Xamarin.Calabash.Start(); 请按照以下步骤操作:https://docs.microsoft.com/en-us/appcenter/test-cloud/frameworks/uitest/ios/simulator?tabs=vsmac

我一直被文档弄糊涂了,但现在这对我来说很好用。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...