Download - Primeiros passos com protractor - GUTS-SC
![Page 1: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/1.jpg)
Primeiros passos com Protractor
por Walmyr Lima e Silva Filho
![Page 2: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/2.jpg)
Quem sou eu?● Desenvolvedor focado em
testes na Taller Negócios Digitais
● Autor do blog Talking About Testing
● Ativo membro de comunidades de tecnologia
![Page 3: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/3.jpg)
Hoje veremos...● O que é e para que serve o Protractor
● Documentação + API
● Pré-requisitos
● Configurações básicas
● Primeiros testes
● Extras: Novidades Protractor 3.0.0, Node Packages, VisualReview e PageObjects
![Page 4: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/4.jpg)
Entao tá, o que é Protractor e para que ele serve?
O que é?
Protractor é um framework open source para automação de testes de aplicações AngularJS.
Para que serve?
Com o Protractor você pode criar e rodar testes automatizados de aplicações web em navagadores reais, como se fosse um usuário real utilizando a aplicação.
![Page 5: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/5.jpg)
E esse tal de Protractor tem uma boa documentação?
![Page 6: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/6.jpg)
O que preciso pra começar?
● Conhecimentos básicos de JS
● Protractor 3.0.0 -> NodeJS v4
● Protractor 2 -> NodeJS v0.12
![Page 7: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/7.jpg)
Ok, agora vamos colocar a mão na
massa!!
![Page 8: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/8.jpg)
=(Infelizmente não!
Mas vou improvisar
![Page 9: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/9.jpg)
module.exports.config = {
directConnect: true, // To use the browser's webdriver directly.
specs: ['api.spec.js'], // Array of test files.
capabilities: {
'browserName': 'chrome' // The browser where tests will run against.
},
baseUrl: 'http://angular.github.io/', // The base URL for testing.
onPrepare: function() {
browser.driver.manage().window().maximize(); // Maximize window before start testing.
}
};
Vejamos algumas configurações básicas
![Page 10: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/10.jpg)
Criando o primeiro testedescribe( 'API', function() {
it( 'has a title', function() {
// Arrange
browser.get('protractor/#/api'); // Navigate to baseUrl + 'protractor/#/api'.
var title = element.all(by.css('h3')).first(); // store title element in a variable.
// Assert
expect(title.getText()).toContain('Protractor API'); // The test expectation.
});
});
![Page 11: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/11.jpg)
Interagindo um pouco mais com a aplicaçãoit( 'search for an existing protractor method', function() {
// Arrange
browser.get('protractor/#/api');
var searchField = element(by.model('searchTerm'));
var firstSidebarItem = element(by.repeater('item in items').row(0));
var firstSidebarLink = firstSidebarItem.element(by.css('a'));
var apiSearchedTitle = element(by.css('.api-title'));
// Act
searchField.sendKeys('repeater');
firstSidebarLink.click();
// Assert
expect(apiSearchedTitle.getText()).toContain('by.repeater');
});
![Page 12: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/12.jpg)
E como fica o resultado dos testes?
![Page 13: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/13.jpg)
E quando os testes falham?
![Page 14: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/14.jpg)
● Suporte ao Jasmine2
● Integração entre Browserstack e Travis CI
Algumas novidades sobre a versão 3.0.0
![Page 15: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/15.jpg)
● jasmine-spec-reporter -> Para um melhor report dos testes no terminal
● protractor-jasmine2-screenshot-reporter -> Relatório de testes em html com links para screenshots de cada teste
=)
Alguns Node packages úteis
![Page 16: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/16.jpg)
Já ouviu falar em testes de regressão visuais?VisualReview
API do VisualReview para integração com o Protractor
![Page 17: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/17.jpg)
E existe um padrão na escrita de testes?PageObjects
http://angular.github.io/protractor/#/page-objects
Protractor e PageObjects, uma combinação perfeita!
Aprendendo Protractor episódio 11
![Page 18: Primeiros passos com protractor - GUTS-SC](https://reader034.vdocuments.com.br/reader034/viewer/2022042907/5879eff71a28ab70298b47c5/html5/thumbnails/18.jpg)
Obrigado!
walmyr-filho.com
talkingabouttesting.com
@walmyrlimaesilv
github.com/wlsf82/primeiros-passos-com-protractor-
guts-sc