Erros de carregamento do Xamarin.UITest test-cloud.exe
Importante
O Visual Studio App Center está programado para ser desativado em 31 de março de 2025. Embora você possa continuar a usar o Visual Studio App Center até que ele seja totalmente desativado, há várias alternativas recomendadas para as quais você pode considerar a migração.
Quando você envia uma execução de teste do Xamarin.UITest para o Teste do App Center, o appcenter
comando usa test-cloud.exe
do pacote NuGet Xamarin.UITest. Se o appcenter
comando não conseguir localizar esse executável ou encontrar uma que seja uma versão diferente da usada para compilar os testes, ele não carregará a execução de teste e você receberá um erro.
O comando usa uma heurística para localizar test-cloud.exe. Algumas configurações de projeto ou NuGet podem resultar em appcenter
não encontrá-lo e relatar o Cannot find test-cloud.exe
erro ou localizar o errado e aconselhar UITest.dll and the tools are incompatible
.
Soluções
Recompilar
A recompilação é sempre um bom começo para solução de problemas.
Se você não reconstruiu o projeto UITest depois de alterar a versão do pacote Xamarin.UITest, limpo, recompile e tente o appcenter test run uitest ...
comando novamente.
Especificar manualmente o diretório de ferramentas UITest
Observação
A versão do Xamarin.UITest usada para o upload deve ser uma correspondência exata com a versão usada para compilar seus testes.
Se isso não resolver o problema, a solução será adicionar a opção --uitest-tools-dir
ao seu comando, apontando para o tools
diretório que tem o direito test-cloud.exe
.
Mas onde está test-cloud.exe?
test-cloud.exe
está dentro do pacote Xamarin.UITest. Para localizar esse pacote, marcar a configuração do caminho de propriedades > para Xamarin.UITest no Explorer do Projeto do Visual Studio.
Visual Studio para Mac
Referências de pacotes >> Xamarin.UITest (ctrl+clique ou clique com o botão direito do mouse) > caminho das propriedades >
Visual Studio
> Gerenciador de Soluções referencia > o caminho das propriedades > Xamarin.UITest (clique com o botão direito do mouse) >
Esse caminho apontará para o Xamarin.UITest.dll
e será semelhante a (no Mac):
/Users/user/.../PROJECT/packages/Xamarin.UITest.3.0.7/lib/net45/Xamarin.UITest.dll
A pasta de ferramentas correspondente para --uitest-tools-dir
seria:
/Users/user/.../PROJECT/packages/Xamarin.UITest.3.0.7/tools/
Verifique se essa pasta existe e se tem test-cloud.exe
.
Adicione isso ao comando de execução de teste (sem quebra de linha)
--uitest-tools-dir "/Users/user/.../PROJECT/packages/Xamarin.UITest.3.0.7/tools/"
Em vez disso, você pode usar um caminho relativo com base no local em que está executando o appcenter
comando.
Serviço de build remoto
Se os pacotes estiverem instalados no computador de build, mas você não souber onde e não puder usar o Visual Studio para marcar o local, você poderá usar um método de força bruta para encontrar os test-cloud.exe
arquivos em seu computador (talvez seja necessário variar as pastas ou unidades iniciais para pesquisar):
dir d:\test-cloud.exe/s (Windows) find/-name test-cloud.exe (Mac)
Se os pacotes NuGet não estiverem instalados até que o projeto seja compilado, você poderá executar um método de força bruta durante o build para localizar o pacote Xamarin.UITest.
Se tudo falhar, você poderá baixar manualmente o pacote Xamarin.UITest do NuGet, descompactá-lo e adicionar test-cloud.exe ao projeto em um local conhecido.