rebrov selenium camp2013
TRANSCRIPT
Маленький – не значит простой. Тестируем мобильный web.
Андрей Ребров
О себе любимом
мобильном вебе
Своими руками
Поговорим о трех богатырях
Современная версия
Тестировать так тестировать
Варианты тестирования
Естественно, нет
Смотрите далее
• Запускаем WebDriver на Android
• Запускаем WebDriver на iPhone
Android Эпизод 1: Скрытая угроза
• Нужен android device / emulator • Нужен android server • Google =) • Упорное желание добиться результата
Как оно работает
Тесты
Эмулятор Server
И вот он браузер!
Демо!
Android Эпизод 2: Атака клонов
• Нужен android device / emulator • Нужно написать android приложение • Google =) • Упорное желание добиться результата
Демо!
Какой вариант выбрать? Remote server Applica9on
Вы ненавидите Java и хотите писать на другом языке
Java единственный язык, который вам нравится и вы пишете только на нем
Вам не очень важна скорость тестов Вам критична скорость тестов
Вы тестируете не только под андроидом Вы тестируете только под андроид и любите Android Test FrameWork
Доктор, что мне делать, у меня…
Медленные тесты
• Не используйте поиск по xpath • Не перезапускайте эмулятор • Window Handle vs Window Name
медленно стартует эмулятор
• -‐-‐no-‐boot-‐anim • -‐-‐no-‐audio • -‐-‐noskin • -‐-‐no-‐window.
нет коннекта к устройству/эмулятору
$ adb kill-‐server $ adb start-‐server
iPhone – И целого mac`а мало!
• Нужен mac (или удача поставить hackintosh) • Качаем xCode • Качаем selenium source • … и google search
Демо!
Следующий на очереди
Но нас спасет...
Нам нужен план!
Интернет
Нам поможет...
...BridgIt!
На самом деле, BridgIt это:
• BridgItDriver - для использования в
тестах
• BridgIt Node - сервер для общения
драйвера и скрипта
• BridgIt.js - скрипт для подключения к
тестируемому приложению
Driver JS Node
Auth Auth
Driver JS Node
Host
Socket
Driver JS Node
Host
Socket
Driver JS Node
find(By.id)
Host
Socket
Driver JS Node
find(By.id)
Host
Socket
Driver JS Node
fullPath
Host
Socket
Driver JS Node
fullPath
Host
Socket
Driver JS Node
Время демо!
Плюсы
• Кроссплатформенность
• Прост в настройке
Минусы
• Работает только в браузерах с
WebSocket
• Стартовую страницу теста нужно
запустить самому
Планы
• Проверить, что фреймворк имеет право на
жизнь =)
• Производительность
• Полная поддержка функционала Selenium
• Работа с большим количеством узлов
Материалы:
• Демо-проект https://github.com/andrebrov/SeleniumCamp2013Project
• Фреймворк BridgIt https://github.com/andrebrov/BridgIt
Спасибо за внимание!
Twitter: @andrebrov
E-mail: [email protected]
Skype: rebrov.andrey
P.S.: приз за лучшую идею логотипа для BridgIt!