[MÚSICA] Bom,
estamos então aqui de volta, no nosso hands-on,
onde a gente, na primeira parte, a gente criou aqui uma página,
onde eu tinha duas parcelas aqui, que você entra no formulário,
você clica no "calcular" e aí ele vai mandar aqui para soma servlet,
que vai somar esses valores e vai estar exibindo na tela,
como a gente viu no teste, no finalzinho da aula.
Agora, a gente quer automatizar esse teste.
Então, a gente vai vir aqui no Firefox,
eu já instalei o Selenium IDE, eu vou vir aqui ferramentas,
escolher Selenium IDE, e ele vai abrir essa janelinha aqui do lado,
onde eu consigo estar gravando a interação com a página.
Então, eu vou vir aqui, a partir do momento que eu
clico aqui ele grava, então, aqui, ele já abriu gravando.
Então, eu vou mandar aqui ele gravar novamente,
aquele teste, então eu vou vir aqui, vou dar o refresh
para ele recarregar a página, eu vou escrever aqui,
por exemplo, 21, ou melhor, 12, clico alí,
note que, aqui no teste ele já colocou aqui,
eu vou abrir aqui essa URL e eu vou entrar no p1 com o valor 12.
Eu vou colocar aqui agora 21 e vou
enviar os dados, então, ele também coloca.
Aí como é que eu faço agora?
Agora, eu vou marcar isso daqui, vou clicar aqui com o meu
botão direito e vou vir aqui, assertText,
ele tem outros comandos aqui que eu posso também colocar,
então eu vou vir aqui para ele verificar aqui.
O resultado foi 33, que ele verifica que no h1 tem aquilo lá.
A gente não vai entrar tanto detalhe mas, às vezes é interessante,
principalmente, esses elementos do html que você queira verificar,
você coloca ID neles para facilitar a localização pelo Selenium.
Numa página com mais elementos isso aí pode ser bem importante.
Então, eu vim aqui, peguei aqui o meu teste,
eu vou agora parar aqui de gravar e
a partir daqui eu posso
escolher exportar esse teste,
posso criar aqui outros testes,
posso setar aqui propriedades do teste.
Tá vendo?
Eu posso mudar o título, e tal, e aqui eu posso verificar, por exemplo,
o código-fonte, que é o que ele está gerando alí no formato do Selenium.
Então, baseado nisso,
eu posso vir aqui no arquivo,
quando eu clico nessa janela ele está com os menus aqui,
e aí eu posso escolher "Exportar Teste Como" e, ele dá a opção
aqui para várias linguagens e várias abordagens, até dentro da mesma linguagem.
Então, eu vou escolher aqui o Java WebDriver.
Então, eu vou vir aqui,
eu vou gravar aqui dentro do meu
diretório do NetBeans, vou chamar aqui de "Teste.java".
Vou salvar.
E eu vou abrir aqui fora do NetBeans só para a gente ver o código que ele gerou.
Eu vou vir aqui,
vou escolher aqui o Open,
vamos achar aqui o diretório do NetBeans.
Ele está dentro aqui do diretório do Coursera.
E, vou
abrir aqui o Teste.java que eu mandei ele gerar.
Então, ele gerou aqui o teste,
e esse testE é basicamente, tá vendo?
Ele pegou o p1, limpou, mandou 12, mandou 21,
clicou, e verificou o resultado.
Então, eu vou vir aqui agora no NetBeans,
eu vou criar novo projeto para poder estar colocando isso daí.
Então, eu vou criar aqui novo projeto, vai ser projeto Java normal,
então Aplicação Java,
eu vou chamar aqui de "TesteFuncionalSomarParcelas",
eu vou chamar aqui de "TesteFuncionalSomarParcelas",
eu finalizo.
Ele criou aqui uma classe com main, que não é o que eu quero,
eu vou aqui estar excluindo.
[SEM ÁUDIO] A primeira coisa
que eu vou fazer é adicionar aqui nesse projeto,
as bibliotecas do Selenium, que eu abri aqui o diretório
do Selenium WebDriver, que eu falei pra vocês baixarem.
Você vai ver que tem aqui o jar do Selenium e ele tem uma pasta "libs" com
as bibliotecas que ele usa, e eu tenho que adicionar isso tudo aqui como biblioteca
do meu projeto, como dependência, para ele poder estar utilizando.
Então, vou minimizar aqui de novo, vou vir aqui nas bibliotecas,
"adicionar jar pasta".
Aqui, ele já está dentro da pasta de bibliotecas, então,
vou selecionar tudo e escolher.
E aqui eu vou adicionar novamente o Selenium
e vou escolher aqui aquele que não precisa ter o código-fonte.
Então, adicionei ali, agora, eu já posso colocar o meu teste aqui dentro.
Então, vou vir aqui criar novo, teste JUnit,
e eu vou chamar aqui TestePaginaSoma.
Então, eu não quero que ele gere
nada disso aqui.
Eu vou dar "finalizar", ele criou ali uma
classe de teste simples, e aí eu vou pegar esse código aqui,
que ele gerou, e vou passar para lá.
Então, eu pego aqui, vou colocar,
obviamente eu preciso levar os imports, também.
Então, eu venho aqui
no meu NetBeans e também copio os imports daquela classe.
Posso apagar aqui esses comentários aqui do NetBeans,
para ficar mais claro aqui para gente.
E ele tem então aqui a classe de teste.
Então, vamos rodar isso daqui pra ver como que funciona.
Então, a gente vê que ele abre aqui, entra aqui no somar parcelas, e tal.
Então vamos lá.
Vamos rodar aqui o teste.
A gente vai ver que ele vai abrir o navegador e vai
executar dentro do navegador mesmo.
Então eu vou chamar aqui Executar Arquivo.
Ele está rodando, a gente vai ver,
já não estou mexendo mais aqui no meu mouse.
Só para a gente ver.
Ele abriu Firefox alí baixo.
A gente vê entrando, ele colocando e fazendo a verificação.
Eu posso, por exemplo,
pegar aqui esse, vou chamar aqui de Test1,
eu posso, por exemplo, pegar e replicar isso aqui.
Eu quero agora que ele entre.
Vou só mudar o nome aqui do teste, que eu quero que
ele entre com 13 e, sei lá, 41, e o resultado,
deixa eu botar alguma coisa que fica diferente aqui, 13 e 9,
e o resultado tem que ser 22.
Então, o que é que vai acontecer?
Quando eu executar agora, então, eu não preciso gravar tudo.
Eu posso a partir de teste que eu gravar,
fazer variações cima desse teste, no próprio código.
Obviamente, como eu falei, a gente não está num curso de Selenium,
então, não vou ensinar todos os comandos, mas a gente pode,
sempre, tem vários comandos que você pode estar
gravando e vários tipos de interação que você pode fazer aqui.
Então, por exemplo, vou executar aqui de novo.
A gente vai ver que ele vai rodar duas vezes aquela interação com a página.
Então, é bem rápido porque, ele faz de forma automatizada,
então, ele roda, abre a aplicação, coloca, testou duas vezes.
Se a gente olhar aqui ele tem os dois testes aqui.
Só para a gente ver que ele realmente está testando,
se eu tiver aqui, por exemplo, 23,
a gente vai ter que ele vai falhar na hora que ele executar o segundo teste.
Então, eu vou vir aqui, executar arquivo,
ele novamente abre o navegador,
coloca, roda, roda, certo?
Ali ele deu uma, parece que a aplicação
web si deu uma travada.
Vamos ver aqui o que aconteceu.
Acho que a minha máquina inteira travou.
Aí, foi.
Demorou mas rodou.
Então, aqui ele deu que falhou o segundo teste, ele mostra alí onde foi.
Se a gente for ver aqui o problema, ele fala assim: "Olha,
eu esperava 'o resultado foi 23' mas achei 'o resultado
foi 22'." Então, ele realmente pegou ali que deu problema.
Bom, é isso, espero que vocês tenham entendido como fazer a gravação do teste
utilizando o Selenium IDE e como você usar o WebDriver para colocar esses testes
dentro da suíte de testes automatizados, lembrando que a sua aplicação tem que
estar executando para que esses testes possam rodar.
Muito obrigado.
[MÚSICA]