Neste último final de semana aprendi alguns novos truques sobre o uso do Protractor e hoje pretendo compartilhar dois deles com você, os quais acredito serem úteis à quem já trabalha ou tem interesse em automatizar seus testes funcionais com o Protractor.
O primeiro truque diz respeito a executar um único teste em um arquivo .spec. Este truque pode ser útil para casos onde um arquivo .spec tenha muitos testes e você queira testar isoladamente um único novo teste nesta bateria, para otimizar seu tempo. Para executar este único teste, substitua o ‘it’ por ‘iit’ e o Protractor irá ignorar todos os testes até chegar nesse e então irá executa-lo. Ve ja um exemplo abaixo:
var userHelper = require('./helpers/user.helper.js'); describe('Content', function () { it ('should logout', function () { userHelper.logout(); browser.get('/admin') var body = element(by.css('body')); expect(body.getInnerHtml()).toContain('Access denied'); }); iit('should login as conteudista', function(){ userHelper.login('conteudista', '123123'); }); it ('should display the add news content and add product content links', function () { browser.get('/node/add'); var content = element(by.id('content')); expect(content.getInnerHtml()).toContain('Matéria'); expect(content.getInnerHtml()).toContain('Produto'); }); });
No exemplo acima, somente o segundo teste é executado (should login as conteudista)
O segundo truque é basicamente o inverso do primeiro, ou seja, além de executar um teste específico dentro de uma arquivo com inúmeros testes, você também pode ignorar um testes específico. Para isto, basta mudar um teste (it) para ‘xit‘. Veja um exemplo:
var userHelper = require('./helpers/user.helper.js'); describe('Content', function () { it ('should logout', function () { userHelper.logout(); browser.get('/admin') var body = element(by.css('body')); expect(body.getInnerHtml()).toContain('Access denied'); }); it('should login as conteudista', function(){ userHelper.login('conteudista', '123123'); }); xit ('should display the add news content and add product content links', function () { browser.get('/node/add'); var content = element(by.id('content')); expect(content.getInnerHtml()).toContain('Matéria'); expect(content.getInnerHtml()).toContain('Produto'); }); });
No exemplo acima, o último teste é ignorado.
Ao longo da semana pretendo publicar mais alguns conteúdos específicos sobre o uso do Protractor, tal como: interagindo com elementos dentro de um iFrame. Espero que tenha gostado.
=D
Obrigada pelas dicas!