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)