Por que eu deveria migrar para o Protractor?

Boa tarde pessoas.
Trabalho atualmente com Java, Selenium, jBehave e Serenity.
Nos projetos que temos até agora tava de boa, porém a empresa pretende migrar todo mundo para o Angular 4 para padronizar tudo e resolver alguns problemas. Já iniciamos o desenvolvimento dos testes de um projeto que está em AngularJS, porém utilizando as ferramentas que citei lá em cima.
Gostaria de saber de vocês que já utilizam, quais motivos eu teria para refazer meus testes utilizando Protractor? Quais vantagens vocês veem no dia a dia de vocês?

Desde já obrigada.

Boa tarde @JessicaNunes tudo bem? Bom passei por uma experiência parecida e a primeira grande diferença que senti foi a performance da execução dos testes com o Protractor. Outro ponto a ser levado em consideração é que o Protractor possui locators adequados para as diretivas do Angular, isto porque é um framework destinado para testes em aplicações Angular, apesar de possibilitar testes em demais tecnologias web.

Porém antes de sair mudando a tecnologia, sugiro considerar criar uma POC e comparar com o que você já tem hoje.

A gente na Concrete tem usando Protractor pra projetos Angular também, acho que a parte de esperas é uma grande vantagem, vc não precisa encher seu código de um monte de waits e ter problemas com sincronização.

O @cassio criou um guideline https://github.com/cassioafs/protractor-guide-line com o exemplo de como utilizamos na Concrete :)

Samy

  • Protractor foi feito especialmente para testar aplicações Angular.
  • Seu código ficará mais legível e fará mais sentido quando os desenvolvedores criarem novos testes ou dar manutenção nos mesmos.
  • Os desenvolvedores poderão te ajudar em qualquer obstáculo que você tiver, quando a linguagem dos testes é a mesma que a da aplicação.
  • A integração com alguma ferramenta de integração continua ficará mais fácil de fazer quando o projeto é feito com a mesma tecnologia.
  • O projeto em sí ficará mais legível. Já imaginou a bagunça você fazendo testes em JAVA e a aplicação sendo JS? Não ficará bom integrar essas duas tecnologias no mesmo repositório e criar dois repositórios (teste + aplicação) não faz sentido.
  • Porque é um framework desenvolvido para automação de teste do Angular;
  • Irá reduzir uns dos principais problemas de automação de teste tempo de execução, pois não será mais necessário colocar intervalos de tempos para execução de uma ação, com isso seu teste fica mais rápido;
  • É possível simular ações do usuário que realmente funciona no nível do sistema operacional, para trabalhar com o navegador, realizando cliques e fornecendo teclas digitadas de verdade.

Muito obrigada pela opinião de vocês.
A gente vai dá uma estudada e tentar a estratégia da POC para começar.

Valeu mesmo.

@jessicanunes Como o pessoal já falou, existem diversas vantagens na utilização do Protractor, principalmente no que diz respeito as esperas pelos elementos.

Só uma coisa para se atentar, é que alguns seletores específicos do Angular 1.x foram alterados nas novas versões do Angular e ainda não são suportados no Protractor.
Como é o caso do da diretiva ng-repeat, que existe o by.repeater() para encontrar tal elemento.
Com a atualização do Angular, ng-repeatvirou *ngFor e como eu disse, pro Protractor ainda não está funcionando.

Tem essa issue aberta sobre esse assunto:
https://github.com/angular/protractor/issues/3205

Estou passando pela mesma situação @JessicaNunes .
Hoje meu cenário de testes e baseado em Java e utilizo muito o WebDriver, com a mudança do Java para Angular estou avaliando a mudança para o Protractor, e fiz o que nosso amigo @jonatasat sugeriu , criei uma POC e comparei os resultados, posso garantir que e muito melhor.

Venho estudado Protractor com vídeos no Youtube, porem na QaNinja tem um curso muito bom.

Ederson Dias

Log in to reply

Looks like your connection to Agile Testers was lost, please wait while we try to reconnect.