Atc2017 sp ppt

Post on 11-Apr-2017

88 views 0 download

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 =)

marcelorss@live.comhttps://br.linkedin.com/in/marcelorss

@marcelojoale

Obrigado!