Xamarin.UITest AppCenter Не удается найти test-cloud.exe - PullRequest
0 голосов
/ 03 ноября 2018

Я создал 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

Одна подсказка, которую я вижу, - это когда Том говорит, что «я должен был создать файл решения приложения в моей сборке CI App Center - не просто проект iOS, как обычно», но я не совсем уверен, как это сделать, или если это связано с тем, почему AppCenter не может найти мой test-cloud.exe, я также скажу, что test-cloud.exe каким-то образом происходит из нюгета Xamarin.UITest, но я не вижу ни одного test-cloud.exe файл в моем проекте Xamarin.Forms.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Этот ответ работает, но он довольно хрупкий.

Файл test-cloud.exe не может быть расположен по адресу packages/Xamarin.UITest.2.X.X/tools в проектах, использующих старую структуру проекта (проекты, использующие package.config). Для новых проектов (новые форматы .csproj) такого файла в пути проекта нет. Единственный способ заставить его работать в AppCenter - использовать его из кэша пакетов NuGet (/Users/vsts/.nuget/packages/xamarin.uitest/2.X.X)

0 голосов
/ 06 ноября 2018

Спасибо агентам AppCenter за помощь в решении этой проблемы. Потребовалось 2 вещи, как указано ниже: Агент Анвеш говорит Привет, спасибо за подробности. Похоже, что вы используете nuget в качестве PackageReference в вашем проекте (это означает, что в вашем проекте не будет папки пакета, пакеты будут там в профиле пользователя). Поэтому, когда вы пытаетесь запустить тест как часть сборки центра приложений. Затем в сценарии оболочки использовалось значение --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

...