Selenium, Java e como passei do QA manual para o automatizado
Como parte de continuar me preparando para o mundo do trabalho, melhorando meu salário e atualizando minhas habilidades, decidi fazer algumas mudanças no meu perfil de dev, principalmente porque meu foco tem sido a linguagem Java e queria fortalecer a programação e testes.
Nesse sentido, meu objetivo era passar do controle de qualidade manual para o automatizado, algo para o qual você deve se preparar bem. Isso não significa que você deve ser um especialista/em programação, mas sim ter conhecimento em Programação Orientada a Objetos (POO), classes, tipos de dados, métodos e aplicá-los na prática.
Só para constar, não sou um especialista (ainda estou aprendendo)! É sobre não ficar no "comprei um curso, mas nunca fiz porque já passei também". Sente-se um dia em frente ao seu laptop e se comprometa a buscar informações, a fazer aquele curso que você tem, a entrar em um blog, a ler experiências. Encontre uma comunidade e não fique frustrado! Todos nós temos a capacidade.
Para entrar no assunto, quero contar sobre o passo que dei do controle de qualidade manual para o automatizado, algo em que usei ferramentas como Selenium e Java.
Vamos começar...
O que é Selenium Web Driver?
Selenium é uma ferramenta de código aberto usada para automatizar testes em navegadores da web. Com o Selenium, não podemos testar nenhum aplicativo de desktop; em vez disso, ele se concentra em aplicativos dinâmicos da Web.
As vantagens de usar o Selenium:
- Os scripts podem ser feitos em diferentes idiomas: Java, Python, C #, PHP, Ruby, Perl y .Net.
- Nossos testes funcionam em Windows, Mac ou Linux.
- Qualquer navegador pode ser usado: Mozilla Firefox, Internet Explorer, Google Chrome, Safari e Opera.
- Fácil de integrar com Jenkins, Maven e Docker.
Falaremos sobre Selenium com Java, esta última a linguagem que usaremos para automatizar.
Começaremos fazendo as configurações necessárias para usar o Selenium Web Driver:
Configuração do ambiente (Windows)
- Instalar Java JDK.
- Instalar Eclipse.
- Criar um projeto.
- Selenium.
- Importar de livrarias.
- Escolhe o navegador.
- Executar nosso primeiro código em Selenium.
Java é uma linguagem de programação orientada a objetos criada pela Sun Microsystems em 1995. Tem uma grande presença no mundo tecnológico e é utilizada por muitas empresas.
Por possuir um conjunto de especificações, bibliotecas e ferramentas, o Java será muito útil nesse processo.
Devemos ter em mente que todo programa escrito em Java é estruturado por classes. Nesse caso, instalaremos o Java JDK 8 para Windows de 64 bits.
Por que usaremos a versão Java JDK 8?
A Oracle se tornou Java e houve questões legais em que o Java também nasceu como uma iniciativa livre. A partir da versão 9 passa a ser privado devido à aliança com a Oracle, que exige o pagamento de licenças.
Você pode baixar o JDK neste link.
Configuração do Java Path
Vamos instanciar nossas variáveis de ambiente em nosso computador.
Dentro deste processo também utilizaremos a IDE Eclipse.
O que é IDE Eclipse?
O Eclipse é um ambiente de desenvolvimento integrado de código aberto e multi plataforma.
Entre suas características estão:
- Editor de texto com realce de sintaxe.
- Compilação em tempo real.
- Testes de unidade JUnit.
- Controle de versão.
Nesta ocasião, usaremos a versão Eclipse Photon 8, que você pode baixar aqui.
Hora de criar nosso primeiro Projeto de Automação!
A primeira coisa é gerar nosso espaço de trabalho. Isso ajudará você a manter a ordem em seu trabalho e não se confundir ao criar novos projetos.
Você pode fazê-los onde quiser. No meu caso, usei a seção Documentos:
Criar o nosso primeiro projeto no Eclipse
Aqui usamos a mesma versão do JDK. Tente não deixar espaços no nome do projeto.
Baixe a biblioteca Selenium (a versão estável para Java). Você pode fazer isso aqui.
Para que nosso projeto funcione, devemos importar as bibliotecas do Selenium e aplicar as alterações necessárias.
Agora vamos baixar os drivers da Web do navegador. No nosso caso, usaremos a versão Chrome.
Podemos ir para a seção de ajuda do navegador para nos fornecer informações sobre qual versão do nosso navegador temos. O mesmo se aplica aos diferentes navegadores: todos eles têm seus drivers para serem instalados e realizar testes, evitando ter que fazê-los em um único navegador.
Você pode baixar os drivers da Web aqui.
Executar nosso primeiro código com Selenium
Como boas práticas, seguiremos algumas recomendações que nos ajudarão nesse caminho da automação.
- Criação de Pacotes. Exemplo: com.tipodoprojeto.temadotrabalho.
- Faça comentários em nosso código.
Agora vamos criar nossa primeira classe para que possamos visualizar todas as configurações feitas até o momento.
Nossa classe deve ser do tipo Public e public static void main.
Exemplo do classe Iníço
package com.qa.automatizacion;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Inicio {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Mi primer codigo con selenium
System.setProperty("webdriver.chrome.driver", "C:\\Users\\marce\\OneDrive\\Documentos\\AUTOMATIZACION\\lib-chrome\\chromedriver.exe" );
// Instanciamos el navegador
WebDriver driver = new ChromeDriver ();
driver.get("https://www.google.com/");
driver.manage().window().maximize();
}
}
E foi assim que criamos nosso primeiro código em Selenium! Recomendo que guarde todos os seus ficheiros num tapete onde tenha tudo relacionado com a automatização.
Refira-se que existem testes que não podemos automatizar, mas que continuaremos a aplicar manualmente, mas devemos fazer uma análise do nosso casos de teste para validar quais podemos automatizar e quais serão mantidos no modo manual.
Você pode configurar seu IDE de trabalho (por exemplo, alterar a fonte, a cor do plano de fundo etc.) e descobrir gradualmente quais recursos o Eclipse nos oferece.
Detalhes que devemos automatizar
- Processos que estão em constante revisão com o objetivo de executar a funcionalidade de um módulo.
- Fluxos críticos e repetitivos que devemos percorrer para chegar a um determinado módulo.
- Configurações precisas que um usuário deve fazer para entrar no sistema ou em um módulo.
Detalhes que NÃO devemos automatizar
- Processos que são constantemente revisados com o objetivo de revisar o design (o acima é focado na funcionalidade).
- Fluxos que não são necessários para atingir um módulo.
- Processos somente de conteúdo.
- Esses fluxos que são realizados uma vez por ano.
Espero que este guia seja útil e ajude você a obter a automação necessária.
Até logo!
A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.