Baixe o app para aproveitar ainda mais
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.
Compartilhar