En aquest tema, aprendrem com interactuar amb elements web utilitzant Selenium WebDriver. La interacció amb elements web és una part fonamental de l'automatització de proves, ja que ens permet simular el comportament de l'usuari en una aplicació web. A continuació, desglossarem els conceptes clau i proporcionarem exemples pràctics per ajudar-te a comprendre com realitzar accions sobre elements web.
Conceptes Clau
-
Accions Bàsiques:
- Clics
- Introducció de text
- Submissió de formularis
-
Accions Avançades:
- Doble clic
- Arrossegar i deixar anar
- Passar el ratolí per sobre d'un element
-
Utilització de la Classe
Actions
:- Creació d'objectes
Actions
- Construcció i execució d'accions complexes
- Creació d'objectes
Exemples Pràctics
Exemple 1: Clic i Introducció de Text
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class BasicActionsExample { public static void main(String[] args) { // Configuració del WebDriver System.setProperty("webdriver.chrome.driver", "ruta/al/driver/chromedriver"); WebDriver driver = new ChromeDriver(); // Navegar a la pàgina web driver.get("https://exemple.com"); // Localitzar un element i fer clic WebElement button = driver.findElement(By.id("submit-button")); button.click(); // Localitzar un camp de text i introduir text WebElement inputField = driver.findElement(By.name("username")); inputField.sendKeys("usuari_exemple"); // Tancar el navegador driver.quit(); } }
Explicació:
- Utilitzem
findElement
per localitzar elements per ID i nom. click()
simula un clic de l'usuari.sendKeys()
introdueix text en un camp de text.
Exemple 2: Accions Avançades amb la Classe Actions
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.interactions.Actions; public class AdvancedActionsExample { public static void main(String[] args) { // Configuració del WebDriver System.setProperty("webdriver.chrome.driver", "ruta/al/driver/chromedriver"); WebDriver driver = new ChromeDriver(); // Navegar a la pàgina web driver.get("https://exemple.com"); // Crear un objecte Actions Actions actions = new Actions(driver); // Localitzar un element per arrossegar i deixar anar WebElement source = driver.findElement(By.id("source")); WebElement target = driver.findElement(By.id("target")); // Arrossegar i deixar anar actions.dragAndDrop(source, target).perform(); // Tancar el navegador driver.quit(); } }
Explicació:
- La classe
Actions
permet construir accions complexes. dragAndDrop()
arrossega un element i el deixa anar en un altre.perform()
executa l'acció construïda.
Exercicis Pràctics
Exercici 1: Clic i Introducció de Text
Objectiu: Escriu un script que faci clic en un botó i introdueixi text en un camp de text en una pàgina de prova.
Solució:
- Utilitza
findElement
per localitzar el botó i el camp de text. - Utilitza
click()
isendKeys()
per realitzar les accions.
Exercici 2: Doble Clic
Objectiu: Escriu un script que realitzi un doble clic en un element específic.
Solució:
- Utilitza la classe
Actions
per crear una acció de doble clic. - Utilitza
doubleClick()
iperform()
per executar l'acció.
Conclusió
En aquesta secció, hem après com realitzar accions bàsiques i avançades sobre elements web utilitzant Selenium WebDriver. Hem explorat l'ús de la classe Actions
per a accions complexes com arrossegar i deixar anar. Aquestes habilitats són essencials per automatitzar interaccions d'usuari en aplicacions web. En el següent tema, explorarem com gestionar desplegables i caixes de selecció.
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