En aquest tema, explorarem estratègies avançades per localitzar elements web utilitzant Selenium. A mesura que els llocs web es tornen més complexos, la localització precisa d'elements esdevé crucial per a l'èxit de l'automatització de proves. Aprendrem a utilitzar tècniques avançades per assegurar-nos que els nostres scripts siguin robustos i fiables.

Conceptes Clau

  1. Localitzadors Dinàmics:

    • Els llocs web moderns sovint utilitzen elements dinàmics amb atributs que canvien amb cada càrrega de pàgina. Aprendrem a manejar aquests elements.
  2. XPath Avançat:

    • Utilització de funcions XPath com contains(), starts-with(), i text() per localitzar elements amb atributs dinàmics o text parcial.
  3. Selectors CSS Avançats:

    • Com utilitzar selectors CSS avançats per localitzar elements basats en la seva posició, atributs parcials, o relacions amb altres elements.
  4. Localització Basada en Relacions:

    • Estratègies per localitzar elements basats en la seva relació amb altres elements, com ara elements germans, fills o pares.

Exemples Pràctics

  1. Localitzadors Dinàmics

Quan els identificadors d'elements canvien dinàmicament, podem utilitzar parts constants dels atributs per localitzar-los.

// Exemple d'ús de contains() en XPath per localitzar un botó amb un ID dinàmic
WebElement button = driver.findElement(By.xpath("//button[contains(@id, 'submit')]"));

  1. XPath Avançat

Utilitzant funcions avançades d'XPath per localitzar elements amb text parcial.

// Localitzar un element amb text parcial
WebElement link = driver.findElement(By.xpath("//a[contains(text(), 'Inicia')]"));

  1. Selectors CSS Avançats

Utilitzar selectors CSS per localitzar elements basats en atributs parcials.

// Localitzar un element amb un atribut que comença amb un valor específic
WebElement input = driver.findElement(By.cssSelector("input[id^='user']"));

  1. Localització Basada en Relacions

Localitzar elements basats en la seva relació amb altres elements.

// Localitzar un element fill
WebElement childElement = driver.findElement(By.xpath("//div[@class='parent']/child::div"));

Exercicis Pràctics

Exercici 1: Localització amb XPath Avançat

Objectiu: Escriu un script que localitzi un element de la pàgina utilitzant una funció avançada d'XPath.

Instruccions:

  • Troba un element amb un text parcial utilitzant contains().
  • Prova el teu script en una pàgina web de pràctica.

Solució:

WebElement partialTextElement = driver.findElement(By.xpath("//p[contains(text(), 'benvingut')]"));

Exercici 2: Utilització de Selectors CSS Avançats

Objectiu: Utilitza selectors CSS per localitzar un element amb un atribut que comença amb un valor específic.

Instruccions:

  • Localitza un element d'entrada (input) amb un ID que comenci amb "search".
  • Prova el teu script en una pàgina web de pràctica.

Solució:

WebElement searchInput = driver.findElement(By.cssSelector("input[id^='search']"));

Conclusió

Les estratègies avançades de localització són essencials per a l'automatització de proves en llocs web complexos. Utilitzant localitzadors dinàmics, XPath i selectors CSS avançats, podem crear scripts més robustos i flexibles. Aquestes tècniques ens permeten adaptar-nos a canvis en el disseny de la pàgina i assegurar-nos que els nostres scripts continuïn funcionant correctament. En el següent mòdul, explorarem com interactuar amb elements web utilitzant 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
Fem servir cookies per millorar la teva experiència d'ús i oferir continguts adaptats als teus interessos Acceptar Més informació