primeiros passos com protractor - guts-sc

18
Primeiros passos com Protractor por Walmyr Lima e Silva Filho

Upload: walmyr-lima-silva-filho

Post on 14-Jan-2017

477 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Primeiros passos com protractor - GUTS-SC

Primeiros passos com Protractor

por Walmyr Lima e Silva Filho

Page 2: Primeiros passos com protractor - GUTS-SC

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

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

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 6: Primeiros passos com protractor - GUTS-SC

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

Ok, agora vamos colocar a mão na

massa!!

Page 8: Primeiros passos com protractor - GUTS-SC

=(Infelizmente não!

Mas vou improvisar

Page 9: Primeiros passos com protractor - GUTS-SC

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

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

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

E como fica o resultado dos testes?

Page 13: Primeiros passos com protractor - GUTS-SC

E quando os testes falham?

Page 14: Primeiros passos com protractor - GUTS-SC

● 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

● 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