18
#IATRENDS E2E TESTING W/ WEBDRIVER I/O Henrique Luz Agosto/16

End-to-end Testing w/ Javascript

Embed Size (px)

Citation preview

Page 1: End-to-end Testing w/ Javascript

#IATRENDS

E2E TESTING W/ WEBDRIVER I/O

Henrique LuzAgosto/16

Page 2: End-to-end Testing w/ Javascript

AGENDA

‣ Tests from the beginning ‣ Agile testing

- Evolução‣ E2E testing

- Intro- Trade-off

‣ Back-end x Front-end‣ WebDriver I/O‣ Hands-on

Page 3: End-to-end Testing w/ Javascript

TESTS FROM THE BEGINNING

BEFORE▸ Cascata▸ Manuais▸ Caixa-preta▸ Orientados a bugs▸ Feedback tardio

Page 4: End-to-end Testing w/ Javascript
Page 5: End-to-end Testing w/ Javascript

AGILE TESTING

TESTS EVOLUTION

Page 6: End-to-end Testing w/ Javascript

AGILE TESTING

NOW▸ Agile Development

▸ TDD BDD▸ Unitarios + Integração▸ Continuous Delivery▸ Feedback Instantâneo

Page 7: End-to-end Testing w/ Javascript

SUFICIENTE?

DEPENDE!

Page 8: End-to-end Testing w/ Javascript
Page 9: End-to-end Testing w/ Javascript

E2E TESTING

▸ Simula fluxo do usuário▸ UI’s

▸ Interage com toda app▸ Ajuda a validar critérios de aceitação▸ Regressão de testes bem mais rápida

Page 10: End-to-end Testing w/ Javascript

TRADE-OFF▸ Mais custosos▸ Mais lentos▸ Mudanças na UI tendem a impactar

Page 11: End-to-end Testing w/ Javascript

ONDE ESCREVER MEUS TESTES E2E?

MAIS UMA VEZ.. DEPENDE!

Page 12: End-to-end Testing w/ Javascript
Page 13: End-to-end Testing w/ Javascript

Tipo da Aplicação

Tecnologias disponíveis Maturidade do

time

Conhecimento do time

?

? ?

?

??

??

?

?

?

? ???

Page 14: End-to-end Testing w/ Javascript

E2E TESTING

FERRAMENTAS JAVASCRIPT

Page 15: End-to-end Testing w/ Javascript

WEBDRIVER I/O

TESTES DE REGRESSÃO DE UI

DSL FLUENTE

VARIEDADE DE HOOKS

SUPORTA SINCRONISMO

SUPORTA GULP E GRUNT

FORNECE CLI

SETUP FÁCIL

Page 16: End-to-end Testing w/ Javascript

WEBDRIVER I/O

SETUP

1. Create sample folder‣ mkdir iatrends-sample && cd iatrends-sample

2. Download selenium standalone server‣ curl -O http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-

2.53.0.jar

3. Start selenium server‣ java -jar selenium-server-standalone-2.53.0.jar

4. Download Webdriver I/O‣ npm install webdriverio

5. Create a test file (test.js)6. Run tests

‣ node test.js

Page 17: End-to-end Testing w/ Javascript

FEATURES

▸ client.addValue(selector, values)

▸ client.click(selector)▸ client.dragAndDrop(source,

dest)▸ client.submitForm(selector)▸ client.getText(selector,

attrName)▸ client.getUrl()▸ client.getValue(selector)

▸ client.launch()▸ client.orientation([deviceOrientati

on])▸ client.getGeolocation()▸ client.rotate(x, y, duration, radius,

rotation, touchCount)▸ client.swipe([selector][xoffset]

[yoffset][speed]);▸ client.currentActivity();

Page 18: End-to-end Testing w/ Javascript

HANDS-ON