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

  1. Accions Bàsiques:

    • Clics
    • Introducció de text
    • Submissió de formularis
  2. Accions Avançades:

    • Doble clic
    • Arrossegar i deixar anar
    • Passar el ratolí per sobre d'un element
  3. Utilització de la Classe Actions:

    • Creació d'objectes Actions
    • Construcció i execució d'accions complexes

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() i sendKeys() 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() i perform() 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

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