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