rebrov selenium camp2013

52
Маленький – не значит простой. Тестируем мобильный web. Андрей Ребров

Upload: andrey-rebrov

Post on 26-Jun-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Rebrov selenium camp2013

Маленький  –  не  значит  простой.  Тестируем  мобильный  web.  

Андрей  Ребров  

Page 2: Rebrov selenium camp2013

О себе любимом

Page 3: Rebrov selenium camp2013

мобильном  вебе  

Page 4: Rebrov selenium camp2013

Своими руками

Page 5: Rebrov selenium camp2013
Page 6: Rebrov selenium camp2013
Page 7: Rebrov selenium camp2013

Поговорим о трех богатырях

Page 8: Rebrov selenium camp2013

Современная версия

Page 9: Rebrov selenium camp2013

Тестировать так тестировать

Page 10: Rebrov selenium camp2013
Page 11: Rebrov selenium camp2013

Варианты тестирования

Page 12: Rebrov selenium camp2013

Естественно, нет

Page 13: Rebrov selenium camp2013

Смотрите далее

•  Запускаем WebDriver на Android

•  Запускаем WebDriver на iPhone

Page 14: Rebrov selenium camp2013
Page 15: Rebrov selenium camp2013

Android Эпизод 1: Скрытая угроза

•  Нужен  android  device  /  emulator  •  Нужен  android  server  •  Google  =)  •  Упорное  желание  добиться  результата  

Page 16: Rebrov selenium camp2013
Page 17: Rebrov selenium camp2013

Как оно работает

Тесты  

Эмулятор  Server  

И  вот  он  браузер!  

Page 18: Rebrov selenium camp2013

Демо!

Page 19: Rebrov selenium camp2013

Android Эпизод 2: Атака клонов

•  Нужен  android  device  /  emulator  •  Нужно  написать  android  приложение  •  Google  =)  •  Упорное  желание  добиться  результата  

Page 20: Rebrov selenium camp2013
Page 21: Rebrov selenium camp2013

Демо!

Page 22: Rebrov selenium camp2013

Какой вариант выбрать? Remote  server   Applica9on  

Вы  ненавидите  Java  и  хотите  писать  на  другом  языке  

Java  единственный  язык,  который  вам  нравится  и  вы  пишете  только  на  нем  

Вам  не  очень  важна  скорость  тестов   Вам  критична  скорость  тестов  

Вы  тестируете  не  только  под  андроидом   Вы  тестируете  только  под  андроид  и  любите  Android  Test  FrameWork  

Page 23: Rebrov selenium camp2013

Доктор, что мне делать, у меня…

Page 24: Rebrov selenium camp2013

Медленные тесты

•  Не  используйте  поиск  по  xpath  •  Не  перезапускайте  эмулятор  •  Window  Handle  vs  Window  Name  

Page 25: Rebrov selenium camp2013

медленно стартует эмулятор

•  -­‐-­‐no-­‐boot-­‐anim  •  -­‐-­‐no-­‐audio  •  -­‐-­‐noskin  •  -­‐-­‐no-­‐window.  

Page 26: Rebrov selenium camp2013

нет коннекта к устройству/эмулятору

$  adb  kill-­‐server  $  adb  start-­‐server  

Page 27: Rebrov selenium camp2013
Page 28: Rebrov selenium camp2013

iPhone – И целого mac`а мало!

•  Нужен  mac  (или  удача  поставить  hackintosh)  •  Качаем  xCode  •  Качаем  selenium  source  •  …  и  google  search  

Page 29: Rebrov selenium camp2013

Демо!

Page 30: Rebrov selenium camp2013
Page 31: Rebrov selenium camp2013
Page 32: Rebrov selenium camp2013
Page 33: Rebrov selenium camp2013

Следующий на очереди

Page 34: Rebrov selenium camp2013
Page 35: Rebrov selenium camp2013

Но нас спасет...

Page 36: Rebrov selenium camp2013

Нам нужен план!

Интернет

Page 37: Rebrov selenium camp2013

Нам поможет...

...BridgIt!

Page 38: Rebrov selenium camp2013

На самом деле, BridgIt это:

•  BridgItDriver - для использования в

тестах

•  BridgIt Node - сервер для общения

драйвера и скрипта

•  BridgIt.js - скрипт для подключения к

тестируемому приложению

Page 39: Rebrov selenium camp2013

Driver   JS  Node  

Page 40: Rebrov selenium camp2013

Auth   Auth  

Driver   JS  Node  

Page 41: Rebrov selenium camp2013

Host  

Socket  

Driver   JS  Node  

Page 42: Rebrov selenium camp2013

Host  

Socket  

Driver   JS  Node  

find(By.id)  

Page 43: Rebrov selenium camp2013

Host  

Socket  

Driver   JS  Node  

find(By.id)  

Page 44: Rebrov selenium camp2013

Host  

Socket  

Driver   JS  Node  

fullPath  

Page 45: Rebrov selenium camp2013

Host  

Socket  

Driver   JS  Node  

fullPath  

Page 46: Rebrov selenium camp2013

Host  

Socket  

Driver   JS  Node  

Page 47: Rebrov selenium camp2013

Время демо!

Page 48: Rebrov selenium camp2013

Плюсы

•  Кроссплатформенность

•  Прост в настройке

Page 49: Rebrov selenium camp2013

Минусы

•  Работает только в браузерах с

WebSocket

•  Стартовую страницу теста нужно

запустить самому

Page 50: Rebrov selenium camp2013

Планы

•  Проверить, что фреймворк имеет право на

жизнь =)

•  Производительность

•  Полная поддержка функционала Selenium

•  Работа с большим количеством узлов

Page 51: Rebrov selenium camp2013

Материалы:

•  Демо-проект https://github.com/andrebrov/SeleniumCamp2013Project

• Фреймворк BridgIt https://github.com/andrebrov/BridgIt

Page 52: Rebrov selenium camp2013

Спасибо за внимание!

Twitter: @andrebrov

E-mail: [email protected]

Skype: rebrov.andrey

P.S.: приз за лучшую идею логотипа для BridgIt!