Весь код наконец-то работает? Теперь пришло время испытаний! Как это сделать правильно? Тестировать мобильные приложения на одном устройстве неэффективно. Покупка сотен из них приводит к огромным затратам. К счастью, у обеих проблем есть одно решение — 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:

appcenter test 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.