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:
-
Afegir una Cookie
- Pots afegir una cookie al navegador per simular un estat específic de l'usuari.
-
Obtenir Cookies
- Pots obtenir totes les cookies presents al navegador o una cookie específica.
-
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
- Què és l'Automatització de Proves?
- Beneficis de l'Automatització de Proves
- Visió General de Selenium
- Configuració del Teu Entorn
Mòdul 2: Començant amb Selenium
- Introducció a Selenium WebDriver
- Instal·lació de Selenium WebDriver
- Primer Script de Selenium
- Comprensió de la Interfície WebDriver
Mòdul 3: Localització d'Elements Web
- Introducció als Localitzadors
- Ús de Localitzadors ID i Nom
- XPath i Selectors CSS
- Estratègies Avançades de Localització
Mòdul 4: Interacció amb Elements Web
- Realització d'Accions sobre Elements Web
- Gestió de Desplegables i Caixes de Selecció
- Treballant amb Alertes i Pop-ups
- Gestió de Finestres del Navegador i Frames
Mòdul 5: Sincronització en Selenium
Mòdul 6: Marc de Proves i Selenium
- Introducció a TestNG
- Configuració de TestNG amb Selenium
- Creació de Casos de Prova TestNG
- Proves Basades en Dades amb TestNG
Mòdul 7: Conceptes Avançats de Selenium
- Gestió de Trucades AJAX
- Treballant amb Cookies
- Captura de Captures de Pantalla
- Execució de JavaScript amb Selenium
Mòdul 8: Selenium Grid i Proves en Paral·lel
- Introducció a Selenium Grid
- Configuració de Selenium Grid
- Execució de Proves en Paral·lel
- Proves Multinavegador
Mòdul 9: Integració Contínua i Selenium
- Introducció a la Integració Contínua
- Integració de Selenium amb Jenkins
- Automatització de l'Execució de Proves
- Informes i Registre