Atc2017 sp ppt
-
Upload
marcelorss -
Category
Software
-
view
88 -
download
0
Transcript of Atc2017 sp ppt
Protractor com Xvfb para Integração
ContínuaAgileTesters Conference 2017
Agenda• Apresentação;• Problema;• Protractor;• Integração Contínua;• Headless Browsers;• Xvfb;• Dicas do dia;
Apresentação• Marcelo Soares
• Formado em computação pela UNESP-Bauru;
• Trabalho com testes desde 2010;
• QA na
Problema
• No mundo “ágil” em que vivemos, todos somos obrigados a queremos testar tudo, toda hora, de todas as maneiras possíveis, mas o que fazer para rodar seus testes end-to-end em um servidor que não possui interface gráfica?
Protractor• Framework para testes end-to-end para
aplicações em Angular e AngularJS;• Esperas automáticas*;
• Roda os testes através da interface (como se fosse um usuário de verdade);
• Roda sobre o WebDriver;* as esperas podem ser desabitadas e o protractor pode ser usado para qualquer
aplicação web
Protractor
• Fácil setup;
• Bastante utilizado (suporte da comunidade - https://github.com/angular/protractor);
• Utiliza javascript;
Continuous Integration
https://insights.sei.cmu.edu/devops/2015/01/continuous-integration-in-devops-1.html
Headless Browsers
• Browsers sem interface gráfica, mas que conseguem executar ações dentro de uma determinada URL;• Testes mais rápidos;
• SO não precisa de interface gráfica;
Headless Browsers• Por que não usar PhantomJS com Protractor?
• Comportamento diferente dos browsers reais em algumas aplicações;
• Falsos positivos;
• Aumenta o custo de manutenção;
Headless Browsers
• A própria equipe do Protractor não recomenda o uso do PhantomJS:
“Note: We recommend against using PhantomJS for tests with Protractor. There are many reported issues with PhantomJS crashing and behaving differently from real browsers.”
Xvfb• X - sistema de display utilizado pelo Linux (X11);
• Virtual framebuffer X server for X Version 11;
• Fornece um buffer falso para programas gráficos escreverem sobre ele, permitindo que qualquer programa rode “headless”;
• Não é tão rápido quanto um headless browser;
• https://www.x.org/archive/X11R7.6/doc/man/man1/Xvfb.1.xhtml;
Xvfb• Como instalar o Xvfb?
• Instalando os browsers:
Xvfb• Rodando seu browser no Xvfb:
• xvfb-run <browser> <URL>
• Protractor:
DEMO
Xvfb• Não é um headless browser!
• Seus testes rodam no browser de verdade!!
Dicas do dia!• Não use Protractor para testar TUDO, mantenha
o foco no end-to-end;
• Aprenda a usar o arquivo de configuração do Protractor;
• Leia a documentação da API;
• Não use texto em validações nem para encontrar elementos;
• Participe da comunidade =)