En aquest tema, explorarem com gestionar les cookies utilitzant Selenium WebDriver. Les cookies són petites peces de dades que els llocs web emmagatzemen al navegador de l'usuari per recordar informació entre sessions. Aprendre a manipular cookies és essencial per a la personalització de proves i la gestió de sessions.

Conceptes Clau

  • Què són les Cookies?

    • Petites dades emmagatzemades al navegador.
    • Utilitzades per recordar informació de l'usuari i les seves preferències.
    • Poden contenir informació com identificadors de sessió, preferències d'idioma, etc.
  • Per què Manipular Cookies en Proves?

    • Simular diferents escenaris d'usuari.
    • Provar la persistència de dades entre sessions.
    • Gestionar sessions d'usuari sense necessitat de tornar a iniciar sessió.

Operacions amb Cookies en Selenium

Selenium WebDriver proporciona una API per gestionar cookies. A continuació, es detallen les operacions bàsiques que es poden realitzar:

  1. Afegir una Cookie

    • Pots afegir una cookie al navegador per simular un estat específic de l'usuari.
  2. Obtenir Cookies

    • Pots obtenir totes les cookies presents al navegador o una cookie específica.
  3. Eliminar Cookies

    • Pots eliminar una cookie específica o totes les cookies del navegador.

Exemples Pràctics

Afegir una Cookie

// Crear una nova cookie
Cookie cookie = new Cookie("userSession", "1234567890");

// Afegir la cookie al navegador
driver.manage().addCookie(cookie);

Obtenir Cookies

// Obtenir totes les cookies
Set<Cookie> allCookies = driver.manage().getCookies();
for (Cookie c : allCookies) {
    System.out.println(c.getName() + ": " + c.getValue());
}

// Obtenir una cookie específica
Cookie specificCookie = driver.manage().getCookieNamed("userSession");
System.out.println(specificCookie.getValue());

Eliminar Cookies

// Eliminar una cookie específica
driver.manage().deleteCookieNamed("userSession");

// Eliminar totes les cookies
driver.manage().deleteAllCookies();

Exercici Pràctic

Objectiu: Escriu un script que faci el següent:

  • Afegeix una cookie amb el nom "testCookie" i el valor "testValue".
  • Verifica que la cookie s'ha afegit correctament.
  • Elimina la cookie i verifica que ja no existeix.

Solució

import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class CookieExample {
    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();
        driver.get("http://example.com");

        // Afegir una cookie
        Cookie testCookie = new Cookie("testCookie", "testValue");
        driver.manage().addCookie(testCookie);

        // Verificar que la cookie s'ha afegit
        Cookie retrievedCookie = driver.manage().getCookieNamed("testCookie");
        if (retrievedCookie != null && retrievedCookie.getValue().equals("testValue")) {
            System.out.println("Cookie afegida correctament.");
        } else {
            System.out.println("Error en afegir la cookie.");
        }

        // Eliminar la cookie
        driver.manage().deleteCookieNamed("testCookie");

        // Verificar que la cookie s'ha eliminat
        if (driver.manage().getCookieNamed("testCookie") == null) {
            System.out.println("Cookie eliminada correctament.");
        } else {
            System.out.println("Error en eliminar la cookie.");
        }

        driver.quit();
    }
}

Errors Comuns i Consells

  • Error: No es pot afegir una cookie abans de carregar una pàgina.

    • Solució: Assegura't que el navegador ha carregat una pàgina abans d'afegir cookies.
  • Error: La cookie no s'elimina.

    • Solució: Verifica que el nom de la cookie és correcte i que no hi ha errors tipogràfics.

Conclusió

La gestió de cookies amb Selenium és una habilitat important per simular diferents escenaris d'usuari i gestionar sessions. Practicar amb les operacions bàsiques de cookies et permetrà crear scripts de prova més robustos i flexibles. En el següent tema, explorarem com capturar captures de pantalla amb Selenium.

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