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.

Saiba mais sobre linhas do tempo e alternativas de suporte.

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.