L'execució paral·lela de proves és una tècnica que permet executar múltiples proves al mateix temps, reduint significativament el temps total necessari per completar una suite de proves. En aquest tema, aprendrem com implementar l'execució paral·lela de proves utilitzant Playwright i TypeScript.

Conceptes Clau

  • Execució Paral·lela: Executar diverses proves simultàniament en lloc de seqüencialment.
  • Threads i Processos: Comprendre com es gestionen els recursos del sistema per executar proves en paral·lel.
  • Configuració de Playwright: Ajustar la configuració de Playwright per habilitar l'execució paral·lela.

Avantatges de l'Execució Paral·lela

  • Reducció del Temps de Prova: Les proves s'executen més ràpidament, ja que es distribueixen entre múltiples processos.
  • Eficiència de Recursos: Millor utilització dels recursos del sistema, especialment en màquines amb múltiples nuclis de CPU.
  • Detecció Ràpida d'Errors: Els errors es poden identificar més ràpidament, ja que les proves es completen en menys temps.

Configuració de l'Execució Paral·lela amb Playwright

  1. Configuració Bàsica

Per habilitar l'execució paral·lela de proves amb Playwright, primer hem de configurar el fitxer de configuració de Playwright (playwright.config.ts). Aquí és on definirem el nombre de treballadors (workers) que volem utilitzar.

// playwright.config.ts
import { PlaywrightTestConfig } from '@playwright/test';

const config: PlaywrightTestConfig = {
  // Defineix el nombre de treballadors per a l'execució paral·lela
  workers: 4, // Ajusta aquest valor segons el teu sistema
  use: {
    // Configuració comuna per a totes les proves
    headless: true,
  },
};

export default config;

  1. Executar Proves en Paral·lel

Un cop configurat el fitxer, pots executar les proves en paral·lel utilitzant la línia de comandes:

npx playwright test

Playwright gestionarà automàticament la distribució de les proves entre els treballadors disponibles.

  1. Consideracions Addicionals

  • Aïllament de Proves: Assegura't que les proves siguin independents entre elles per evitar interferències.
  • Recursos del Sistema: Ajusta el nombre de treballadors segons els recursos disponibles al teu sistema per evitar sobrecàrregues.

Exercici Pràctic

Objectiu

Configura i executa una suite de proves en paral·lel utilitzant Playwright i TypeScript.

Passos

  1. Configura el Fitxer playwright.config.ts: Defineix el nombre de treballadors.
  2. Escriu Proves Simples: Crea diverses proves senzilles que es puguin executar en paral·lel.
  3. Executa les Proves: Utilitza la línia de comandes per executar les proves i observa el temps d'execució.

Solució

// Exemple de prova simple
import { test, expect } from '@playwright/test';

test('example test 1', async ({ page }) => {
  await page.goto('https://example.com');
  const title = await page.title();
  expect(title).toBe('Example Domain');
});

test('example test 2', async ({ page }) => {
  await page.goto('https://example.com');
  const content = await page.textContent('h1');
  expect(content).toBe('Example Domain');
});

Errors Comuns i Consells

  • Proves Interdependents: Evita que les proves depenguin unes de les altres. Cada prova ha de ser autònoma.
  • Recursos Limitats: Si el sistema es torna lent, redueix el nombre de treballadors.
  • Condicions de Carrera: Assegura't que les proves no comparteixin estat global que pugui causar condicions de carrera.

Conclusió

L'execució paral·lela de proves és una tècnica poderosa per millorar l'eficiència de les proves automatitzades. Amb Playwright, és fàcil de configurar i pot proporcionar beneficis significatius en termes de temps i recursos. Practica configurant i executant les teves pròpies proves en paral·lel per veure els avantatges en acció.

Dramaturg amb TypeScript: De Principiant a Avançat

Mòdul 1: Introducció a Playwright i TypeScript

Mòdul 2: Començant amb Playwright

Mòdul 3: Fonaments de Playwright i TypeScript

Mòdul 4: Funcions Avançades de Playwright

Mòdul 5: Estratègies d'Automatització de Proves

Mòdul 6: Tècniques Avançades de TypeScript

Mòdul 7: Aplicacions Reals de Playwright

Mòdul 8: Conclusió del Curs i Propers Passos

© 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ó