问题描述
我正在为 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。你可以通过使用
在 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
- 将 Xamarin 测试云代理包添加到 iOS 项目
- 编辑 AppDelegate 类并将以下代码段添加到 FinishedLaunching 方法中:
Xamarin.Calabash.Start();
请按照以下步骤操作:https://docs.microsoft.com/en-us/appcenter/test-cloud/frameworks/uitest/ios/simulator?tabs=vsmac
我一直被文档弄糊涂了,但现在这对我来说很好用。