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

Popular posts from this blog

Usando o diagrama de classes no processo de desenvolvimento de software

Como criar um projeto novo em Angular

Atribuições de um Analista de Testes (QA) Quality Assurance