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