Автоматизация мобильных приложений с SeeTest Automation |
04.04.2017 08:45 |
Автор: Екатерина Батеева, Отдел автоматизированного тестирования, Тинькофф Банк Оригинальная публикация: https://habrahabr.ru/company/tinkoff/blog/324766/ Мир не стоит на месте: еще десять лет назад пользователи выходили в интернет с помощью компьютера, а сегодня по статистике большая часть посещений приходится на мобильную версию сайта или мобильные приложения. Поэтому требования к стабильности и удобству использования этих приложений становятся выше.
Что же выбрали мы? Наше внимание привлекло малоизвестное решение от компании «Experitest» — SeeTest Automation. Это кросс-платорменное решение для тестирования. Система интегрируется с WebDriver (Selenium), HP UFT/QTP, JUnit, Microsoft Visual Studio и другими. SeeTest Automation поддерживает мобильные платформы iOS, Android и Windows, причем как для смартфонов, так и для планшетов. Для подключения устройств используется простой и понятный интерфейс. Нажмите на картинку, чтобы увеличить изображение В интерфейсе есть список добавленных устройств. Для каждого устройства отображается его статус (online/offline), имя и версия операционной системы. Приложения для тестирования устанавливаются через этот интерфейс, и для каждого устройства можно увидеть установленные тестовые приложения и их версию. Нажмите на картинку, чтобы увеличить изображение У подключенных телефонов можно открыть экран и увидеть все происходящее на девайсе. В режиме разработчика девайс реагирует на управление мышью и клавиатурой. Отображение экрана обновляется автоматически в режиме реального времени. Также на экране девайса доступен инспектор (Object Spy), в котором можно посмотреть дерево элементов. Нажмите на картинку, чтобы увеличить изображение От теории к практике Каждый тест создается по следующей схеме:
Нажмите на картинку, чтобы увеличить изображение
В результате прогона формируется отчет, в котором сгруппированы все запущенные тесты. Страница Summary Report содержит статистику по запускам, название, длительность и результат каждого теста, и, если тест упал, то время падения и описание ошибки. В каждый тест можно перейти и посмотреть детальную информацию. По умолчанию все логи внутри одного теста падают подряд одним списком. Но, если тест хоть немного больше обычной авторизации на форме, объект Client имеет функционал для объединения тестов на группы. Группам можно дать внятное описание, их можно раскрывать и сворачивать, что позволяет легче работать с длинными отчетами. Нажмите на картинку, чтобы увеличить изображение Лицензирование и масштабируемость Подключение большого количества устройств ограничено. Для разработки тестов необходимы лицензии разработчика на машину или на каждого конкретного пользователя. Для запуска тестов необходимы агенты (Executor Add-on). Агент не привязан строго к устройству, скорее thread для запуска тестов. Если необходимо задействовать больше пары-тройки устройств, Experitest предлагает использовать их device farm или развернуть локально SeeTestCloud. Cloud позволяет очень удобно мониторить и оперировать подключенными устройствами. Они отображаются в интерфейсе SeeTestAutomation: можно отслеживать какие подключены, какие заняты, доступны в данный момент, можно добавлять и удалять новые устройства. Для устройств, подключенных к Cloud, также можно в online-режиме наблюдать происходящие на телефоне действия. Поддержка Поддержка выгодно отличает платные решения. В SeeTest поддержка — весомый аргумент в пользу выбора именно этого инструмента для тестирования. При любых проблемах с настройкой, развертыванием, обновлением системы можно позвонить в call-центр, и специалисты все разъяснят и покажут. Если при тестировании был выявлен баг фреймворка, уведомите о нем разработчиков, и они создадут задачу на его исправление, сообщив о приблизительных сроках решения задачи. Заключение Когда наша команда искала средство для автоматизации, признаюсь, SeeTest несколько пугал тем, что про него довольно мало известно, и в России он мало распространен. Но, начав использовать его, мы обнаружили, что это хорошее коробочное решение с гибкой конфигурацией под «свои» нужды и большим функционалом. SeeTest позволяет проводить и стандартные, и довольно экзотические манипуляции. Хотя мы все равно продолжаем исследовать open-source решения, пока они не полностью удовлетворяют нашим требованиям. |