Xamarin.UITest test-cloud.exe上传错误

将 Xamarin.UITest 测试运行提交App Center测试时,该命令使用 appcenter test-cloud.exe Xamarin.UITest NuGet 包中的 。 如果命令找不到该可执行文件,或者它找到的版本与用于生成测试的版本不同,则它不会上传测试运行,并且你收到 appcenter 错误。

该命令使用启发式方法查找test-cloud.exe。 某些项目或 NuGet 设置可能会导致找不到它并报告错误,或找到错误的项目或 appcenter Cannot find test-cloud.exe NuGet 设置并建议 UITest.dll and the tools are incompatible

解决方案

重新生成

重新生成始终是故障排除的良好开始。

如果在更改 Xamarin.UITest 包版本后尚未重新生成 UITest 项目,请清理、重新生成并重试 appcenter test run uitest ... 命令。

手动指定 UITest 工具目录

备注

用于上传的 Xamarin.UITest 版本必须与用于生成测试的版本完全匹配。

如果这不能解决问题,则解决方案是向命令添加 选项,指向具有 --uitest-tools-dir tools 正确 的目录 test-cloud.exe

但是,test-cloud.exe?

test-cloud.exe 在 Xamarin.UITest 包中。 若要查找该包,请在">资源管理器"中检查 Xamarin.UITest Visual Studio路径设置。

Visual Studio for Mac

引用> Xamarin.UITest > Xamarin.UITest (Ctrl+单击或右键单击) >属性>路径

Visual Studio

解决方案资源管理器 >引用 > Xamarin.UITest (右键单击) >">属性"

此路径将指向 Xamarin.UITest.dll ,其外观 (Mac) :

/Users/user/.../PROJECT/packages/Xamarin.UITest.3.0.7/lib/net45/Xamarin.UITest.dll

对应的 tools 文件夹 --uitest-tools-dir 为:

/Users/user/.../PROJECT/packages/Xamarin.UITest.3.0.7/tools/

请确保此文件夹存在且具有 test-cloud.exe

将此代码添加到测试运行命令, (换行符)

--uitest-tools-dir "/Users/user/.../PROJECT/packages/Xamarin.UITest.3.0.7/tools/"

可以改为根据命令的运行位置使用相对 appcenter 路径。

远程生成服务

如果包安装在生成计算机上,但不知道在何处且无法使用 Visual Studio 检查位置,可以使用暴力破解方法查找计算机上的文件 (可能需要更改起始文件夹或驱动器以搜索 test-cloud.exe) :

dir d:\test-cloud.exe/s (Windows) find / -name test-cloud.exe (Mac)

如果在项目生成之前未安装 NuGet 包,可以在生成期间执行一个暴力破解方法以查找 Xamarin.UITest 包。

如果所有其他操作都失败,可以从 NuGet 手动下载 Xamarin.UITest 包,将其解压缩,test-cloud.exe添加到项目中的已知位置。