testing beyond the default click-paths · (qtp/uft | protractor | appium | webdriver.io) speaker on...

33
Testing beyond the default click-paths Wim Selles & Mischa Dasberg

Upload: others

Post on 30-May-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Testing beyond the default click-paths

Wim Selles & Mischa Dasberg

Page 2: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Content About us

Test beyond the default click-paths

tools

Installation + coffee break

Get your hands dirty

Page 3: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

About us | wim Selles testing since 2007 | automation since 2012 (qtp/uft | protractor | APPIUM | webdriver.io)

Speaker on 3, maybe 4, events this year

Automation geek

Open source contributor to multiple projects

Owner of some widely used (testing)modules

Working for detesters and hired by different end customers

Page 4: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

About us | Mischa Dasberg Software developer since 2002 (Java, Scala, Go, Javascript, Typescript)

Open source contributor to multiple projects

Speaker on devoxx, goto-amsterdam, javascript days, meetups

Automated testing since 2005 (junit, mockito, fitnesse, selenium, protractor, jasmine, karma)

Loves to surf and snowboard

Works for JPoint

Page 5: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

The app

Page 6: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

The app

Page 7: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

what do we see

Page 8: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

what do we see

Page 9: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

how it’s really

Page 10: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

how it’s really

Page 11: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

what do we trust?

Page 12: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

what do we trust?

Page 13: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Test beyond the default click-paths

Page 14: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Test beyond the default click-paths

What’s the biggest risk and in which phase should it be tested

Page 15: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Test beyond the default click-paths

What’s the biggest risk and in which phase should it be tested

Also Mimic and automate your end users user flow based on service behavior

Page 16: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Test beyond the default click-paths

What’s the biggest risk and in which phase should it be tested

Also Mimic and automate your end users user flow based on service behavior

Automate what automation initially doesn’t see but you can see with manual testing

Page 17: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Tools | ng-apimock Node plugin that provides the ability to use scenario based api mocking for both local development and automated testing

Why mock your api’s?

Availability

Edge cases

Reproducibility

Speed

Page 18: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Tools | ng-apimockSupports

Concurrency

Dynamic data

Delays

Recording

Mimetypes

Middleware integration

Page 19: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Tools | ng-apimockInterfaces

Automated testing

Protractor

Webdriver

Local development

Web interface

Manual demo

Page 20: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

the proof of the pudding is in the eating

Page 21: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

the proof of the pudding is in the eating

Page 22: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Tools | p.I.C p.i.c is an open source module for browsers | mobile browsers | hybrid apps to do image comparison on (full)screens or elements.

Supports

Page 23: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Tools | p.I.C p.i.c is an open source module for browsers | mobile browsers | hybrid apps to do image comparison on (full)screens or elements.

Supports

Viewport screenshots

Page 24: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Tools | p.I.C p.i.c is an open source module for browsers | mobile browsers | hybrid apps to do image comparison on (full)screens or elements.

Supports

Viewport screenshots

Element screenshots

Page 25: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Tools | p.I.C p.i.c is an open source module for browsers | mobile browsers | hybrid apps to do image comparison on (full)screens or elements.

Supports

Viewport screenshots

Element screenshots

Page 26: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Tools | p.I.C p.i.c is an open source module for browsers | mobile browsers | hybrid apps to do image comparison on (full)screens or elements.

Supports

Viewport screenshots

Element screenshots

Fullpage screenshots

Page 27: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Tools | p.I.C p.i.c is an open source module for browsers | mobile browsers | hybrid apps to do image comparison on (full)screens or elements.

Supports

Viewport screenshots

Element screenshots

Fullpage screenshots

And much more

Page 28: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Installation Disclaimer

Go to: https://github.com/wswebcreation/rtc-demo-app

follow the instructions in the readme

Coffee-Break

Page 29: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Get your hands dirty | 1First of all:

git checkout get-your-hands-dirty

npm run webdriver.start // start selenium

npm run e2e // runs all features

npm run e2e -- --feature=ngapimock // runs only ngapimock feature

npm run e2e -- --feature=image.compare // runs only image compare feature

Page 30: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Get your hands dirty | 2 exercise 1:

Go to `e2e/features/ng-apimock.feature`

Go to `e2e/step_definitions/ng-apimock.steps.ts`

Exercise 2:

Go to `e2e/features/image.compare.feature`

Go to `e2e/step_definitions/image.compare.steps.ts`

Page 31: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Recap

Some things we saw during the session

Things to remind when you go home

Page 32: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

Answers

git checkout answers

Page 33: Testing beyond the default click-paths · (qtp/uft | protractor | APPIUM | webdriver.io) Speaker on 3, maybe 4, events this year Automation geek Open source contributor to multiple

tnx!Wim selles | detesters |tele2

! @wswebcreation | wswebcreation.nl GitHub.com/wswebcreation

Mischa Dasberg | jpoint | volksbank

! GitHub.com/mdasberg