SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
O caminho das pedras - Luiza Guerra
Criado em julho de 2013
Principal contribuidora: Julie Ralph
Senior Developer - Google (AngularJs)
Testes E2E
Unit
E2E
Integration
Testes E2E buscam garantir que a
integração dos componentes da
aplicação funcione como esperado.
Toda a aplicação é testada em um
cenário real que inclui a
comunicação com banco de dados,
rede, hardware e outras aplicações.
Framework para testes E2E
de aplicações AngularJS
Protractor
WebdriverJS
Possui locators específicos para Angular JS
Executa testes em browsers reais
Programa node.js
Como funciona?
Teste Servidor Browser
Node.JS
WebDriverJS
Protractor
Selenium
Server
WebDriver
Browser Driver
AngularJS
app
Como instalar?
Setup
$ node --version
$ npm install -g protractor
- - protractor command line tool
- - webdriver-manager command line tool
- - Protractor API (library)
Como começar?
Arquivos necessários
- Arquivo de configuração
- conf.js
Arquivos necessários
- Arquivo de teste
- spec.js
Dicas de ouro
Page Objects
- Encapsulamento
- O acesso aos elementos é de responsabilidade do Page Object.
- Abstração
- Detalhes da implementação não devem ser relevantes ao arquivo
de teste.
- Separação de responsabilidades
- Ao teste cabe a responsabilidade pelo AAA, ao Page Object cabe a
interação com a API do Webdriver
Declare funções para operações
com mais de um passo
Redução de complexidade
Não faça verificações no Page
Object
É de responsabilidade do teste realizar as verificações
Melhora a legibilidade
Dê preferência a locators do
Protractor
- Facilidade de acesso aos elementos
- Menor probabilidade de alteração no código
- Locators mais legíveis
Se não for possível, utilize
locators id e css
- Boa performance
- Boa legibilidade
- Facilidade de acesso aos elementos
Evite o XPATH
- Se torna obsoleto com facilidade
- Problemas de performance
- Muito pouco intuitivo
SHOW
ME
THE
CODE
Referências
- http://www.protractortest.org/#/
- https://jasmine.github.io/
- https://github.com/angular/protractor
- https://www.mountaingoatsoftware.com/blog
- https://github.com/luizaguerra/protractor-u

Mais conteúdo relacionado

Semelhante a Protractor o caminho das pedras

GlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EEGlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EEBruno Borges
 
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & HudsonSuporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & HudsonRicardo Ferreira
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
 
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EEAlta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EEelliando dias
 
Projetos Java com Maven
Projetos Java com MavenProjetos Java com Maven
Projetos Java com MavenEdgar Dantas
 
O Fantástico Mundo DevTools
O Fantástico Mundo DevToolsO Fantástico Mundo DevTools
O Fantástico Mundo DevToolsMarcus Silva
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Getúlio Strapazzon
 
Testes E2E em Cypress com JS
Testes E2E em Cypress com JSTestes E2E em Cypress com JS
Testes E2E em Cypress com JSNàtali Cabral
 
AngularJS com loadOnDemand
AngularJS com loadOnDemandAngularJS com loadOnDemand
AngularJS com loadOnDemandDouglas Lira
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endGiovanny Valente
 
[TDC - Testes] Estratégia de automação dos testes em microserviços
[TDC - Testes] Estratégia de automação dos testes em microserviços [TDC - Testes] Estratégia de automação dos testes em microserviços
[TDC - Testes] Estratégia de automação dos testes em microserviços Rodrigo Stefani Domingues
 
Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Facesbielgott
 
DrupalCamp Campinas 2016 - Auditando performance, conteúdo e boas práticas em...
DrupalCamp Campinas 2016 - Auditando performance, conteúdo e boas práticas em...DrupalCamp Campinas 2016 - Auditando performance, conteúdo e boas práticas em...
DrupalCamp Campinas 2016 - Auditando performance, conteúdo e boas práticas em...Erick Bonnemasou Jaccoud
 

Semelhante a Protractor o caminho das pedras (20)

GlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EEGlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EE
 
JavaServer Faces
JavaServer FacesJavaServer Faces
JavaServer Faces
 
Arquitetura Node com NestJS
Arquitetura Node com NestJSArquitetura Node com NestJS
Arquitetura Node com NestJS
 
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & HudsonSuporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
 
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EEAlta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
 
Projetos Java com Maven
Projetos Java com MavenProjetos Java com Maven
Projetos Java com Maven
 
Javaone2010
Javaone2010Javaone2010
Javaone2010
 
O Fantástico Mundo DevTools
O Fantástico Mundo DevToolsO Fantástico Mundo DevTools
O Fantástico Mundo DevTools
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
 
Testes E2E em Cypress com JS
Testes E2E em Cypress com JSTestes E2E em Cypress com JS
Testes E2E em Cypress com JS
 
AngularJS com loadOnDemand
AngularJS com loadOnDemandAngularJS com loadOnDemand
AngularJS com loadOnDemand
 
JQuery Mobile
JQuery MobileJQuery Mobile
JQuery Mobile
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
[TDC - Testes] Estratégia de automação dos testes em microserviços
[TDC - Testes] Estratégia de automação dos testes em microserviços [TDC - Testes] Estratégia de automação dos testes em microserviços
[TDC - Testes] Estratégia de automação dos testes em microserviços
 
Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Faces
 
DrupalCamp Campinas 2016 - Auditando performance, conteúdo e boas práticas em...
DrupalCamp Campinas 2016 - Auditando performance, conteúdo e boas práticas em...DrupalCamp Campinas 2016 - Auditando performance, conteúdo e boas práticas em...
DrupalCamp Campinas 2016 - Auditando performance, conteúdo e boas práticas em...
 
Selenium
SeleniumSelenium
Selenium
 
1409243945064
14092439450641409243945064
1409243945064
 
Introdução jQuery UI
Introdução jQuery UIIntrodução jQuery UI
Introdução jQuery UI
 

Protractor o caminho das pedras