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

Rebrov selenium camp2013

Jun 26, 2015

Download

Documents

Andrey Rebrov
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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!