En aquest tema, aprendrem com Playwright pot emular diferents dispositius i geolocalitzacions per provar aplicacions web en condicions diverses. Aquesta funcionalitat és especialment útil per assegurar que les aplicacions funcionin correctament en una àmplia gamma de dispositius i ubicacions geogràfiques.
Conceptes Clau
-
Emulació de Dispositius:
- Simulació de diferents dispositius com telèfons mòbils, tauletes i escriptoris.
- Ajustament de la resolució de pantalla, l'agent d'usuari i altres característiques específiques del dispositiu.
-
Geolocalització:
- Simulació de la ubicació geogràfica de l'usuari.
- Útil per provar funcionalitats basades en la ubicació, com ara serveis de mapes o contingut localitzat.
Emulació de Dispositius
Playwright proporciona una manera senzilla d'emular dispositius mitjançant la configuració de paràmetres específics. A continuació, es mostra com es pot emular un dispositiu mòbil:
Exemple de Codi: Emulant un iPhone 11
import { chromium, devices } from 'playwright'; (async () => { // Obtenim la configuració del dispositiu iPhone 11 const iPhone11 = devices['iPhone 11']; // Iniciem el navegador amb la configuració del dispositiu const browser = await chromium.launch(); const context = await browser.newContext({ ...iPhone11, }); const page = await context.newPage(); await page.goto('https://example.com'); // Realitzem accions de prova aquí await browser.close(); })();
Explicació del Codi
- Importació de Dispositius: Utilitzem
devices
de Playwright per accedir a configuracions predefinides de dispositius. - Configuració del Context: Creem un nou context de navegador amb la configuració del dispositiu desitjat.
- Navegació i Proves: Naveguem a la pàgina web i realitzem les proves necessàries.
Emulació de Geolocalització
Per emular la geolocalització, podem establir la latitud i longitud desitjades en el context del navegador.
Exemple de Codi: Emulant Geolocalització a Barcelona
import { chromium } from 'playwright'; (async () => { const browser = await chromium.launch(); const context = await browser.newContext({ geolocation: { latitude: 41.3851, longitude: 2.1734 }, // Coordenades de Barcelona permissions: ['geolocation'], }); const page = await context.newPage(); await page.goto('https://example.com'); // Realitzem accions de prova aquí await browser.close(); })();
Explicació del Codi
- Configuració de Geolocalització: Establim les coordenades de latitud i longitud per emular la ubicació.
- Permisos de Geolocalització: Assegurem que el navegador tingui permís per accedir a la geolocalització.
Exercici Pràctic
Objectiu: Emular un dispositiu Android i una ubicació a Nova York per provar una aplicació web.
Instruccions
- Utilitza Playwright per emular un dispositiu Android.
- Estableix la geolocalització a Nova York (latitud: 40.7128, longitud: -74.0060).
- Navega a una pàgina web de la teva elecció i verifica que la configuració s'aplica correctament.
Solució
import { chromium, devices } from 'playwright'; (async () => { const androidDevice = devices['Pixel 5']; const browser = await chromium.launch(); const context = await browser.newContext({ ...androidDevice, geolocation: { latitude: 40.7128, longitude: -74.0060 }, // Coordenades de Nova York permissions: ['geolocation'], }); const page = await context.newPage(); await page.goto('https://example.com'); // Verifica la configuració aquí await browser.close(); })();
Conclusió
L'emulació de dispositius i geolocalització amb Playwright és una eina poderosa per assegurar que les aplicacions web funcionin correctament en diferents entorns. Aquestes tècniques permeten als desenvolupadors simular una àmplia gamma de condicions d'usuari, millorant així la qualitat i la cobertura de les proves. En el següent tema, explorarem com intercepció de xarxa i simulació poden millorar encara més les nostres proves.
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