Buscar

Manual de Uso Selenium

Prévia do material em texto

Manual de Instruções do Selenium WebDriver, automação de 
testes em Java. 
 
 
 
 
Grupo: 
Christian Rodrigues 3629 
Jordi Henrique M Silva 3927 
Lucas Braga 2751 
Pedro H. Cunha 2727 
 
 
 
 
 
 
 
 
 
Manual de Instruções para Selenium web Driver 
 
Para o começar a fazer testes automatizados em interfaces gráficas web com Selenium 
precisamos de algumas tecnologias trabalhando juntas, tais elas são Selenium Remote 
Control, Selenium Grid e Web Driver. 
1. O Selenium Remote Control: 
é um cliente/servidor que controla um navegador local ou em outro computador 
utilizando scripts do Selenium IDE ou scripts criados em diferentes linguagens de 
programação. 
Selenium Remote Control é dividido em duas partes: 
1. um servidor que abre e fecha um navegador web e age como um proxy HTTP 
para as requisições web dos scripts Selenium. 
2. Bibliotecas para as linguagens de programação suportadas pelo Selenium. 
Quando queremos automatizar testes fora do FireFox utilizaremos o Selenium Remote 
Control através de linhas de comando para executar suítes de teste em qualquer 
computador. 
2. Web Driver 
É uma melhoria do Selenium 1.0 feito pela Google. Que se trata de um conjunto de 
bibliotecas para as linguagens de programação suportadas. Hoje em dia ela é 
amplamente utilizada por nos dar liberdade no momento da criação e alteração do script, 
pois podemos utilizar a linguagem de programação preferida e utilizamos de todo o 
poder dela (como criação de classes, loops, manipulação de erros, etc...). 
Possui suporte aos principais navegadores do mercado: 
 Android (Web) 
 iOS(Web) 
 Firefox 
 HtmlUnit 
 Opera 
 Safari 
Navegadores como Chrome e Internet Explorer precisão de um interpretador para que 
os comandos enviados pelo webdriver sejam entendidos. 
3. Selenium Grid 
 
É uma extensão que oferece serviços como a execução de testes remotos, testes 
distribuídos/paralelos e gerenciar múltiplos ambientes de um único ponto para que 
possamos executar testes em diferentes configurações de navegadores e sistemas 
operacionais. 
 
 
 
 
Preparando o Ambiente 
Para configuração da maquina vamos precisar de algumas ferramentas que são: 
webdriver, selenium romote control, Java, Maven, Junit e IDE(Eclipse). 
O primeiro passo é fazer o download da IDE que no caso é o eclipse, que por aventura 
já oferece o maven instalado que ira auxiliar a gerenciar as dependências que no caso 
é a integração do Junit, Web driver e o Selenium Remote Control. 
Basta abrir seu navegador e digitar o endereço 
https://www.eclipse.org/downloads/packages/ e escolher a ide que oferece suporte para 
java e mais te agrade e logo em seguida clickar na versão do seu Sistema Operacional 
e o download começara automaticamente. 
Agora vamos realizar o download do Interpretador para o navegador chrome que é 
encontrado no endereço 
http://chromedriver.storage.googleapis.com/index.html?path=2.33/ em seguida escolha 
a versão do seu Sistema Operacional e o download começara automaticamente. 
Após instalar o eclipse vamos seguir os seguintes passos: Criar um projeto maven e 
descrever as dependências que vamos utilizar que serão : Junit , selenium e o chrome 
driver. 
1. Criar um Projeto Maven 
Para criar um projeto maven você terá que abrir o eclipse e clicar no menu file->new-
>Project->Maven Project que resultara na seguinte tela: 
 
 
Em seguida click em next> que resultara na tela de localização e nome do projeto, deve 
se marca o check box que tem como titulo create a simple Project. 
 
 
Clique em next> e preencha os campos group id(numero do projeto) e Artifact id(nome 
do projeto). O campo packaging deve ter a opção jar selecionada 
 
 
 
 
E clique em finsh e pronto agora temos um projeto Maven criado e devemos apenas 
configurar as dependências. 
 
 
 
 
2. Configurar o Arquivo maven de Dependencias(pom.xml) 
 
Agora iremos configurar o arquivo pom, para abrir a parte de código selecione a 
opção pom.xml no canto inferior direito. 
 
 
 
 
Agora iremos colocar as dependências necessárias para o projeto reconheça e 
baixe os drivers e as bibliotecas. 
 
 
 
Pronto, agora estamos com nosso hambiente programador para realização de casos de 
testes, no capitulo a seguir aprenderemos a fazer um cadastro no trello em java. 
 
Exemplo de Teste Automatizado Selenium programado em Java. 
Primeiro precisamos criar um packcage br.com dentro src/test/java e agora dentro de 
br.com crie uma classe com nome de Chrome, após a criação da classe vamos inserir 
as bibliotecas que são necessárias para a configuração do web driver. Vamos importar 
as seguintes bibliotecas: org.junit.AfterClass; org.junit.BeforeClass; org.junit.Test; 
org.openqa.selenium.WebDriver; org.openqa.selenium.chrome.ChromeDriver; 
E agora vamos definir os métodos de testes que são : terDown, setUp,test. Também 
deve ser implementado um construtor que seta a variável driver do tipo Webdriver. 
Devemos implementar como atributo statico driver do tipo WebDriver. Seu nível de 
encapsulamento ´deve ser protected. 
No método setUp iremos definir para o web driver que iremos usar o chrome para 
automatizar um teste, para isso devemos passar como paramentro para a função 
System.setProperty(“ DRIVE”,”CAMINHO DO DRIVE(ex: C:\\chromedriver.exe”), nosso 
drive sera o “webdriver.chrome.driver”. Em seguida atribuiremos a variável driver uma 
instacia do ChromeDriver(). 
Agora temos o Web driver configurado e podemos inserir o endereço que o navegador 
carregara primeiro, no nosso caso era o site do trello na área de cadastro, onde vamos 
automatizar o teste de funcionalidade em que testamos se a função de cadastro esta 
sendo feita. Para fazer isso usamos uma função da classe webdriver que se chama 
get(“Endereço”) nosso endereço é https://trello.com/signup?returnUrl=%2F . 
No método terDown vamos definir que iremos fechar aba que foi usado o teste e depois 
fechar o navegador, isto pode ser feito usando funções da classe Webdriver como: 
close() para fechar a aba e quit() para fechar o navegador. 
Nossa classe deve ficar assim em java: 
 
 
Agora vamos criar a classe onde iremos configurar o teste de funcionalidade, crie um 
package com nome técnicasdeteste, em seguida crie uma classe com nome 
testedefuncionalidade, e importe as seguintes bibliotecas: org.openqa.selenium.By; 
org.openqa.selenium.WebDriver; org.openqa.selenium.WebElement; 
Em seguida crie um atributo statico driver do tipo WebDriver. Seu nível de 
encapsulamento deve ser protected. Também deve ser implementado um construtor 
que receba o atributo driver da classe WebDriver. 
Agora iremos definir o método que realiza o cadastro, para preencher os campos iremos 
usar uma variável do tipo WebElement e vamos atribuir a ela a busca do campo. Para 
buscar o campo que iremos preencher usaremos uma função da classe WebDriver que 
se chama findElement(“Elemento”) e para identificar o elemento na tela usaremos a 
função by.id(“id do campo que ira ser prenchido”), em seguida para preencher use a 
variável da classe WebElement com um método sendKeys(“o que vai inserir”), para os 
campos que são caixas de marca ou botão a clicar use o método click() . 
Nossa classe deve ficar assim: 
 
 
 
Para executar o caso de teste iremos implementar na Classe Chrome o método Test e 
colocar mais uma instancia no método setUp. Também iremos definir qual método sera 
testa primeiro e por ultimo apartir de uma integração Junit. 
Dentro da classe Chrome crie uma variável statica do tipo testedefuncionalidade comnome cadastro, em seguida dentro do método setUp , va para ultima linha da função e 
atribua a variável cadastro uma instancia de testedefuncionalidade como paramentro 
use o driver. 
Para implementar o método Test use a função statica da variável 
cadastro.cadastrotrello(). 
Nossa classe deve ficar assim agora 
 
Com @BeforeClass indicamos que o método setUp ira ser executado primeiro, 
@AfterClass define que o método terDown sera executado por ultimo. Para garantir que 
o Junit teste a o nosso cadastro colocamos a anotação @Test.

Continue navegando