Поиск по сайту:

Тестируйте свои мобильные приложения на каждой платформе с помощью AWS DeviceFarm


Одной из многих проблем разработки приложений для мобильной аудитории является тестирование вашего приложения — с таким количеством различных устройств вы обычно ограничены тем, что у вас есть под рукой. AWS DeviceFarm упрощает этот процесс.

Что такое DeviceFarm?

Концепция DeviceFarm довольно проста. AWS тратит деньги на покупку множества устройств (в настоящее время в их библиотеке находится более 2500) и сдает их в аренду всякий раз, когда кому-то нужно их использовать. Вы можете подключиться к устройству напрямую и взаимодействовать с ним, как если бы вы использовали эмулятор устройства, но с реальным оборудованием на другом конце.

Хотя вы можете подключаться к отдельным устройствам и тестировать устройства, которых у вас нет, реальным преимуществом DeviceFarm является автоматизация. Это позволяет вам запускать автоматические тесты пользовательского интерфейса с помощью среды тестирования Appium для одновременного тестирования ваших приложений на нескольких устройствах. DeviceFarm записывает экран и входные данные каждого автоматизированного теста, поэтому вы можете зайти и просмотреть, что пошло не так, если возникнут какие-либо ошибки.

DeviceFarm взимает плату в зависимости от количества использованных минут по ставке 0,17 доллара США за минуту использования устройства. Это число умножается на количество устройств, на которых вы тестируете, если вы запускаете автоматические тесты.

Если вы проводите много тестов и хотите воспользоваться преимуществами инструментов автоматического тестирования DeviceFarm, вы можете приобрести неограниченное использование по цене 250 долларов США в месяц для каждого устройства. Это целесообразно только в том случае, если вы проводите более 24 часов тестирования в месяц на одном устройстве, что является большим количеством часов для выполнения тестов, но это может быть полезно для некоторых корпоративных клиентов.

Нужно ли тестирование на устройстве?

DeviceFarm поддерживает нативные приложения, гибридные приложения и полные веб-приложения. Преимущества варьируются в зависимости от того, какое приложение вы разрабатываете.

Нативные мобильные приложения определенно нуждаются в постоянном тестировании на устройстве. Хотя XCode предоставляет эмуляторы iOS, они не всегда будут идеальными, и вы обнаружите множество ошибок при тестировании на реальном оборудовании.

Гибридные приложения немного отличаются. В эту категорию входят приложения, созданные с помощью таких фреймворков, как React Native; большая часть кода приложения написана на JavaScript, что значительно упрощает создание веб-приложения и соответствующего мобильного приложения, поскольку можно совместно использовать большой объем кода. Однако вместо рендеринга в браузере гибридная платформа позволяет отображать нативные компоненты в JSX, повышая производительность гибридных приложений.

С гибридными приложениями вам не нужно будет так много тестировать на устройстве, так как почти весь нативный код обрабатывается в библиотеке. Однако вы все равно можете столкнуться с ошибками между эмулируемыми и реальными устройствами, и вам все равно следует проводить тестирование на устройстве.

С веб-приложениями вы можете по большей части отказаться от тестирования на устройстве; Safari для настольных компьютеров использует тот же движок рендеринга WebKit, что и браузеры iOS, поэтому вы не найдете больших различий между ними. И в Chrome, и в Safari есть инструменты для тестирования адаптивного дизайна. Если вы откроете инструменты разработчика, вы сможете выбрать одно из нескольких разрешений устройства, чтобы просмотреть, как работает ваш сайт.

Хотя это не эмулирует устройство, а только разрешение, большинство ошибок рендеринга в любом случае связаны с жесткими мобильными ограничениями.

Хотя это не так необходимо для веб-приложений, мы все же рекомендуем вам дважды проверить свой сайт на реальных устройствах, чтобы убедиться, что работа работает гладко и без ошибок. Вам может не понадобиться DeviceFarm для этого, но это хорошо, если у вас нет большого разнообразия устройств под рукой.

Как начать работу с DeviceFarm

Перейдите в консоль DeviceFarm и введите новое название проекта. Ручной доступ настроить проще, поэтому начните с него. Нажмите на вкладку «Удаленный доступ» и создайте новый сеанс.

Отсюда вы можете выбрать устройство для подключения. Доступность этих устройств может зависеть от того, кто их использует в данный момент, но, похоже, существует широкий спектр типов устройств, из которых можно выбирать.

Создайте новый сеанс, и примерно через минуту вас встретит главный экран. Соединение не идеальное (примерно эквивалентно стандартному просмотру удаленного рабочего стола), но его достаточно для проведения базового тестирования. Ваша клавиатура должна подключаться к устройству, если вы сосредоточены на нем, что упрощает набор текста.

Отсюда, если вы отлаживаете веб-приложение, вы можете открыть его прямо в браузере. Если вы отлаживаете приложение, которое необходимо установить, вы можете загрузить файл .apk или .ipa из раскрывающегося списка «Установить приложения» на боковой панели. Это установит ваше приложение на устройство для тестирования. Если вы неоднократно тестируете несколько устройств, вы можете выбрать из раскрывающегося списка последние загрузки, а не загружать их снова.

Для автоматизированного тестирования процесс немного отличается. Вам нужно вернуться к консоли и вместо этого создать новый запуск на вкладке «Автоматическое тестирование»:

Здесь выберите тип приложения, которое вы разрабатываете, и загрузите файл .apk или .ipa , если вы разрабатываете нативное или гибридное приложение.

Затем загрузите свои тесты. DeviceFarm поддерживает платформу автоматизации Appium для запуска тестов пользовательского интерфейса как в веб-приложениях, так и в нативных. Для нативных приложений встроенный тестер «Fuzz» может случайным образом щелкать и проверять на наличие ошибок.

После этого выберите все устройства, на которых вы хотите выполнить тестирование. По умолчанию DeviceFarm выбирает пять самых популярных устройств, но вы можете создать свой собственный пул устройств.

Теперь вас попросят указать максимальное количество минут, в течение которых вы хотите, чтобы устройства работали, и AWS может показать вам общее количество в зависимости от количества устройств, которые вы тестируете параллельно. Это будет максимальная стоимость, которую вы заплатите, но если ваш тест завершится раньше, с вас не будет взиматься плата.