modern web testing: going beyond selenium · 2020-01-28 · modern web testing: going beyond...
TRANSCRIPT
![Page 1: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/1.jpg)
Modern Web Testing:
Going Beyond Selenium
Dmitry Vinnik, @DmitryVinnikLead Software Engineer, Salesforce
![Page 2: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/2.jpg)
GoalsEnd-to-End Testing:
What, Why, How and When
Looking Beyond Selenium WD
Find Right E2E Tool For Your Team
What are our goals?
2
![Page 3: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/3.jpg)
How do we usually test?
3
Let’s go in more details
![Page 4: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/4.jpg)
Test Pyramid↑ Fidelity
↓ Speed
↑ Cost
↓ Fidelity
↑ Speed
↓ Cost 4
![Page 5: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/5.jpg)
Let’s test something!
5
What is this “something”?
![Page 6: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/6.jpg)
6
Example App
![Page 7: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/7.jpg)
Back to testing!
7
![Page 8: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/8.jpg)
End-to-End Testing
8
Today’s Focus
![Page 9: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/9.jpg)
Common way to do E2E?
9
![Page 10: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/10.jpg)
Selenium WebDriver
10
Defacto
E2E Tool
Testing
Standard
Generic ↑ Integrations
![Page 11: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/11.jpg)
Selenium WebDriver
11
Selenium WebDriver
From “SeleniumHQ, Selenium RC”
![Page 12: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/12.jpg)
Case #1
12
Backend:
Java
Testing:
Java
![Page 13: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/13.jpg)
Is there a problem?
13
Yes, there is
![Page 14: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/14.jpg)
Why not Server Side Test?
14
Hybrid
ModelDDD
User
Centric
DDD
User
Centric
![Page 15: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/15.jpg)
Hybrid Model
15
Software
Engineers
Software
Principles
Testing
Expertise
![Page 16: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/16.jpg)
Why not Server Side Test?
16
Hybrid
ModelDDD
User
Centric
DDDDDDHybrid
Model
![Page 17: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/17.jpg)
Domain Driven Design
17
Context Matters
Ubiquitous
Language
![Page 18: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/18.jpg)
Why not Server Side Test?
18
Hybrid
ModelDDD
User
Centric
DDDDDDHybrid
ModelDDD
User
Centric
![Page 19: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/19.jpg)
Still not convinced?
19
![Page 20: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/20.jpg)
Modern Web Testing
20
![Page 21: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/21.jpg)
Power of JavaScript
21
Assertion
Libraries
Process
Libraries
Enterprise
Libraries
Process
Libraries
Enterprise
Libraries
ChaiJasmineProcess
Libraries
BDD
LibrariesCucumber
Enterprise
LibrariesApplitools
![Page 22: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/22.jpg)
Speaking Language
of the Web
22
JavaScriptNode.js
![Page 23: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/23.jpg)
Node.js
23
NPM
Manager
Flexible
Customizable
Isomorphic
![Page 24: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/24.jpg)
Established Medium
24
Going back to the Pyramid
![Page 25: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/25.jpg)
Test Pyramid
↓ Fidelity
↑ Speed
↓ Cost 25
![Page 26: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/26.jpg)
Unit Testing
26
In Web Context
![Page 27: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/27.jpg)
Example: Jasmine
27
![Page 28: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/28.jpg)
Test Pyramid
↓ Fidelity
↑ Speed
↓ Cost 28
![Page 29: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/29.jpg)
Integration Testing
29
In Web Context
![Page 30: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/30.jpg)
Example: Jest
30
![Page 31: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/31.jpg)
Let’s reflect on it
31
![Page 32: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/32.jpg)
Test Pyramid
↓ Fidelity
↑ Speed
↓ Cost 32
![Page 33: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/33.jpg)
Every step has
only 1 focus
33
Developers
![Page 34: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/34.jpg)
34
Good for some testsBut not for E2E tests
![Page 35: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/35.jpg)
Test Pyramid↑ Fidelity
↓ Speed
↑ Cost
↓ Fidelity
↑ Speed
↓ Cost 35
![Page 36: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/36.jpg)
Shifting focus
36
Developers Customers
![Page 37: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/37.jpg)
Sounds great!
37
But how do we do it?
![Page 38: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/38.jpg)
User Centric TestingEnd-to-End Task Testing
38
Interactions Tasks
Page Object
Model
Screenplay
Pattern
![Page 39: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/39.jpg)
Should we use
Java for tests?
39
No!Back to our app
![Page 40: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/40.jpg)
What should we do?
40
Move to Client Side
![Page 41: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/41.jpg)
Continuing with Selenium
41
WebdriverJs
![Page 42: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/42.jpg)
Selenium WebDriver
42
Defacto
E2E Tool
Testing
Standard
Generic ↑ Integrations
WebdriverJs
![Page 43: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/43.jpg)
Selenium WebdriverJs
43
Selenium WebdriverJs
From “SeleniumHQ, Selenium RC”
![Page 44: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/44.jpg)
Example: WebdriverJs
44
![Page 45: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/45.jpg)
Only good parts, right?
45
Not Really...
![Page 46: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/46.jpg)
E2E Tests:
General Complexity
46
SelectorsLocator
Strategy
Test Flows SPA Types
![Page 47: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/47.jpg)
What about WebdriverJs?
47
![Page 48: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/48.jpg)
E2E Tests:
General Complexity
48
SelectorsLocator
Strategy
Test Flows SPA Types
WebdriverJs
Locator
Strategy
Test Flows SPA Types
ID, CSS,
Xpath
Locator
StrategyBy Locators
Test FlowsPromise
ManagerSPA TypesSPA TypesSPA TypesGeneric
![Page 49: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/49.jpg)
Looks limited
49
Is there anything better?
![Page 50: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/50.jpg)
Remember our test app?
50
Case #2Angular
Components
Models Controllers
![Page 51: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/51.jpg)
Demo App: Closer Look
51
![Page 52: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/52.jpg)
How would we test that?
52
![Page 53: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/53.jpg)
Test Pyramid↑ Fidelity
↓ Speed
↑ Cost
↓ Fidelity
↑ Speed
↓ Cost 53
![Page 54: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/54.jpg)
Do we have to use
WebdriverJs?
54
No!
![Page 55: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/55.jpg)
Protractor
55
E2E Test Framework for Angular Apps
![Page 56: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/56.jpg)
Protractor
56
Protractor
From “Protractor.org”
![Page 57: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/57.jpg)
E2E Tests:
General Complexity
57
SelectorsLocator
Strategy
Test Flows SPA Types
Protractor
Locator
Strategy
Test Flows SPA Types
Element
Bindings
Locator
StrategyBy Repeaters
Test FlowsApplication
State AwareSPA Types
Angular
Oriented
![Page 58: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/58.jpg)
Example: Protractor
58
![Page 59: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/59.jpg)
Angular is great
59
But
![Page 60: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/60.jpg)
There are Many More Front-
End Frameworks...
60
React Vue
Ember Backbone
![Page 61: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/61.jpg)
Protractor + React
61
Protractor + React
![Page 62: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/62.jpg)
Protractor + ReactConclusion
62
![Page 63: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/63.jpg)
What’s Next?
63
Non-Selenium
UI Test Frameworks
TestCafe
Cypress.io
![Page 64: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/64.jpg)
What have we
learned so far?
64
Handling
Waits
RTD
Parallel
Execution
Recorder
& IDE
Patterns.
Patterns everywhere
![Page 65: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/65.jpg)
65
Non-Selenium
UI Test Frameworks
TestCafe
Cypress.ioCypress.io
![Page 66: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/66.jpg)
Common Patterns
66
Handling
Waits
RTD
Parallel
Execution
Recorder
& IDE
TestCafe
![Page 67: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/67.jpg)
TestCafe: Recorder & IDE
67
Recorder & IDE
Source:
TestCafe by DevExpress, https://github.com/DevExpress/testcafe
![Page 68: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/68.jpg)
TestCafe: Example
68
TestCafe: Example
Source:
TestCafe by DevExpress, https://github.com/DevExpress/testcafe
![Page 69: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/69.jpg)
69
Non-Selenium
UI Test Frameworks
TestCafe
Cypress.ioCypress.io
TestCafe
Cypress.io
![Page 70: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/70.jpg)
Common Patterns
70
Handling
Waits
RTD
Parallel
Execution
Recorder
& IDE
Cypress.io
![Page 71: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/71.jpg)
71
Cypress.io: Reports & IDE
Source:
Cypress.io Example by Cypress.io, https://www.cypress.io
![Page 72: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/72.jpg)
Cypress.io: Example
72Source:
Basic Example by Cypress.io, https://www.cypress.io
Cypress.io: Example
![Page 73: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/73.jpg)
Right Tool
for the Right Problem
73
![Page 74: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/74.jpg)
There are many other
E2E Test Frameworks
74
WebdriverIO
WD
Nightwatch.js
Nemo
![Page 75: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/75.jpg)
Avoid Tool Mixups
75
No DDD
No Common
Language
↑ Complexity
![Page 76: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/76.jpg)
How to Choose?
76
Github
Stars
NPM
Downloads
External
IntegrationsPOC
![Page 77: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/77.jpg)
But More Importantly
77
Flexibility
Use CaseUse Case
![Page 78: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/78.jpg)
Flexibility
78
Cost of
TransitionROI
Ability to
ReplaceAbility to
Customize
![Page 79: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/79.jpg)
But More Importantly
79
Flexibility
Use CaseUse Case
Flexibility
Use Case
![Page 80: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/80.jpg)
Use Case
80
Team
Expertise
Application
Framework
Test
Infrastructure
![Page 81: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/81.jpg)
Call For Action
Evaluate Test
Architecture
Have Domain
Boundaries
Unify Test
StrategyExperiment!
81
![Page 82: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022042223/5eca49f4b20e5b012e34be3e/html5/thumbnails/82.jpg)
Q/A
82