Protractor-perf: Testes de performance para aplicações AngularJS

Stella wide view 2

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

2 comentários em “Protractor-perf: Testes de performance para aplicações AngularJS

  1. 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.

    1. 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

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s