En aquest tema, aprendrem com utilitzar els localitzadors ID i Nom per identificar elements web en una pàgina. Aquests localitzadors són fonamentals per a l'automatització de proves amb Selenium, ja que permeten interactuar amb els elements de manera precisa i eficient.

Què són els Localitzadors ID i Nom?

Els localitzadors ID i Nom són dos dels mètodes més comuns per identificar elements en una pàgina web:

  • ID: És un identificador únic assignat a un element HTML. És el mètode més ràpid i fiable per localitzar un element, ja que cada ID ha de ser únic dins d'una pàgina.
  • Nom: És un atribut que pot ser compartit per múltiples elements. Tot i que no és tan únic com l'ID, sovint és suficient per identificar elements quan l'ID no està disponible.

Avantatges i Desavantatges

Localitzador Avantatges Desavantatges
ID Únic, ràpid, fiable No sempre disponible, pot canviar amb freqüència
Nom Fàcil d'usar, sovint disponible Pot no ser únic, menys fiable que l'ID

Com Utilitzar Localitzadors ID i Nom amb Selenium

Exemple de Codi: Localitzador ID

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

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

        // Navega a la pàgina web
        driver.get("https://exemple.com");

        // Localitza l'element per ID
        WebElement element = driver.findElement(By.id("elementId"));

        // Interactua amb l'element
        element.click();

        // Tanca el navegador
        driver.quit();
    }
}

Exemple de Codi: Localitzador Nom

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

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

        // Navega a la pàgina web
        driver.get("https://exemple.com");

        // Localitza l'element per Nom
        WebElement element = driver.findElement(By.name("elementName"));

        // Interactua amb l'element
        element.sendKeys("Text d'exemple");

        // Tanca el navegador
        driver.quit();
    }
}

Exercicis Pràctics

  1. Exercici 1: Escriu un script que localitzi un botó per ID i faci clic sobre ell.
  2. Exercici 2: Crea un script que localitzi un camp de text per Nom i introdueixi un text.

Solucions

Solució Exercici 1

WebElement button = driver.findElement(By.id("submitButton"));
button.click();

Solució Exercici 2

WebElement textField = driver.findElement(By.name("username"));
textField.sendKeys("usuari123");

Errors Comuns i Consells

  • Error Comú: No trobar un element per ID perquè l'ID no és únic o ha canviat.

    • Consell: Assegura't que l'ID és correcte i actualitzat. Si l'ID canvia sovint, considera utilitzar un altre tipus de localitzador.
  • Error Comú: Utilitzar un Nom que no és únic i obtenir múltiples elements.

    • Consell: Si el Nom no és únic, utilitza un altre atribut o combina localitzadors per identificar l'element correctament.

Conclusió

Els localitzadors ID i Nom són eines essencials per a l'automatització de proves amb Selenium. Comprendre com utilitzar-los de manera efectiva pot millorar significativament la precisió i eficiència dels teus scripts de prova. En el següent tema, explorarem altres tipus de localitzadors, com XPath i Selectors CSS, per ampliar les teves habilitats en la localització d'elements web.

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