Buscar

Básico sobre Java para automatizar testes usando selenium

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Abril 28, 2018
Everton de Souza
evrasouza@gmail.com
linkedin.com/in/evertonrsouza/
Básico sobre Java para automatizar testes usando selenium webdriver
Everton de Souza
evrasouza@gmail.com
linkedin.com/in/evertonrsouza/
Everton Rafael de Souza (ersouza@)
34 anos - IBMista a 8 anos
Graduado em Ciência da Computação
Atua na área e testes a 10 anos como analista de testes e a 5 anos como analista de automação.
Além de analista de testes sou programador Java com certificação em Java para IBM Rational Functional Tester.
Atuei em 4 projetos IBM na área de automação de testes
Atualmente trabalho na conta export AT&T.
Selenium WebDriver é um framework open-source java*, usado para simular ações humanas em uma aplicação web.
Download em: http://seleniumhq.com
Framework disponível nas linguagens: C#, Ruby, Python, PHP
// Configuranco o driver para navegacao
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.get("http://automationpractice.com/index.php");
// Fazendo Login em uma aplicação
driver.findElement(By.className("login")).click();
WebElement formularioSignIn = driver.findElement(By.id("login_form"));
formularioSignIn.findElement(By.id("email")).sendKeys(email);
formularioSignIn.findElement(By.id("passwd")).sendKeys(senha);
formularioSignIn.findElement(By.id("SubmitLogin")).click();
// Fazendo que um texto esta presente na tela
WebElement pergunta = driver.findElement(By.className("page-heading"));
String textoNoElementoBtn = pergunta.getText();
assertEquals(mensagem, textoNoElementoBtn);
// Validar que a página foi apresentada
String urlEsperadaaposLogin = “https://”;
assertEquals(driver.getCurrentUrl(), urlEsperadaaposLogin);
Variáveis
. Variáveis são elementos utilizados par armazenar um determinado valor. Chama-se “variável” porque esse valor pode ser alterado durante o decorrer da execução do programa;
. Toda variável tem um nome que pode ser definido pelo programador;
. Em Java, variáveis possuem “Tipagem forte”, ou seja, é necessário definir qual é o tipo de informação que ela poderá receber;
Declarando e atribuindo valor a uma variável
int quantidade = 55;
TIPO
NOME
VALOR
Tipos mais comuns em automação
String
int
boolean
objetoQualquer
Caracteres alfanuméricos
Um objeto de qualquer natureza
Verdadeiro ou Falso (true or false)
Números
Tipos mais comuns em automação (declarando)
String nome = “Everton”;
Int quantidade = 55;
boolean terminou = false;
objetoQualquer campo = new objetoQualquer();
Sobre variáveis de tipo objetoQualquer
Veja exemplos de um objeto “carro”
Carro ford = new Carro();
Carro fiat = new Carro();
Carro renault = new Carro();
Carro bmw = new Carro();
Métodos
. Métodos são blocos de programação que podem ser requisitados quando necessários;
. É possível enviar parâmetros quando houver necessidade de executa-los;
. Ao fim da execução de um método, ele pode, ou não, retornar informações;
Métodos
Void meuNome(String nome){
	System.out.println(nome);
}
Int minhaIdade(){
	return 30;
}
Métodos (USO)
esteEMeuNome(555);
esteEMeuNome(“Manoela”);
esteEMeuNome(“Fabio”);
System.out.println(minhaIdade);
Objetos
. Objetos são elementos que possuem atributos (também chamados de propriedades) e métodos;
. Atributos de um objeto podem ser, por exemplo: a cor, a altura, a largura, etc;
. Métodos são as ações que um objeto pode realizar, por exemplo: saltar, andar, falar, ligar, etc;
Atributos
. Nome
. Instâncias Abertas
. Plugins
. Título da Página
. Página Aberta
Métodos
. Navegar para um site . Voltar
. Mostrar Código Fonte
. Atualizar a Página
. Fechar
CHROME
Atributos
. String Nome
. int Instâncias Abertas
. boolean Plugins
. String Título da Página
. String Página Aberta
Métodos
. void Navegar para um site
. void Voltar
. String Mostrar Código Fonte
. void Atualizar a Página
. void Fechar
CHROME
Classes
. Classes descrevem as características de um objeto, ou seja, seus atributos e seus métodos;
. Possuem modificadores públicos e privados;
. Modificadores privados fazem com que o elemento só possa ser utilizado dentro do escopo em que se encontra;
. Modificadores públicos permitem que o elemento seja usado em qualquer lugar;
Instanciar um Objeto
Na programação orientada a objeto toda vez que um novo objeto é criado é necessário instanciá-lo, isso significa que será necessário armazenar um espaço na memória exclusivo para ele assim como acontece com as variáveis. Dessa forma o computador entende que aquele objeto poderá ser utilizado enquanto a aplicação estiver rodando ou enquanto a página estiver sendo processada no caso de aplicações WEB.
Na maioria das linguagens de programação orientada a objetos a instrução new é utilizada para indicar que um novo objeto será criado ou instanciado como é mais comum de se dizer, assim como mostra o exemplo abaixo.
var Car = new carro();
No exemplo instanciamos um novo objeto do tipo carro, a partir de agora toda a chamada de atributos e métodos pertencentes ao objeto podem ser chamados utilizando a variável “Car”
Instanciando um Objeto
// Até agora era apenas uma estrutura, mas agora teremos um objeto real;
Chrome navegadorChrome = new Chrome();
Atributos
. Nome
. Instâncias Abertas
. Plugins
. Título da Página
. Página Aberta
Métodos
. Navegar para um site . Voltar
. Mostrar Código Fonte
. Atualizar a Página
. Fechar
CHROME
Atributos
. Nome
. Instâncias Abertas
. Plugins
. Título da Página
. Página Aberta
Métodos
. Navegar para um site . Voltar
. Mostrar Código Fonte
. Atualizar a Página
. Fechar
CHROME
Não tem suporte a plugins
Não apresenta código Fonte
Generalização e Especialização
. É possível ter classes que servem de base para outras classes, geralmente provendo características comuns a estas. As classes que utilizam a base são denominadas especializações;
Atributos
. Nome
. Instâncias Abertas
. Plugins
. Título da Página
. Página Aberta
Métodos
. Navegar para um site . Voltar
. Mostrar Código Fonte
. Atualizar a Página
. Fechar
Navegador
Generalização e Especialização
Como o chrome, Firefox e Internet explorer são especializações da classe NAVEGADOR, podemos fazer assim;
Navegador firefox = new Firefox();
Navegador internetExplorer = new Explorer();
Navegador chrome = new Chrome();
Métodos Estáticos
. Métodos estáticos permitem sua utilização sem ter a necessidade de instanciar o objeto do qual ele pertence;
Métodos que retornam objetos
. Vimos anteriormente que uma variável pode ser do tipo qualquer e também que um métodopode retornar um objeto qualquer. Veremos agora um novo método que adicionaremos a classe Chrome, ele retornará um objeto;
Comandos Condicionais
. Comandos condicionais são utilizados para tomada de decisão baseando-se em uma condição;
. Em java temos algumas formas de implementar condicionais, mas vamos focar apenas no comando IF (que significa “SE”)
Listas 
. São elementos que podem armazenar uma série de valores;
. Em java, listas precisam ter um tipo específico;

Continue navegando