Upload
moscowjs
View
28
Download
1
Embed Size (px)
Citation preview
browser-monkeyБыстрые и удобные тесты в DOMе
1
Artem Avetisyan
[email protected] https://github.com/artemave
2
Зачем тестировать в браузере?
- в случае SPA, браузер код сложный и его много
- облегчает разработку
3
Да, но это же медленно?
- в full stack интеграционных тестах медленно
- в изолированных тестах совсем наоборот
4
thin client - fat server
Server-side MVC
- в UI нет функционального кода
- UI сложно изолировать
5
- тестировать только UI код имеет смысл
- UI код просто изолировать
Client-side SPAfat client - thin server
6
Существующие решения?
- WebDriverIO
7
Чем нам не угодил Webdriver?
- тест исполняется в NodeJs, код - в браузере
- WebDriver стартует браузер и предоставляет DOM interaction API
8
browser-monkey
- ничего лишнего: только DOM interaction API
- все исполняется в браузере
9
10
11
Не плохо
- тест изобилует css селекторами
- плохо читается без комментариев
Но…
12
13
Component API
DSL для описания структуры страницы
14
15
Красота
16
“Run it anywhere”
- не запускает браузер
- можем гонять тесты в разных окружениях
16
17
В командной строке
- VDOM
18
19
В командной строке
- electron
19
20
21
В Хроме
- для разработки
22
23
Debug лог
Вопросы?
25
Artem Avetisyan
[email protected] https://github.com/artemave
Demo project: https://github.com/artemave/browser-monkey-example
browser-monkey: https://github.com/featurist/browser-monkey