En aquest tema, explorarem com treballar amb selectors a Playwright. Els selectors són una part fonamental de l'automatització de proves, ja que ens permeten identificar i interactuar amb elements dins d'una pàgina web. Aprendrem a utilitzar diferents tipus de selectors i veurem com Playwright facilita aquesta tasca.
Conceptes Clau
-
Selectors CSS: Els selectors CSS són una manera comuna d'identificar elements a la pàgina. Són flexibles i permeten seleccionar elements basant-se en etiquetes, classes, identificadors i més.
-
Selectors XPath: XPath és un llenguatge de consulta per seleccionar nodes d'un document XML. A Playwright, també es pot utilitzar per seleccionar elements HTML.
-
Selectors de Text: Playwright permet seleccionar elements basant-se en el text visible, cosa que pot ser molt útil per a elements com botons o enllaços.
-
Selectors de Rol: Aquests selectors utilitzen els rols d'accessibilitat dels elements, proporcionant una manera semàntica de seleccionar elements.
-
Selectors de Cadena: Permeten combinar múltiples selectors per identificar elements de manera més precisa.
Exemples Pràctics
Exemple 1: Utilitzant Selectors CSS
import { chromium } from 'playwright';
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
// Selecciona un element per classe
const element = await page.$('.example-class');
console.log(await element?.textContent());
await browser.close();
})();Explicació: En aquest exemple, utilitzem un selector CSS per seleccionar un element amb la classe example-class i imprimim el seu contingut de text.
Exemple 2: Utilitzant Selectors XPath
import { chromium } from 'playwright';
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
// Selecciona un element utilitzant XPath
const element = await page.$('//h1');
console.log(await element?.textContent());
await browser.close();
})();Explicació: Aquí utilitzem un selector XPath per seleccionar el primer element <h1> de la pàgina.
Exemple 3: Utilitzant Selectors de Text
import { chromium } from 'playwright';
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
// Selecciona un botó pel seu text
const button = await page.$('text="Click Me"');
await button?.click();
await browser.close();
})();Explicació: Aquest exemple mostra com seleccionar un botó basant-se en el seu text visible "Click Me" i fer-hi clic.
Exercicis Pràctics
Exercici 1: Seleccionant Elements per Classe
Objectiu: Escriu un script que seleccioni tots els elements amb la classe item i imprimeixi el seu text.
Solució:
import { chromium } from 'playwright';
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
const elements = await page.$$('.item');
for (const element of elements) {
console.log(await element.textContent());
}
await browser.close();
})();Exercici 2: Utilitzant Selectors de Rol
Objectiu: Selecciona un element amb el rol de button i fes-hi clic.
Solució:
import { chromium } from 'playwright';
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
const button = await page.getByRole('button', { name: 'Submit' });
await button.click();
await browser.close();
})();Resum
En aquesta secció, hem après a treballar amb diferents tipus de selectors a Playwright, incloent CSS, XPath, text i rols. Els selectors són essencials per interactuar amb els elements de la pàgina i automatitzar les proves de manera efectiva. Practicar amb aquests exemples i exercicis t'ajudarà a dominar l'ús de selectors en Playwright. En el següent tema, explorarem com gestionar múltiples pàgines i frames.
Dramaturg amb TypeScript: De Principiant a Avançat
Mòdul 1: Introducció a Playwright i TypeScript
- Què és Playwright?
- Configuració del Teu Entorn de Desenvolupament
- Introducció a TypeScript
- Sintaxi Bàsica de TypeScript
Mòdul 2: Començant amb Playwright
- Instal·lant Playwright
- Creant el Teu Primer Script de Playwright
- Comprenent els Conceptes Bàsics de Playwright
- Executant Proves de Playwright
Mòdul 3: Fonaments de Playwright i TypeScript
- Escrivint Proves en TypeScript
- Utilitzant Interfícies i Tipus de TypeScript
- Depurant Proves de Playwright
- Gestionant Codi Asíncron
Mòdul 4: Funcions Avançades de Playwright
- Treballant amb Selectors
- Gestionant Múltiples Pàgines i Frames
- Intercepció de Xarxa i Simulació
- Emulant Dispositius i Geolocalització
Mòdul 5: Estratègies d'Automatització de Proves
- Organitzant Proves i Suites de Proves
- Utilitzant Fixtures i Hooks
- Execució Paral·lela de Proves
- Integració Contínua amb Playwright
Mòdul 6: Tècniques Avançades de TypeScript
- Generics en TypeScript
- Tipus Avançats de TypeScript
- Decoradors de TypeScript
- Millors Pràctiques de TypeScript i Playwright
Mòdul 7: Aplicacions Reals de Playwright
- Proves de Cap a Cap amb Playwright
- Proves Visuals amb Playwright
- Proves de Rendiment amb Playwright
- Estudi de Cas: Implementant Playwright en un Projecte
