0

我创建了可以在我的桌面上本地运行的 Xamarin.UITest。我的目标是执行这些测试作为构建后脚本的一部分,以便在构建应用程序后运行 UITest,如下文所述:

https://tomsoderling.github.io/AppCenter-Automated-UI-tests-on-build/

下面是我的脚本

appcenter test run uitest --app "MY-APP" --devices 168683d9 --app-path $APPCENTER_OUTPUT_DIRECTORY/MyApp.Mobile.Droid.apk  --test-series "myapp-mobile-test"  --locale "en_US" --build-dir $APPCENTER_SOURCE_DIRECTORY/MyApp.Mobile.UITests/bin/Release --token MY-TOKEN  --uitest-tools-dir $APPCENTER_SOURCE_DIRECTORY/packages/Xamarin.UITest.*/tools

当上面的脚本是我的 appcenter 后期构建脚本的一部分时,我收到以下错误: 错误:找不到 test-cloud.exe,找不到“--uitest-tools-dir”指定的路径。请检查“/Users/vsts/agent/2.141.1/work/1/s/packages/Xamarin.UITest.2.2.6/tools”是否为有效目录并包含 test-cloud.exe。最低要求版本为“2.2.0”。

我认为很多人实际上在处理这个问题时遇到了麻烦,我知道这与 --uitest-tools-dir 或 --build-dir 变量有关。

请记住,我首先尝试使用 Xamarin.Android 执行此操作,如果成功,我将尝试 Xamarin.iOS

我确实看到的一个线索是,Tom 在上面提到的文章中说“我必须选择在我的 App Center CI 构建中构建应用解决方案文件——而不仅仅是像我通常那样的 iOS 项目”,但我不太确定如何这样做或者如果连接到为什么 AppCenter 无法找到我的 test-cloud.exe 我还会说 test-cloud.exe 不知何故来自 Xamarin.UITest nuget,但我在我的Xamarin.Forms 项目。

4

2 回答 2

2

这个答案有效,但它非常脆弱。

test-cloud.exe 不能位于packages/Xamarin.UITest.2.X.X/tools使用旧项目结构的项目(使用 packages.config 的项目)中。对于新项目(新的 .csproj 格式),项目路径中没有这样的文件。我发现让它在 AppCenter 上工作的唯一方法是从 NuGet 包缓存中使用它 ( /Users/vsts/.nuget/packages/xamarin.uitest/2.X.X)

于 2018-11-22T15:13:21.930 回答
0

感谢 AppCenter 代理帮助我解决这个问题。如下所示,需要做 2 件事:Agent Anvesh 说您好,感谢您提供详细信息,所以您似乎在项目中使用 nuget 作为 PackageReference(这意味着您的项目中将没有包文件夹,包将是在用户个人资料中)。因此,当您尝试将测试作为应用中心构建的一部分运行时。然后在 shell 脚本中使用 --uitest-tools-dir 值如下 /Users/vsts/.nuget/packages/xamarin.uitest/2.2.6/lib/tools

所以我修改了上面的脚本以添加以下内容:--uitest-tools-dir /Users/vsts/.nuget/packages/xamarin.uitest/2.2.6/tools \

肖恩特工说所以我添加了下面的 msbuild $APPCENTER_SOURCE_DIRECTORY/MyApp.Mobile.UITestProject.csproj

于 2018-11-06T17:46:25.763 回答