En aquest tema, aprendrem com capturar captures de pantalla durant l'execució de proves amb Selenium. Aquesta funcionalitat és molt útil per documentar errors, verificar l'estat de l'aplicació en un moment determinat o simplement per a la revisió visual dels resultats de les proves.

Per què Capturar Captures de Pantalla?

  • Documentació d'Errors: Quan una prova falla, una captura de pantalla pot proporcionar informació visual sobre l'estat de l'aplicació en el moment de l'error.
  • Verificació Visual: Assegura't que la interfície d'usuari es mostra correctament en diferents navegadors i resolucions.
  • Revisió de Resultats: Facilita la revisió dels resultats de les proves per part de l'equip de desenvolupament o de qualitat.

Com Capturar una Captura de Pantalla amb Selenium

Selenium proporciona una interfície anomenada TakesScreenshot que permet capturar captures de pantalla. A continuació, es mostra com utilitzar aquesta interfície en un script de Selenium.

Exemple de Codi

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import java.io.File;
import org.apache.commons.io.FileUtils;

public class ScreenshotExample {
    public static void main(String[] args) {
        // Configura el WebDriver
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
        WebDriver driver = new ChromeDriver();

        try {
            // Navega a una pàgina web
            driver.get("https://www.example.com");

            // Captura la captura de pantalla
            File screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);

            // Desa la captura de pantalla en un fitxer
            FileUtils.copyFile(screenshot, new File("screenshot.png"));

            System.out.println("Captura de pantalla desada amb èxit.");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // Tanca el navegador
            driver.quit();
        }
    }
}

Explicació del Codi

  1. Configuració del WebDriver: Es configura el WebDriver per utilitzar el navegador Chrome.
  2. Navegació a la Pàgina Web: El navegador es dirigeix a "https://www.example.com".
  3. Captura de la Captura de Pantalla:
    • Es fa un "cast" del driver a TakesScreenshot.
    • Es captura la pantalla utilitzant getScreenshotAs(OutputType.FILE).
  4. Desament de la Captura de Pantalla:
    • La captura de pantalla es desa en un fitxer utilitzant FileUtils.copyFile.
  5. Gestió d'Excepcions: Es captura qualsevol excepció que pugui ocórrer durant el procés.
  6. Tancament del Navegador: Finalment, es tanca el navegador per alliberar els recursos.

Exercici Pràctic

Objectiu: Captura una captura de pantalla d'una pàgina web de la teva elecció i desa-la en un directori específic.

Passos:

  1. Configura el teu entorn de desenvolupament amb Selenium i el WebDriver adequat.
  2. Escriu un script que:
    • Navegui a una pàgina web de la teva elecció.
    • Capturi una captura de pantalla.
    • Desa la captura de pantalla en un directori específic amb un nom de fitxer únic.
  3. Executa l'script i verifica que la captura de pantalla s'ha desat correctament.

Solució

// Similar al codi anterior, però assegura't de canviar el camí del fitxer i el nom de la pàgina web.

Errors Comuns i Consells

  • Error de Camí Incorrecte: Assegura't que el camí on deses la captura de pantalla existeix i és accessible.
  • Problemes de Permisos: Verifica que tens els permisos necessaris per escriure al directori especificat.
  • Gestió d'Excepcions: Sempre gestiona les excepcions per evitar que l'script falli sense avisar.

Conclusió

Capturar captures de pantalla és una tècnica essencial en l'automatització de proves amb Selenium. Proporciona una manera visual de verificar i documentar l'estat de l'aplicació durant l'execució de les proves. Practica aquesta tècnica per millorar la qualitat i la fiabilitat de les teves proves automatitzades.

Automatització de Proves amb Selenium

Mòdul 1: Introducció a l'Automatització de Proves

Mòdul 2: Començant amb Selenium

Mòdul 3: Localització d'Elements Web

Mòdul 4: Interacció amb Elements Web

Mòdul 5: Sincronització en Selenium

Mòdul 6: Marc de Proves i Selenium

Mòdul 7: Conceptes Avançats de Selenium

Mòdul 8: Selenium Grid i Proves en Paral·lel

Mòdul 9: Integració Contínua i Selenium

Mòdul 10: Millors Pràctiques i Resolució de Problemes

© Copyright 2024. Tots els drets reservats