¿Cómo tomar una captura de pantalla en Selenium WebDriver usando Java?

Selenium WebDriver capturar captura de pantalla en Selenium tomar captura de pantalla en Selenium Selenium WebDriver

File file = ((TakesScreenshot) driver) ;

Aquí, aprenderemos cómo tomar una captura de pantalla en el controlador web de Selenium y resaltar el elemento usando Java Binding.

Se requieren capturas de pantalla para el análisis de errores, especialmente en el caso de falla del caso de prueba. Cada vez que falla un caso de prueba, necesitamos algún archivo adjunto para verificar esa falla. Selenium puede tomar automáticamente una captura de pantalla durante la ejecución, y también podemos marcar un borde para resaltar ese elemento.

Pasos para tomar una captura de pantalla en el controlador web de selenium:

1. Tome una captura de pantalla y guárdela en un formato de archivo

2. Copie la captura de pantalla a una ubicación usando el método CopyFile  

FileUtils.copyFile (Archivo, nuevo archivo («ubicación donde desea guardar la imagen» + Nombre de archivo + «.jpeg»)); 
 

3. Crear un borde alrededor del elemento: Usando el ejecutor de JavaScript, podemos crear un borde alrededor del elemento deseado.

JavascriptExecutor js = (JavascriptExecutor) driver;

js.executeScript("arguments[0].style.border = '3px solid red'", Element);

Consulte el código completo a continuación para la parte de implementación

Java

// Java program how to take
// a screenshot in Selenium
// WebDriver
 
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        // Setting webDriver to chrome
        System.setProperty("webdriver.chrome.driver",
                           "driver path");
        driver = new ChromeDriver();
        driver.get("https://www.google.co.in");
 
        WebElement Element = driver.findElement(
            By.xpath("//input[@name='q']"));
 
        // Assignments to webDriver
        MakeBorder(Element);
        Thread.sleep(2000);
        TakeScreenshot("GooglePage");
        driver.quit();
    }
 
    // Function to Take screenshot
    public static void TakeScreenshot(String FileName)
        throws IOException
    {
        // Creating instance of File
        File File = ((TakesScreenshot)driver)
                        .getScreenshotAs(OutputType.FILE);
 
        FileUtils.copyFile(File,
                           new File("image location"
                                    + FileName + ".jpeg"));
    }
 
    // Function to Make border
    public static void MakeBorder(WebElement Element)
    {
 
        JavascriptExecutor js = (JavascriptExecutor)driver;
        js.executeScript(
            "arguments[0].style.border = '3px solid red'",
            Element);
    }
}

Salida :

Publicación traducida automáticamente

Artículo escrito por rajatshandilya25 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *