Xamarin.UITest AppCenter找不到test-cloud.exe

时间:2018-11-03 03:04:27

标签: xamarin visual-studio-app-center xamarin.uitest visual-studio-app-center-test

我创建了可以在桌面上本地运行的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 post build脚本分开时,出现以下错误: 错误:找不到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

我看到的一个线索是,汤姆在上述文章中说“我必须选择在App Center CI构建中构建应用解决方案文件-不仅仅是像通常那样的iOS项目”,但我不太了解确定如何执行此操作,或者是否与AppCenter无法找到我的test-cloud.exe的原因有关,我还要说test-cloud.exe某种程度上来自Xamarin.UITest nuget,但是我看不到任何test-cloud.exe我的Xamarin.Forms项目中的文件。

2 个答案:

答案 0 :(得分:0)

感谢AppCenter代理帮助我解决此问题。需要做以下两件事: 安维什特工说 嗨,谢谢您的详细信息,看来您在项目中正在使用nuget作为PackageReference(这意味着您的项目中将没有package文件夹,而在用户配置文件中将有package)。 因此,当您尝试将测试作为App Center构建的一部分运行时。然后在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

答案 1 :(得分:0)

此答案有效,但非常脆弱。

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