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

Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testeselliando dias
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Elias Nogueira
 
Shift Left & Shift Right Approach in Testing
Shift Left  &  Shift Right  Approach in TestingShift Left  &  Shift Right  Approach in Testing
Shift Left & Shift Right Approach in TestingRiswan
 
Aplicações Hogan em todo o ciclo de gestão de talentos
Aplicações Hogan em todo o ciclo de gestão de talentosAplicações Hogan em todo o ciclo de gestão de talentos
Aplicações Hogan em todo o ciclo de gestão de talentosHoganAtelieRH
 
Técnicas de Teste para Jogos Digitais
Técnicas de Teste para Jogos DigitaisTécnicas de Teste para Jogos Digitais
Técnicas de Teste para Jogos DigitaisLuana Lobão
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilElias Nogueira
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilAriane Izac
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaFrederico Augusto Do Carmo Moreira
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.pptAna Sarbescu
 

Mais procurados (20)

Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testes
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
 
Shift Left & Shift Right Approach in Testing
Shift Left  &  Shift Right  Approach in TestingShift Left  &  Shift Right  Approach in Testing
Shift Left & Shift Right Approach in Testing
 
Plano de teste
Plano de testePlano de teste
Plano de teste
 
Introdução ao Teste de Software
Introdução ao Teste de SoftwareIntrodução ao Teste de Software
Introdução ao Teste de Software
 
Istqb lesson 1
Istqb lesson 1Istqb lesson 1
Istqb lesson 1
 
Aplicações Hogan em todo o ciclo de gestão de talentos
Aplicações Hogan em todo o ciclo de gestão de talentosAplicações Hogan em todo o ciclo de gestão de talentos
Aplicações Hogan em todo o ciclo de gestão de talentos
 
Istqb lesson 6
Istqb lesson 6Istqb lesson 6
Istqb lesson 6
 
Técnicas de Teste para Jogos Digitais
Técnicas de Teste para Jogos DigitaisTécnicas de Teste para Jogos Digitais
Técnicas de Teste para Jogos Digitais
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação Ágil
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágil
 
Prototipação
PrototipaçãoPrototipação
Prototipação
 
Automation With A Tool Demo
Automation With A Tool DemoAutomation With A Tool Demo
Automation With A Tool Demo
 
Selenium
SeleniumSelenium
Selenium
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
Manual testing
Manual testingManual testing
Manual testing
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.ppt
 

Destaque

Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumIsrael Santiago
 
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
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeisQualister
 
Automação de teste de software
Automação de teste de softwareAutomação de teste de software
Automação de teste de softwareQualister
 
Teste e Qualidade de Software
Teste e Qualidade de SoftwareTeste e Qualidade de Software
Teste e Qualidade de SoftwareQualister
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com seleniumMayron Cachina
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwareQualister
 
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
 
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driverJúlio de Lima
 
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
 

Destaque (20)

Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - Selenium
 
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
 
Selenium ide apresentação
Selenium ide   apresentaçãoSelenium ide   apresentação
Selenium ide apresentação
 
Selenium ide
Selenium ideSelenium ide
Selenium ide
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Automação de teste de software
Automação de teste de softwareAutomação de teste de software
Automação de teste de software
 
Teste e Qualidade de Software
Teste e Qualidade de SoftwareTeste e Qualidade de Software
Teste e Qualidade de Software
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com selenium
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de software
 
selenium-2-mobile-web-testing
selenium-2-mobile-web-testingselenium-2-mobile-web-testing
selenium-2-mobile-web-testing
 
Selenium web pt br
Selenium web pt brSelenium web pt br
Selenium web pt br
 
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
 
Selenium IDE
Selenium IDESelenium IDE
Selenium IDE
 
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
 
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
 

Semelhante a Automação de testes funcionais com selenium webdriver

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
 
TDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredJúlio de Lima
 
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
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumSandy Maciel
 
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
 

Semelhante a Automação de testes funcionais com selenium webdriver (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
 
TDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST 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
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando 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
 

Mais de Qualister

Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveisQualister
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesQualister
 
Perspectivas em teste de software
Perspectivas em teste de softwarePerspectivas em teste de software
Perspectivas em teste de softwareQualister
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de softwareQualister
 
Palestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitPalestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitQualister
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de softwareQualister
 
Juntando para multiplicar
Juntando para multiplicarJuntando para multiplicar
Juntando para multiplicarQualister
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterQualister
 
Testes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxTestes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxQualister
 
Gestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraGestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraQualister
 
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasQualister
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Qualister
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e androidQualister
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword drivenQualister
 
Agile testing
Agile testingAgile testing
Agile testingQualister
 
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemBRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemQualister
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingQualister
 
Free-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingFree-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingQualister
 
Galileo computing software testing
Galileo computing software testingGalileo computing software testing
Galileo computing software testingQualister
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurançaQualister
 

Mais de Qualister (20)

Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveis
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidades
 
Perspectivas em teste de software
Perspectivas em teste de softwarePerspectivas em teste de software
Perspectivas em teste de software
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 
Palestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitPalestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnit
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de software
 
Juntando para multiplicar
Juntando para multiplicarJuntando para multiplicar
Juntando para multiplicar
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeter
 
Testes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxTestes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean ux
 
Gestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraGestão de defeitos e testes com Jira
Gestão de defeitos e testes com Jira
 
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentas
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e android
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword driven
 
Agile testing
Agile testingAgile testing
Agile testing
 
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemBRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
Free-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingFree-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testing
 
Galileo computing software testing
Galileo computing software testingGalileo computing software testing
Galileo computing software testing
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurança
 

Automação de testes funcionais com selenium webdriver

  • 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