monkey talk - кросс-платформенное средство автоматизации...
DESCRIPTION
Презентация Владислава Акулича на SQA Days-16 14-15 ноября 2014, Санкт-Петербург, Россия www.sqadays.comTRANSCRIPT
Monkey Talk – кроссплатформенное
средство автоматизации
тестирования мобильных
приложений, опыт внедрения
Владислав Акулич
DPI Solutions
ISSoft / Coherent Solutions
О себе
Владислав Акулич
QA Automation консультант
DPI Solutions
ISSoft / Coherent Solutions
Мы рассмотрим
• Особеноости Monkey Talk
• Нюансы разработки тестов под iOS и
Android
• Интеграция Monkey Talk с «облаком»
• Сравнительный анализ
Что же такое Monkey Talk
• Инструмент Автоматизации
Тестирования мобильных приложений
• Open source
• От простых «Smoke» тестов до сверх
сложных приемочных тестов
Среда разработки
Локаторы в Monkey Talk
Component Tree -
анализирует
структуру
приложения,
присваивая каждому
элементу MonkeyID
(абстракция,
инкапсулирующая
специфический для
платформы локатор).
Отчеты в Monkey Talk IDE
Агенты
• Чтобы начать тестирование мобильных
приложений - нужно внедрить в их
исходный код специальные
библиотеки.
• Затем устаноить обновленное
приложение на устройство.
Разарботка тестов
• Record \ Play решение
• DSL
• JavaScript API
• Java API
Record \ Play тест
JavaScript API тест
DSL тест
Java API
• Доступно с версии 1.0.58
• Monkey Talk тесты в стиле привычных
JUnit Java тестов
• Используйте Java на полную катушку
Monkey Talk Java тест
Один тест на две платформы
Неэффективная, но, к сожалению, столь частая, модель
организации тестирования
Тест Тест
Один тест на две платформы
Тренд
Тест
Один тест - две платформы
Для этого нужно следующее:
• Java API
• JUnit (параметризированные аннотаций)
Один тест - две платформы
Инициализация драйвера Monkey Talk
Один тест - две платформы
Настройка драйвера
Один тест на две платформы
Создаём тестовый класс с аннтонацией
@RunWith
Один тест на две платформы
Добавляем статический метод с
аннотацией @Parameters
Один тест на две платформы
Теперь можем приступать к написанию
тестов:
Один тест на две платформы
Для написания кросс платформенных тестов iOS \
Android специфика инкапсулируется в процедурном или
ООП стиле
Один тест - две платформы
В итоге мы получаем:
Monkey Talk и облака
Monkey Talk имеет собственное облако, которое
поддерживается в PRO версии продукта:
https://www.cloudmonkeymobile.com/labmanager
Это целая ифраструктура, позволяющая запускать тесты на
различных девайсах, настраивать их и управлять ими
удалённо. Тесты и наше приложение загружаются на облако.
CloudMonkey концепция
Добавление на облако
• Нажимаем
добавить на
облако
• Выставляем
настроики
Cloud отчёты
Cloud домашняя страница
Сравнительный анализ
Параметры сравнения:
• Лицензия
• Платформы
• Устройства
• Типы тестируемых приложений
• Наличие record\play решения
• Языки для написания тестов
Лицензия
Инструмент Тип Оценка
Ranorex Платная Bad
Robotium Бесплатная Good
Appium Бесплатная Good
Monkey Talk Бестпланя и Платная Medium
Calabash Бесплатная Good
Поддерживаемые ОС
Инструмент iOS Android Оценка
Ranorex + + Good
Robotium - + Medium
Appium + + Good
Monkey Talk + + Good
Calabash + + Good
Устройства
Инструент Emulator Real Device Оценка
Ranorex + + Good
Robotium + + Good
Appium + + Good
Monkey Talk + + Good
Calabash + + Good
Типы приложений
Инструмент Native Hybrid Web Оценка
Ranorex + - + (iOS only) Medium
Robotium + (Android
only)
+ (Android
only)
+ (Android
only)
Medium
Appium + + + Good
Monkey Talk + - + Medium
Calabash + - - Bad
Record / Play решение
Инструмент Record Play Оценка
Ranorex + Good
Robotium - (будет выпущен
коммерческий Record Play)
Bad
Appium + Good
Monkey Talk + Good
Calabash - Bad
Языки
Инструмент Использыемые языки Оценка
Ranorex C#, VB.NET Medium
Robotium Java Bad
Appium C#, Java, Python, Ruby,
PHP, JavaScript
Good
Monkey Talk Java, JavaScript, DSL Medium
Calabash Ruby, C#, JVM-based
languages
Medium
Сводные результаты
Инструмент Good Medium Bad
Ranorex 3 2 1
Robotium 2 3 1
Appium 6 0 0
Monkey Talk 3 3 0
Calabash 3 1 2
Что мы имеем в итоге?
Плюсы:
• Бесплатная версия
• Кросс-платформенность(iOS & Android)
• Java API
• Наличие хорошей инструкции
Минусы:
• Необходимость встраивания агента
• Платный Cloud сервис
Полезные ссылки
• Download:
https://www.cloudmonkeymobile.com/monkeytalk
• Getting Started:
https://www.cloudmonkeymobile.com/monkeytalk-
documentation/monkeytalk-getting-started
• User guide:
https://www.cloudmonkeymobile.com/monkeytalk-
documentation/monkeytalk-user-guide
Спасибо! Вопросы?
Владислав Акулич
DPI Solutions
www.dpi.solutions
Belarus QA Automation Community
www.comaqa.by