Весь код наконец-то работает? Теперь пришло время испытаний! Как это сделать правильно? Тестировать мобильные приложения на одном устройстве неэффективно. Покупка сотен из них приводит к огромным затратам. К счастью, у обеих проблем есть одно решение — AppCenter! Это платформа, которая позволяет вам увидеть, как приложение выглядит и работает на различных устройствах, без необходимости их покупки. Как на Android, так и на iOS. Вы можете быть уверены, что ваше тестирование будет сложным. Я узнал об этой платформе на одном форуме и решил попробовать ее в одном из наших проектов мобильных приложений. Это была первая «ферма устройств», которую я использовал, и с которой я предпочитаю работать.
Чтобы использовать AppCenter, вы должны сначала настроить проект мобильного приложения. Как это сделать? Позвольте мне вести вас!
Перед запуском убедитесь, что вы правильно установили:
Node.js
Visual Studio с подключаемыми модулями, поддерживающими Xamarin UI Test
Проверено? Отлично, давайте перейдем к реальным шагам!
Добавление вашего приложения в AppCenter
Чтобы протестировать свое приложение, вам необходимо создать учетную запись в этой службе Microsoft. После регистрации нажмите Добавить новое -> Добавить новое приложение (в правом верхнем углу). Появится список. Заполните его и снова нажмите Добавить новое приложение
Внимание! Вам нужно сделать этот шаг дважды. Один проект касается устройств с системой Android, а другой — с iOS.
Чтобы запустить приложение, вам необходимо установить appcenter-cli. Сделайте это, запустив командную строку node.js, вставьте:
npm install -g appcenter-cli
и подтвердите нажатием ENTER.
Подготовка проектов к тестам в Visual Studio
Первым шагом в Visual является добавление теста пользовательского интерфейса в наш проект. Для этого щелкните правой кнопкой мыши папку и выберите Добавить.. -> Новый проект. Затем выберите вариант, показанный на рисунке ниже (Visual C# -> Test-> Xamarin.UITest Cross-Platform Test Project), и нажмите «ОК».
Поздравляем! Проект уже добавлен в решения!
Еще один шаг — добавление ссылок на проект с тестами. Для этого нажмите правую кнопку и выберите Добавить -› Ссылки… и добавьте в проект ссылки с Android и iOS.
Затем для проектов Android и iOS и ваших тестов добавьте следующие пакеты NuGet:
Уитест 2.2.2
Microsoft.AppCenter.Analytics
Microsoft.AppCenter.Crashes
NUnit 2.6.4
Вы должны помнить, что для установки дополнительного проекта NuGet для iOS, а именно:
Xamarin.TestCloud.Agent
В настройках Android установите флажок Использовать общую среду выполнения.
В Манифесте Android выберите ИНТЕРНЕТ.
Перейдите к файлу App.xaml.cs. Добавьте туда:
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
В методе OnStart() добавьте строку:
AppCenter.Start("ios={Your iOS App secret here}" + "uwp={Your UWP App secret here};" + "android={Your Android App secret here}", typeof(Analytics), typeof(Crashes))
Следующий файл, который вам нужно отредактировать, это AppDelegate.cs. Добавьте туда (к «использующим»):
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
В метод FinishedLaunching() добавьте следующую строку:
AppCenter.Start("App secret here ", typeof(Analytics), typeof(Crashes));
Наконец, последний файл для модификации — MainActivity.cs! Добавьте к «использованию»:
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
В методе OnCreate() добавляем строку:
AppCenter.Start("App secret here ",
typeof(Analytics),
typeof(Crashes));
Где найти APP SECRET? Он находится в настройках на сайте AppCenter. Он также находится в закладке «Начало работы». Помните, что как для Android, так и для iOS «секрет приложения» будет другим.
Теперь перейдите к файлу Tests.cs и создайте тесты приложения. Закончив писать тесты, скомпилируйте решения и создайте приложение с расширением .apk (Android) или .ipa (iOS).
Внимание! С 31 марта 2018 г. Xamarin Test Recorder недоступен!
https://marketplace.visualstudio.com/items?itemName=XamarinInc.XamarinTestRecorder2015
В iOS нет кнопки Назад. Лучший способ решить эту проблему — принудительно щелкнуть в верхнем левом углу, потому что обычно это расположение кнопки, позволяющей вернуться назад. Для этого используйте TapCoordinates (Single x, Single y). Вы можете получить эти координаты, выключив USB-отладчик и включив дополнительную опцию Показать местоположение указателя.
Запуск тестов в AppCenter
Перейдите на сайт AppCenter. В зависимости от того, какую платформу вы хотите использовать для запуска тестов, выберите соответствующий проект. В боковом меню выберите закладку Тест -> Тестовые прогоны. Затем в правом верхнем углу нажмите Новый тестовый запуск.
Выберите нужные устройства и нажмите Выбрать устройство. В качестве тестовой среды выберите Xamarin.UITest и нажмите Далее.
На втором шаге есть текст, который вы должны скопировать:
appcenter test run uitest --app "xxx/xxx" --devices 7f211345 --app-path pathToFile.apk --test-series "xxx" --locale "en_US" --build-dir pathToUITestBuildDir
Измените pathToFile.apk на «путь» к файлу apk, например:
C:\App\App\ Droid\bin\Debug\App.apk
to
C:\App\App\ UITest\bin\Debug
Затем вставьте эту строку в запущенную командную строку node.js:
appcentertest run
uitest--app "xxx/xxx" --devices 7f211345 --app-path C:\App\App\ Droid\bin\Debug\App.apk --test-series "xxx" --locale "en_US" --build-dir C:\App\App\ UITest\bin\Debug
Тесты запущены, их результаты будут представлены в AppCentre для проверки. Иди и сделай свою работу умнее!
Первоначально опубликовано на servocode.com.