正在准备 Xamarin iOS 应用
本指南提供了有关准备 Uitest 以便上传到 App Center 测试的说明。 选择要开始的平台。
Xamarin iOS 应用必须将 Xamarin Test Cloud 代理链接到应用的 ipa 文件中。 Xamarin Test Cloud 代理是一种特殊的嵌入式 HTTP 服务器,它允许 Uitest 与 iOS 用户界面进行交互。 Test Cloud 代理通过 NuGet 添加到 iOS 项目。
提示
UITest 也支持非 Xamarin iOS 应用,而不是 Xamarin Test Cloud 代理需要 链接 Calabash。
Visual Studio for Mac
对于 Visual Studio for Mac 中的 iOS 项目,右键单击 " 包 " 文件夹,选择 " 添加包"。 搜索 Xamarin Test Cloud 代理,并单击 " 添加包":

Visual Studio (Windows)
重要
无法在 Windows 上本地执行适用于 iOS 应用的 Uitest。 你仍可以从 Windows 创建、编译和上传到 App Center 测试。
对于 Visual Studio for Windows 中的 iOS 项目,右键单击 "项目",然后从上下文菜单中选择 " 管理 NuGet 包 "。 在 NuGet 包管理器 中搜索 Xamarin Test Cloud 代理 ,然后单击 "确定" 以安装该包:

初始化 Xamarin Test Cloud 代理
将 Xamarin Test Cloud 代理添加到 iOS 项目后,必须在启动 iOS 应用时初始化 Xamarin Test Cloud 代理。 编辑 AppDelegate 类,并将以下代码片段添加到 FinishedLaunching 方法:
#if ENABLE_TEST_CLOUD
Xamarin.Calabash.Start();
#endif
警告
如果提交包含 Xamarin Test Cloud 代理的应用,Apple 将拒绝你的应用。 只有Xamarin Test Cloud配置文件签名的应用才支持此代理。 提交到 App Center 测试时,如果可能,IPA 会自动使用我们的开发预配配置文件之一重新签名。
在条件编译语句中 ENABLE_TEST_CLOUD代码时,Xamarin 链接器将使用 ENABLE_TEST_CLOUD 标志的生成中保留 Xamarin Test Cloud 代理。 通常调试 生成 ,但不 调试发布 版本。 在 Visual Studio 中创建的新 Xamarin.iOS 应用可使用此方法。
生成上传命令
准备好测试套件后,可以 设置测试运行 来上传和运行测试。 该过程将生成如下所示的原型命令行:
appcenter test run uitest --app "MyOrg/MyApp" --devices "MyOrg/MyDeviceSet" --app-path pathToFile.ipa --test-series "main" --locale "en_US" --build-dir pathToUITestBuildDir
命令行需要进行一些修改:
- 必须为 参数 提供路径
--app-path&--build-dir。 - 如果 CLI 无法自动找到它,可能需要指定你使用的 UITest 包:
--uitest-tools-dir /Users/{your username}/.nuget/packages/xamarin.uitest/{UITest version}/tools