Além de escrever todo o código e testes unitários ainda preciso escrever os testes de interface?
A resposta é não e este post trás como alternativa uma ferramenta capaz de auxiliar e automatizar parte do desenvolvimento dos testes.
Protractor Recorder é um projeto de código aberto para facilitar o desenvolvimento e execução de testes de interface. A necessidade surgiu para agilizar a implementação e manutenção de testes em aplicações com AngularJs, utilizando Protractor.
Protractor é um framework para aplicações AngularJs, o qual executa testes em sua aplicação através de um navegador, interagindo como um usuário conforme descrição encontrada no site oficial do Protractor Test. Estes testes são descritos com outro importante framework chamado Jasmine, o qual possui uma sintaxe óbvia e clara.
Outra ferramenta necessária e não menos importante para a execução dos testes é o Selenium, o qual automatiza o navegador com comandos do Protractor lidos a partir dos arquivos de testes.
Protractor conf.js
Vejamos algumas das configurações que o Protractor Recorder pode alterar no arquivo conf.js, necessário para a configuração dos testes a serem executados pelo Protractor. Os dados presentes são referentes ao exemplo de demonstração:
- Selenium Address: Endereço para comunicação local com Selenium;
- Jasmine 2: Opção para utilizar versão 2 (dois) do Jasmine;
- Ignore Synchronization: Opção para ignorar sincronização em telas de login sem AngularJs;
- Login page: Opção para verificar redirecionamento após login;
- Window maximize: Opção para maximizar janela do navegador ou informar dimensões de altura e largura.
- Tabela contendo ação, tipo, localizadores e valor de cada ação a ser executada.
Menu principal
No menu lateral é possível informar o endereço base, velocidade de execução em milissegundos e navegar entre o arquivo de configuração e o spec.js, o qual deverá conter o restante dos testes. No canto inferior direito é exibido a lista dos navegadores disponíveis conforme o sistema operacional.
Protractor spec.js
Na tela abaixo é possível visualizar, alterar e editar as ações a serem testadas, além de duplicar, remover, depurar e limpar os resultados a cada nova execução dos testes.
Exportar, executar e gravar
Por fim temos no canto superior direito os botões de ações para exportar, executar e iniciar a gravação dos testes:
- Export: Cria e exporta o arquivo conf.js e o spec.js com as ações a serem testadas pelo Protractor;
- Run: Exporta os arquivos e em seguida executa os testes;
- Record: Ativa o modo para gravar as ações executadas na sessão do Selenium.
Demonstração
Para saber mais detalhes sobre funcionalidades, instalação, dependências, utilização do sistema e código fonte do projeto, basta acessar o repositório do Protractor Recorder no Github através do link https://github.com/ealves/protractor-recorder.