Automação de Testes com Selenium
A realização de testes automatizados é uma prática muito
comum entre os desenvolvedores e analista de testes (QA). Essa prática serve
para identificar falhas no sistema até mesmo antes de realizar testes em massa.
Para isso existem diversas ferramentas que são utilizadas para realizar testes
automatizados, uma delas muito utilizada para automatizar testes em aplicações
web é o Selenium, ferramenta para automação de testes muito utilizada por
analistas de testes para desenvolver testes em aplicações web.
O Selenium permite que o analista desenvolva uma serie de
testes, com diversos cenários de testes para que eles possam identificar possíveis
erros e falhas no sistema após a implantação do sistema.
Para iniciar o processo de automação
de testes em uma aplicação WEB, primeiro baixamos a dependência do Selenium para
que seja importada todas as classes necessárias para automatizar um cenário de
teste.
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
Após a realização do download da dependência podemos iniciar
o processo de automação. Para isso iniciamos chamando o site no qual queremos
automatizar os testes:
driver.get("https://www.example.com");
Após a chamada do site, devemos indicar ao Selenium quais
elementos iremos testar.
WebElement ct01 =
driver.findElement(By.id("ct01"));
WebElement ct02 =
driver.findElement(By.id("ct02"));
WebElement ct03 =
driver.findElement(By.id("ct03"));
WebElement ct04 =
driver.findElement(By.id("ct04"));
WebElement ct05 =
driver.findElement(By.id("ct05"));
WebElement bt01 =
driver.findElement(By.id(“button”));
Após indicar ao Selenium os elementos que iremos utilizar,
iremos interagir com esses elementos. Como os elementos acima se trata de cinco
caixas de texto iremos interagir com as cinco caixas de texto utilizando
Selenium.
ct01.click();
ct01.sendKeys("texto01");
ct02.click();
ct02.sendKeys("texto02");
ct03.click();
ct03.sendKeys("texto03");
ct04.click();
ct04.sendKeys("texto04");
ct05.click();
ct05.sendKeys("texto05");
bt01.submit();
Após realizar o teste iremos receber uma mensagem de sucesso
caso o teste tenha sido realizado com sucesso, ou uma mensagem de erro caso o
teste tenha falhado.
O código abaixo mostra como o ficaria o teste caso ele fosse
desenvolvido em uma única classe.
import
org.openqa.selenium.WebDriver;
import
org.openqa.selenium.WebElement;
import
org.openqa.selenium.By;
import
org.openqa.selenium.chrome.ChromeDriver;
import
org.openqa.selenium.support.ui.WebDriverWait;
import
org.openqa.selenium.support.ui.ExpectedConditions;
public class
TesteSelenium {
public static void main(String[] args) {
// Configurar o caminho para o driver
do navegador
System.setProperty("webdriver.chrome.driver",
"caminho/para/chromedriver");
// Inicializar o WebDriver
WebDriver driver = new ChromeDriver();
try {
// Navegar para a página desejada
driver.get("https://www.example.com");
// Localizar um elemento
WebElement ct01 =
driver.findElement(By.id("ct01"));
WebElement ct02 =
driver.findElement(By.id("ct02"));
WebElement ct03 =
driver.findElement(By.id("ct03"));
WebElement ct04 =
driver.findElement(By.id("ct04"));
WebElement ct05 =
driver.findElement(By.id("ct05"));
WebElement bt01 =
driver.findElement(By.id(“button”));
// Interagir com o elemento
ct01.click();
ct01.sendKeys("texto01");
ct02.click();
ct02.sendKeys("texto02");
ct03.click();
ct03.sendKeys("texto03");
ct04.click();
ct04.sendKeys("texto04");
ct05.click();
ct05.sendKeys("texto05");
bt01.submit();
// Esperar até que uma condição
seja satisfeita
WebDriverWait wait = new
WebDriverWait(driver, Duration.ofSeconds(10));
wait.until(ExpectedConditions.titleContains("Esperado"));
// Verificar o resultado
String titulo = driver.getTitle();
if (titulo.equals("Titulo
Esperado")) {
System.out.println("Teste
passou!");
} else {
System.out.println("Teste
falhou!");
}
} finally {
// Fechar o navegador
driver.quit();
}
}
}
O código acima é um demonstrativo de como deve ser realizado
um teste automatizado utilizando Selenium. Através do exemplo acima podemos
aplicar essa ferramenta para desenvolver diversos cenários de testes utilizando
a ferramenta de testes automatizados Selenium.
Comments
Post a Comment