25
browser-monkey Быстрые и удобные тесты в DOMе 1 Artem Avetisyan [email protected] https://github.com/artemave

Reliable DOM testing with browser-monkey

Embed Size (px)

Citation preview

Page 1: Reliable DOM testing with browser-monkey

browser-monkeyБыстрые и удобные тесты в DOMе

1

Artem Avetisyan

[email protected] https://github.com/artemave

Page 2: Reliable DOM testing with browser-monkey

2

Зачем тестировать в браузере?

- в случае SPA, браузер код сложный и его много

- облегчает разработку

Page 3: Reliable DOM testing with browser-monkey

3

Да, но это же медленно?

- в full stack интеграционных тестах медленно

- в изолированных тестах совсем наоборот

Page 4: Reliable DOM testing with browser-monkey

4

thin client - fat server

Server-side MVC

- в UI нет функционального кода

- UI сложно изолировать

Page 5: Reliable DOM testing with browser-monkey

5

- тестировать только UI код имеет смысл

- UI код просто изолировать

Client-side SPAfat client - thin server

Page 6: Reliable DOM testing with browser-monkey

6

Существующие решения?

- WebDriverIO

Page 7: Reliable DOM testing with browser-monkey

7

Чем нам не угодил Webdriver?

- тест исполняется в NodeJs, код - в браузере

- WebDriver стартует браузер и предоставляет DOM interaction API

Page 8: Reliable DOM testing with browser-monkey

8

browser-monkey

- ничего лишнего: только DOM interaction API

- все исполняется в браузере

Page 9: Reliable DOM testing with browser-monkey

9

Page 10: Reliable DOM testing with browser-monkey

10

Page 11: Reliable DOM testing with browser-monkey

11

Не плохо

- тест изобилует css селекторами

- плохо читается без комментариев

Но…

Page 12: Reliable DOM testing with browser-monkey

12

Page 13: Reliable DOM testing with browser-monkey

13

Component API

DSL для описания структуры страницы

Page 14: Reliable DOM testing with browser-monkey

14

Page 15: Reliable DOM testing with browser-monkey

15

Красота

Page 16: Reliable DOM testing with browser-monkey

16

“Run it anywhere”

- не запускает браузер

- можем гонять тесты в разных окружениях

16

Page 17: Reliable DOM testing with browser-monkey

17

В командной строке

- VDOM

Page 18: Reliable DOM testing with browser-monkey

18

Page 19: Reliable DOM testing with browser-monkey

19

В командной строке

- electron

19

Page 20: Reliable DOM testing with browser-monkey

20

Page 21: Reliable DOM testing with browser-monkey

21

В Хроме

- для разработки

Page 22: Reliable DOM testing with browser-monkey

22

Page 23: Reliable DOM testing with browser-monkey

23

Debug лог

Page 24: Reliable DOM testing with browser-monkey
Page 25: Reliable DOM testing with browser-monkey

Вопросы?

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