Capturar um screenshot é uma das ações frequentemente desejadas, quando automatizamos um teste com selenium.
A aplicação do screenshot, pode ser útil de diferentes maneiras, como provendo evidências de um problema encontrado ou servindo para análise e comparação do estado da interface, etc.
Abaixo, disponibilizo um exemplo, extremamente simples, utilizando o Selenium WebDriver com Java.
import java.io.File;
import java.io.IOException;
import java.util.Date;
import org.apache.commons.io.FileUtils;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class SimpleScreenshot {
private static WebDriver driver;
/**
* Inicialização do driver do firefox
*/
@BeforeClass
public static void beforeClass() {
driver = new FirefoxDriver();
}
/**
* Navega para url do bytes don't bite
* Captura o Screenshot
*/
@Test
public void testScreenshot() {
driver.get("http://www.bytesdontbite.com");
takeScreenshot("teste");
}
/**
* Método para capturar screenshot
* @param fileName - Nome do arquivo
*/
public static void takeScreenshot(String fileName){
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
Date data = new Date();
try {
FileUtils.copyFile(scrFile, new File("D:\\SeleniumScreenShots\\"+fileName+ data.getTime()+".jpeg"),true);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Encerra o driver
*/
@AfterClass
public static void afterClass() {
driver.quit();
}
}
Como pudemos ver no código acima, a única coisa que precisamos fazer é implementar o método takesScreenshot, e utilizá-lo nos pontos em que julgarmos necessário. No exemplo, simplesmente iniciamos um FirefoxDriver e o nosso “teste” se resumiu a navegar para a url do bytes don’t bite e em seguida chamar a captura do screenshot.
Ainda não conhece o Selenium?
Uma das mais utilizadas ferramentas para automação de testes em aplicações web. Permite interagir com o navegador e simular as operações comumente encontradas nas páginas web.
Deseja conhecer mais sobre o Selenium?
— UPDATE —
Inscrições abertas
O curso de Automação de Testes Para Web com Selenium está disponível na modalidade de Ensino à distância. Contaremos com um material de vídeo-aulas, apostilas e exercícios, além do acompanhamento de um professor/tutor.
Valor: R$250,00 (Pode ser parcelado no cartão de crédito)

Curtir isso:
Curtir Carregando...