SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
contato@qualister.com.br! ! 
(48) 3285-5615! ! 
twitter.com/qualister! ! 
facebook.com/qualister! ! linkedin.com/company/qualister 
Mini-­‐curso 
Automação 
de 
Testes 
Funcionais 
com 
Selenium 
Webdriver
Instrutor 
Júlio 
de 
Lima 
Especialista 
em 
teste 
de 
software 
com 
ênfase 
em 
automação 
de 
testes 
de 
software, 
possui 
formação 
em 
Tecnologia 
da 
Informação 
e 
certificações 
internacionais 
(CTFL 
e 
CTAL-­‐TM 
pelo 
ISTQB) 
e 
nacional 
(CBTS 
pela 
ALATS) 
julio.lima@qualister.com.br 
twitter.com/juliodelimas 
br.linkedin.com/in/juliodelimas
Qualister 
• Fundada 
em 
2007 
• Mais 
de 
1.000 
clientes 
em 
todo 
o 
Brasil 
• Mais 
de 
50 
cursos 
sobre 
teste 
de 
software 
• Mais 
de 
3.000 
alunos 
formados 
• Áreas 
de 
atuação: 
• Consultoria 
na 
área 
de 
teste 
qualidade 
de 
software 
• Cursos 
• Revenda 
de 
ferramentas
Agenda 
Automação 
de 
Testes 
Funcionais 
com 
Selenium 
WebDriver 
1.Fundamentos 
em 
automação 
de 
testes 
2.Boas 
práticas 
3.Identificando 
elementos 
4.Introdução 
ao 
JUnit 
5.Sobre 
o 
Selenium 
WebDriver 
6.Let's 
automate! 
http://slidesha.re/1B1WXJe
Fundamentos 
em 
automação 
de 
testes
Fundamentos 
em 
automação 
de 
testes 
! 
! 
O 
que 
é 
teste 
de 
software? 
Manuais 
e 
Automatizados
Fundamentos 
em 
automação 
de 
testes
Fundamentos 
em 
automação 
de 
testes 
! 
Alta velocidade de execução! 
Alta amplitude e profundidade de testes! 
Repetitível ! 
Pouco envolvimento humano! 
Resultados consistentes!
Boas 
práticas
Boas 
práticas 
Concisos: 
os 
testes 
automatizados 
devem 
ser 
tão 
simples 
quanto 
possível, 
mas 
não 
simples 
demais; 
Explícitos: 
os 
testes 
automatizados 
relatam 
os 
desvios 
por 
meio 
de 
relatórios 
explicitamente, 
sem 
a 
necessidade 
de 
interpretação 
humana; 
Repetíveis: 
os 
testes 
automatizados 
podem 
ser 
executados 
quantas 
vezes 
forem 
necessárias 
sem 
a 
intervenção 
humana; 
Claros: 
as 
instruções 
codificadas 
nos 
testes 
automatizados 
devem 
ser 
claras 
e 
fáceis 
de 
entender; 
Eficientes: 
os 
testes 
automatizados 
devem 
ter 
um 
desempenho 
satisfatório; 
Independentes: 
os 
testes 
automatizados 
devem 
satisfazer 
as 
suas 
próprias 
precondições 
e 
devem 
permitir 
a 
sua 
execução 
em 
qualquer 
ordem 
de 
maneira 
independente;
Boas 
práticas
Boas 
práticas
Identificando 
elementos
Identificando 
elementos
Identificando 
elementos
Identificando 
elementos 
• Identificação 
por 
ID 
Ex. 
<input 
type="text" 
id="nome" 
/> 
• Identificação 
por 
NAME 
Ex. 
<textarea 
name="nome"></textarea> 
• Identificação 
por 
CSS 
Ex. 
<button 
class="btn 
btn-­‐medium 
btn-­‐save" 
/> 
• Identificação 
por 
XPath 
Ex. 
//input[@name="cpf"]
Introdução 
ao 
JUnit
Introdução 
ao 
JUnit 
• É 
um 
framework 
de 
testes 
para 
Java 
• Vai 
nos 
ajudar 
principalmente 
a 
validar 
os 
resultados 
esperados 
• Já 
traz 
mecanismos 
visuais 
para 
informar 
se 
o 
teste 
passou 
ou 
qual 
problema 
de 
validação 
foi 
encontrado
Introdução 
ao 
JUnit 
• No 
JUnit, 
um 
teste 
é 
identificado 
pela 
anotação 
@Test 
• Com 
ela 
o 
JUnit 
saberá 
controlar 
se 
um 
teste 
deve 
ser 
executado 
• A 
anotação 
@Test 
sempre 
deve 
estar 
acima 
de 
um 
método 
público
Introdução 
ao 
JUnit 
• Assertions 
(asserções) 
são 
formas 
de 
garantir 
algum 
tipo 
de 
informação. 
• Podemos 
compará-­‐las 
como 
a 
validação 
do 
resultado 
esperado 
de 
um 
teste 
• Duas 
asserções 
muito 
utilizadas 
são: 
– assertTrue 
– assertEquals 
!
Introdução 
ao 
JUnit 
public 
class 
ClienteTestes{ 
@Test 
public 
void 
testeUm(){ 
Assert.assertEquals("Jose 
Silva", 
mostrarNome()); 
} 
public 
string 
mostrarNome(){ 
return 
"Jose 
Silva"; 
} 
}
Sobre 
o 
Selenium 
WebDriver
Sobre 
o 
Selenium 
WebDriver 
• É 
uma 
API 
(Application 
Programming 
Interface) 
• Executa 
ações 
em 
browsers 
web 
simulando 
um 
usuário 
• Como 
se 
trata 
de 
uma 
API, 
é 
necessário 
programar/desenvolver 
os 
scripts 
de 
teste 
• Pode 
ser 
desenvolvido 
nas 
seguintes 
linguagens 
nativamente:
Sobre 
o 
Selenium 
WebDriver 
• Usaremos 
a 
API 
em 
Java 
• Usaremos 
o 
Netbeans 
para 
desenvolver 
os 
testes 
em 
Java 
• Usaremos 
o 
Junit 
para 
suporte 
aos 
testes 
• Observação: 
Uma 
API 
como 
o 
WebDriver 
não 
tem 
“integração” 
com 
qualquer 
ferramenta 
de 
teste 
unitário. 
O 
que 
fazemos 
é 
usar 
a 
API 
do 
WebDriver 
em 
um 
código/script 
juntamente 
com 
código 
de 
uma 
ferramenta 
de 
teste 
unitário, 
como 
o 
Junit.
Let`s 
Automate!
Comandos 
utilizados 
no 
Hands-­‐On 
FirefoxBinary 
binary 
= 
new 
FirefoxBinary(new 
File("C: 
UsersediadejavaAppDataLocalMozilla 
Firefox 
firefox.exe")); 
FirefoxProfile 
profile 
= 
new 
FirefoxProfile(); 
WebDriver 
driver 
= 
new 
FirefoxDriver(binary, 
profile);
Comandos 
utilizados 
no 
Hands-­‐On 
.get("URL") 
// 
Acessar 
página 
.quit() 
// 
Fechar 
o 
browser 
.getTitle() 
// 
Retorna 
o 
Title 
da 
página 
.findElement(By.estratégia) 
// 
Encontra 
um 
WebElement 
.click() 
// 
Clica 
em 
um 
WebElement 
.sendKeys("Texto") 
// 
Digita 
em 
um 
WebElement 
.clear() 
// 
Limpa 
o 
conteúdo 
de 
um 
WebElement 
.submit() 
// 
Submete 
um 
formulário
Comandos 
utilizados 
no 
Hands-­‐On 
Selecionando 
valores 
contidos 
em 
Combos 
Select 
combo 
= 
new 
Select(driver.findElement(By.name("estado"))); 
combo.selectByVisibleText("SP"); 
! 
Interagindo 
com 
Janelas 
Javascript 
driver.switchTo().alert();! 
driver.accept() 
ou 
driver.dismiss() 
! 
Voltando 
à 
página 
driver.switchTo().defaultContent()
Comandos 
utilizados 
no 
Hands-­‐On 
Tirando 
um 
print 
da 
tela 
File 
scrFile 
= 
((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 
FileUtils.copyFile(scrFile, 
new 
File(“C:tempscreenshot.png”));
Links 
úteis 
• http://seleniumhq.org 
Site 
oficial 
do 
Selenium. 
A 
documentação 
e 
simples 
e 
fácil 
de 
entender 
e 
traz 
exemplos 
nas 
linguagens 
suportadas 
! 
• http://selenium.googlecode.com 
Página 
de 
desenvolvimento 
do 
Selenium. 
É 
possível 
encontrar 
dados 
mais 
técnicos 
e 
exemplos 
mais 
apurados
contato@qualister.com.br ! 
! 
(48) 3285-5615! 
! 
twitter.com/qualister! 
! 
facebook.com/qualister! 
! 
linkedin.com/company/qualister

Mais conteúdo relacionado

Mais procurados

Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
다른 회사는 어떻게 QA, 테스팅을 하고 있을까? (google, facebook, atlass...
다른 회사는 어떻게 QA, 테스팅을 하고 있을까? (google, facebook, atlass...다른 회사는 어떻게 QA, 테스팅을 하고 있을까? (google, facebook, atlass...
다른 회사는 어떻게 QA, 테스팅을 하고 있을까? (google, facebook, atlass...Joseph Yonggoo Yeo
 
selenium with python training
selenium with python trainingselenium with python training
selenium with python trainingSaiprasadVella
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
Building an API with Django and Django REST Framework
Building an API with Django and Django REST FrameworkBuilding an API with Django and Django REST Framework
Building an API with Django and Django REST FrameworkChristopher Foresman
 
Ruin your life using robot framework
Ruin your life using robot frameworkRuin your life using robot framework
Ruin your life using robot frameworkPrayoch Rujira
 
Cypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationCypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationKnoldus Inc.
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 
Agile test-management-test-rail-lastest
Agile test-management-test-rail-lastestAgile test-management-test-rail-lastest
Agile test-management-test-rail-lastestOnur Baskirt
 
Arquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto JavaArquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto JavaElias Nogueira
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using SeleniumWeifeng Zhang
 

Mais procurados (20)

Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
다른 회사는 어떻게 QA, 테스팅을 하고 있을까? (google, facebook, atlass...
다른 회사는 어떻게 QA, 테스팅을 하고 있을까? (google, facebook, atlass...다른 회사는 어떻게 QA, 테스팅을 하고 있을까? (google, facebook, atlass...
다른 회사는 어떻게 QA, 테스팅을 하고 있을까? (google, facebook, atlass...
 
selenium with python training
selenium with python trainingselenium with python training
selenium with python training
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Building an API with Django and Django REST Framework
Building an API with Django and Django REST FrameworkBuilding an API with Django and Django REST Framework
Building an API with Django and Django REST Framework
 
Ruin your life using robot framework
Ruin your life using robot frameworkRuin your life using robot framework
Ruin your life using robot framework
 
Browser_Stack_Intro
Browser_Stack_IntroBrowser_Stack_Intro
Browser_Stack_Intro
 
Cypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationCypress Best Pratices for Test Automation
Cypress Best Pratices for Test Automation
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Robot Framework
Robot FrameworkRobot Framework
Robot Framework
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
Agile test-management-test-rail-lastest
Agile test-management-test-rail-lastestAgile test-management-test-rail-lastest
Agile test-management-test-rail-lastest
 
Arquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto JavaArquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto Java
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
 

Destaque

Curso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium QualisterCurso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium QualisterQualister
 
selenium-2-mobile-web-testing
selenium-2-mobile-web-testingselenium-2-mobile-web-testing
selenium-2-mobile-web-testinghugs
 
Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2Vanderson Silva
 
Demoiselle Behave - Visão Geral
Demoiselle Behave - Visão GeralDemoiselle Behave - Visão Geral
Demoiselle Behave - Visão GeralVanderson Silva
 
Artigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveArtigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveJulian Cesar
 
Demoiselle Behave - Parte 4
Demoiselle Behave - Parte 4Demoiselle Behave - Parte 4
Demoiselle Behave - Parte 4Vanderson Silva
 
Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3Vanderson Silva
 
Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1Vanderson Silva
 
Automatização de testes funcionais com selenium etapa 1
Automatização de testes funcionais com selenium  etapa 1Automatização de testes funcionais com selenium  etapa 1
Automatização de testes funcionais com selenium etapa 1Cintia Armesto
 
[UNIP2015] Testando a Performance de Aplicações Web com JMeter
[UNIP2015] Testando a Performance de Aplicações Web com JMeter[UNIP2015] Testando a Performance de Aplicações Web com JMeter
[UNIP2015] Testando a Performance de Aplicações Web com JMeterJúlio de Lima
 
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e WebdriverJúlio de Lima
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverQualister
 
Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumIsrael Santiago
 

Destaque (16)

Curso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium QualisterCurso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium Qualister
 
Alats Seminario V03 3
Alats Seminario V03 3Alats Seminario V03 3
Alats Seminario V03 3
 
Selenium web pt br
Selenium web pt brSelenium web pt br
Selenium web pt br
 
selenium-2-mobile-web-testing
selenium-2-mobile-web-testingselenium-2-mobile-web-testing
selenium-2-mobile-web-testing
 
Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2
 
Demoiselle Behave - Visão Geral
Demoiselle Behave - Visão GeralDemoiselle Behave - Visão Geral
Demoiselle Behave - Visão Geral
 
Artigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveArtigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle Behave
 
Demoiselle Behave - Parte 4
Demoiselle Behave - Parte 4Demoiselle Behave - Parte 4
Demoiselle Behave - Parte 4
 
Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3
 
Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1
 
Automatização de testes funcionais com selenium etapa 1
Automatização de testes funcionais com selenium  etapa 1Automatização de testes funcionais com selenium  etapa 1
Automatização de testes funcionais com selenium etapa 1
 
[UNIP2015] Testando a Performance de Aplicações Web com JMeter
[UNIP2015] Testando a Performance de Aplicações Web com JMeter[UNIP2015] Testando a Performance de Aplicações Web com JMeter
[UNIP2015] Testando a Performance de Aplicações Web com JMeter
 
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 
Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - Selenium
 

Semelhante a 13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver

Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredQualister
 
Curso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCurso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCristiano Caetano
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de SeleniumAutotic
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de softwareTargettrust
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de softwareTargettrust
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testesCristiano Caetano
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Tchelinux
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Elias Nogueira
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlinkslides_teltools
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasWordCamp Floripa
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e SeleniumAndré Thiago
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareCloves da Rocha
 

Semelhante a 13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver (20)

Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-Assured
 
Curso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCurso treinamento automação de testes com selenium
Curso treinamento automação de testes com selenium
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testes
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
 
AppTesting
AppTestingAppTesting
AppTesting
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlink
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio Nas
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 

Mais de Júlio de Lima

[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes CamadasJúlio de Lima
 
ALTER FACE Test Heuristic
ALTER FACE Test HeuristicALTER FACE Test Heuristic
ALTER FACE Test HeuristicJúlio de Lima
 
[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testesJúlio de Lima
 
Reducing the scope of load test analysis (STAREast 2020)
Reducing the scope of load test analysis (STAREast 2020)Reducing the scope of load test analysis (STAREast 2020)
Reducing the scope of load test analysis (STAREast 2020)Júlio de Lima
 
[TDC2019] Inteligência Artificial e Testes in a Nutshell
[TDC2019] Inteligência Artificial e Testes  in a Nutshell[TDC2019] Inteligência Artificial e Testes  in a Nutshell
[TDC2019] Inteligência Artificial e Testes in a NutshellJúlio de Lima
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de SoftwareJúlio de Lima
 
[MoT SP #1] PRISMA para Testes Baseados em Risco
[MoT SP #1] PRISMA para Testes Baseados em Risco[MoT SP #1] PRISMA para Testes Baseados em Risco
[MoT SP #1] PRISMA para Testes Baseados em RiscoJúlio de Lima
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosJúlio de Lima
 
[DevelopersBR-2018] Testes de performance usando a nuvem
[DevelopersBR-2018] Testes de performance usando a nuvem[DevelopersBR-2018] Testes de performance usando a nuvem
[DevelopersBR-2018] Testes de performance usando a nuvemJúlio de Lima
 
[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de APIJúlio de Lima
 
[Front in Sampa 2018] Desenvolvendo como QAs
[Front in Sampa 2018] Desenvolvendo como QAs[Front in Sampa 2018] Desenvolvendo como QAs
[Front in Sampa 2018] Desenvolvendo como QAsJúlio de Lima
 
Mindset do QA em diferentes contextos
Mindset do QA em diferentes contextosMindset do QA em diferentes contextos
Mindset do QA em diferentes contextosJúlio de Lima
 
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
[QANinjaConf2017] Testes de Regressão Visual com Galen FrameworkJúlio de Lima
 
[PHPConference 2016] Criando Mocks com Prophecy
[PHPConference 2016] Criando Mocks com Prophecy[PHPConference 2016] Criando Mocks com Prophecy
[PHPConference 2016] Criando Mocks com ProphecyJúlio de Lima
 
[QANinjaConference] Carreira em Testes: Ainda vale a pena?
[QANinjaConference] Carreira em Testes: Ainda vale a pena?[QANinjaConference] Carreira em Testes: Ainda vale a pena?
[QANinjaConference] Carreira em Testes: Ainda vale a pena?Júlio de Lima
 
[QANinjaConference] Automação de Testes com Codeception
[QANinjaConference] Automação de Testes com Codeception[QANinjaConference] Automação de Testes com Codeception
[QANinjaConference] Automação de Testes com CodeceptionJúlio de Lima
 
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)Júlio de Lima
 
[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com CodeceptionJúlio de Lima
 
Palestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwarePalestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwareJúlio de Lima
 
[TICNOVA2015] Palestra sobre Automação de Testes
[TICNOVA2015] Palestra sobre Automação de Testes[TICNOVA2015] Palestra sobre Automação de Testes
[TICNOVA2015] Palestra sobre Automação de TestesJúlio de Lima
 

Mais de Júlio de Lima (20)

[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas
 
ALTER FACE Test Heuristic
ALTER FACE Test HeuristicALTER FACE Test Heuristic
ALTER FACE Test Heuristic
 
[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes
 
Reducing the scope of load test analysis (STAREast 2020)
Reducing the scope of load test analysis (STAREast 2020)Reducing the scope of load test analysis (STAREast 2020)
Reducing the scope of load test analysis (STAREast 2020)
 
[TDC2019] Inteligência Artificial e Testes in a Nutshell
[TDC2019] Inteligência Artificial e Testes  in a Nutshell[TDC2019] Inteligência Artificial e Testes  in a Nutshell
[TDC2019] Inteligência Artificial e Testes in a Nutshell
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
 
[MoT SP #1] PRISMA para Testes Baseados em Risco
[MoT SP #1] PRISMA para Testes Baseados em Risco[MoT SP #1] PRISMA para Testes Baseados em Risco
[MoT SP #1] PRISMA para Testes Baseados em Risco
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes Contextos
 
[DevelopersBR-2018] Testes de performance usando a nuvem
[DevelopersBR-2018] Testes de performance usando a nuvem[DevelopersBR-2018] Testes de performance usando a nuvem
[DevelopersBR-2018] Testes de performance usando a nuvem
 
[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API
 
[Front in Sampa 2018] Desenvolvendo como QAs
[Front in Sampa 2018] Desenvolvendo como QAs[Front in Sampa 2018] Desenvolvendo como QAs
[Front in Sampa 2018] Desenvolvendo como QAs
 
Mindset do QA em diferentes contextos
Mindset do QA em diferentes contextosMindset do QA em diferentes contextos
Mindset do QA em diferentes contextos
 
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
 
[PHPConference 2016] Criando Mocks com Prophecy
[PHPConference 2016] Criando Mocks com Prophecy[PHPConference 2016] Criando Mocks com Prophecy
[PHPConference 2016] Criando Mocks com Prophecy
 
[QANinjaConference] Carreira em Testes: Ainda vale a pena?
[QANinjaConference] Carreira em Testes: Ainda vale a pena?[QANinjaConference] Carreira em Testes: Ainda vale a pena?
[QANinjaConference] Carreira em Testes: Ainda vale a pena?
 
[QANinjaConference] Automação de Testes com Codeception
[QANinjaConference] Automação de Testes com Codeception[QANinjaConference] Automação de Testes com Codeception
[QANinjaConference] Automação de Testes com Codeception
 
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
 
[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception
 
Palestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwarePalestra DevOps para Teste de Software
Palestra DevOps para Teste de Software
 
[TICNOVA2015] Palestra sobre Automação de Testes
[TICNOVA2015] Palestra sobre Automação de Testes[TICNOVA2015] Palestra sobre Automação de Testes
[TICNOVA2015] Palestra sobre Automação de Testes
 

13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver

  • 1. contato@qualister.com.br! ! (48) 3285-5615! ! twitter.com/qualister! ! facebook.com/qualister! ! linkedin.com/company/qualister Mini-­‐curso Automação de Testes Funcionais com Selenium Webdriver
  • 2. Instrutor Júlio de Lima Especialista em teste de software com ênfase em automação de testes de software, possui formação em Tecnologia da Informação e certificações internacionais (CTFL e CTAL-­‐TM pelo ISTQB) e nacional (CBTS pela ALATS) julio.lima@qualister.com.br twitter.com/juliodelimas br.linkedin.com/in/juliodelimas
  • 3. Qualister • Fundada em 2007 • Mais de 1.000 clientes em todo o Brasil • Mais de 50 cursos sobre teste de software • Mais de 3.000 alunos formados • Áreas de atuação: • Consultoria na área de teste qualidade de software • Cursos • Revenda de ferramentas
  • 4. Agenda Automação de Testes Funcionais com Selenium WebDriver 1.Fundamentos em automação de testes 2.Boas práticas 3.Identificando elementos 4.Introdução ao JUnit 5.Sobre o Selenium WebDriver 6.Let's automate! http://slidesha.re/1B1WXJe
  • 6. Fundamentos em automação de testes ! ! O que é teste de software? Manuais e Automatizados
  • 8. Fundamentos em automação de testes ! Alta velocidade de execução! Alta amplitude e profundidade de testes! Repetitível ! Pouco envolvimento humano! Resultados consistentes!
  • 10. Boas práticas Concisos: os testes automatizados devem ser tão simples quanto possível, mas não simples demais; Explícitos: os testes automatizados relatam os desvios por meio de relatórios explicitamente, sem a necessidade de interpretação humana; Repetíveis: os testes automatizados podem ser executados quantas vezes forem necessárias sem a intervenção humana; Claros: as instruções codificadas nos testes automatizados devem ser claras e fáceis de entender; Eficientes: os testes automatizados devem ter um desempenho satisfatório; Independentes: os testes automatizados devem satisfazer as suas próprias precondições e devem permitir a sua execução em qualquer ordem de maneira independente;
  • 16. Identificando elementos • Identificação por ID Ex. <input type="text" id="nome" /> • Identificação por NAME Ex. <textarea name="nome"></textarea> • Identificação por CSS Ex. <button class="btn btn-­‐medium btn-­‐save" /> • Identificação por XPath Ex. //input[@name="cpf"]
  • 18. Introdução ao JUnit • É um framework de testes para Java • Vai nos ajudar principalmente a validar os resultados esperados • Já traz mecanismos visuais para informar se o teste passou ou qual problema de validação foi encontrado
  • 19. Introdução ao JUnit • No JUnit, um teste é identificado pela anotação @Test • Com ela o JUnit saberá controlar se um teste deve ser executado • A anotação @Test sempre deve estar acima de um método público
  • 20. Introdução ao JUnit • Assertions (asserções) são formas de garantir algum tipo de informação. • Podemos compará-­‐las como a validação do resultado esperado de um teste • Duas asserções muito utilizadas são: – assertTrue – assertEquals !
  • 21. Introdução ao JUnit public class ClienteTestes{ @Test public void testeUm(){ Assert.assertEquals("Jose Silva", mostrarNome()); } public string mostrarNome(){ return "Jose Silva"; } }
  • 22. Sobre o Selenium WebDriver
  • 23. Sobre o Selenium WebDriver • É uma API (Application Programming Interface) • Executa ações em browsers web simulando um usuário • Como se trata de uma API, é necessário programar/desenvolver os scripts de teste • Pode ser desenvolvido nas seguintes linguagens nativamente:
  • 24. Sobre o Selenium WebDriver • Usaremos a API em Java • Usaremos o Netbeans para desenvolver os testes em Java • Usaremos o Junit para suporte aos testes • Observação: Uma API como o WebDriver não tem “integração” com qualquer ferramenta de teste unitário. O que fazemos é usar a API do WebDriver em um código/script juntamente com código de uma ferramenta de teste unitário, como o Junit.
  • 26. Comandos utilizados no Hands-­‐On FirefoxBinary binary = new FirefoxBinary(new File("C: UsersediadejavaAppDataLocalMozilla Firefox firefox.exe")); FirefoxProfile profile = new FirefoxProfile(); WebDriver driver = new FirefoxDriver(binary, profile);
  • 27. Comandos utilizados no Hands-­‐On .get("URL") // Acessar página .quit() // Fechar o browser .getTitle() // Retorna o Title da página .findElement(By.estratégia) // Encontra um WebElement .click() // Clica em um WebElement .sendKeys("Texto") // Digita em um WebElement .clear() // Limpa o conteúdo de um WebElement .submit() // Submete um formulário
  • 28. Comandos utilizados no Hands-­‐On Selecionando valores contidos em Combos Select combo = new Select(driver.findElement(By.name("estado"))); combo.selectByVisibleText("SP"); ! Interagindo com Janelas Javascript driver.switchTo().alert();! driver.accept() ou driver.dismiss() ! Voltando à página driver.switchTo().defaultContent()
  • 29. Comandos utilizados no Hands-­‐On Tirando um print da tela File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(scrFile, new File(“C:tempscreenshot.png”));
  • 30. Links úteis • http://seleniumhq.org Site oficial do Selenium. A documentação e simples e fácil de entender e traz exemplos nas linguagens suportadas ! • http://selenium.googlecode.com Página de desenvolvimento do Selenium. É possível encontrar dados mais técnicos e exemplos mais apurados
  • 31. contato@qualister.com.br ! ! (48) 3285-5615! ! twitter.com/qualister! ! facebook.com/qualister! ! linkedin.com/company/qualister