Este material foi escrito como forma de documentação de meu primeiro uso do protractor-perf.
Para instalar o protractor-perf utilize:
npm install -g protractor-perf
Para realização dos testes de performance iniciais irei utilizar os testes funcionais já criados anteriormente neste outro post, o qual utiliza a aplicação todo-mvc versão AngularJS.
No meu caso, criei um branch específico para testar o protractor-perf, chamado fs/perf.
Para utilizar o protractor-perf foi necessário alterar o arquivo conf.js, incluindo o navegador utilizado para os testes. Esta configuração não é necessária no protractor, o qual utiliza o chrome como navegador padrão, porém é necessária no protractor-perf, ao menos até agora. Veja o conf.js:
// conf.js exports.config = { seleniumAddress: 'http://localhost:4444/wd/hub', specs: ['spec.js'], capabilities: { 'browserName': 'chrome' } }
Após as configurações, no arquivo spec.js adiciona-se: 1 – a dependência do protractor-perf; 2 – a criação de uma instancia de objeto do tipo ProtractorPerf; 3 – define-se onde a medição inicia e termina); 4 – e por último faz-se a verificação (neste caso de tempo de renderização da página, em milisegundos).
var todomvcHelper = require('./todomvc.helper'); var ProtractorPerf = require('protractor-perf'); // item 1.
describe('angularjs todo mvc homepage', function() { var perf = new ProtractorPerf(protractor); // item 2. it('should have a title', function() { browser.get('http://todomvc.com/examples/angularjs/#/'); perf.start(); // item 3. expect(browser.getTitle()).toEqual('AngularJS • TodoMVC'); perf.stop(); // item 3.
if (perf.isEnabled) { expect(perf.getStats('meanFrameTime')).toBeLessThan(30); } }); // item 4.
E para executar o novo teste, basta executar o comando abaixo, a partir da pasta onde encontram-se os testes:
protractor-perf conf.js
E no caso da execução do comando protractor conf.js, os códigos referentes a testes de performance são desconsiderados e o protractor executará somente os testes funcionais.
Em breve tem mais!
Deixe seu comentário. =D
Olá Wallmyr, tudo bem, estou aqui para prestigiar mais um post seu, no momento estou usando o protractor para realizar meus testes automatizados e saber que tem com o protractor a capacidade de realizar testes de performance é muito legal.
Oi Luis,
Esse post sobre o protractor-perf é bem antigo e me desinteressei por esta biblioteca pra falar a verdade.
De qualquer forma, fico feliz que gostou.
Se tiveres interesse em te aprofundar mais em Protractor, recomendo dar uma olhada em meus cursos online. Seguem os links
https://www.udemy.com/course/arquitetura-de-testes-com-protractor/?referralCode=1F25C4A584FF02721138
https://www.udemy.com/course/testing-automation-with-protractor/?referralCode=4B9A83F671AC14D2BA54