En aquest tema, aprendrem com escriure proves utilitzant TypeScript amb Playwright. TypeScript és un superconjunt de JavaScript que afegeix tipat estàtic opcional, el que ens permet escriure codi més robust i mantenible. Combinat amb Playwright, podem crear proves automatitzades eficients i fiables.

Objectius d'Aprenentatge

  • Comprendre com configurar un projecte de Playwright amb TypeScript.
  • Aprendre a escriure proves bàsiques utilitzant TypeScript.
  • Familiaritzar-se amb les bones pràctiques per escriure proves en TypeScript.

Configuració del Projecte

Abans de començar a escriure proves, assegurem-nos que el nostre entorn està correctament configurat.

  1. Inicialitzar un Projecte de Node.js

Primer, crea un nou directori per al teu projecte i inicialitza un projecte de Node.js:

mkdir playwright-typescript-tests
cd playwright-typescript-tests
npm init -y

  1. Instal·lar Playwright i TypeScript

Instal·la Playwright i TypeScript com a dependències del projecte:

npm install playwright typescript ts-node @types/node --save-dev

  1. Configurar TypeScript

Crea un fitxer tsconfig.json per configurar TypeScript:

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "outDir": "./dist"
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules"]
}

  1. Estructura del Projecte

Organitza el teu projecte amb la següent estructura:

playwright-typescript-tests/
│
├── src/
│   └── tests/
│       └── example.test.ts
├── tsconfig.json
└── package.json

Escriure la Primera Prova

Ara que el projecte està configurat, escrivim la nostra primera prova en TypeScript.

Exemple de Prova

Crea un fitxer example.test.ts dins de src/tests/ amb el següent contingut:

import { chromium, Browser, Page } from 'playwright';

describe('Example Test Suite', () => {
  let browser: Browser;
  let page: Page;

  beforeAll(async () => {
    browser = await chromium.launch();
    page = await browser.newPage();
  });

  afterAll(async () => {
    await browser.close();
  });

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

Explicació del Codi

  • Imports: Importem chromium, Browser, i Page de Playwright per crear i gestionar el navegador i les pàgines.
  • describe: Defineix una suite de proves. Aquí agrupem les proves relacionades.
  • beforeAll i afterAll: Funcions que s'executen abans i després de totes les proves de la suite. Utilitzem beforeAll per llançar el navegador i afterAll per tancar-lo.
  • test: Defineix una prova individual. En aquest cas, verifiquem que la pàgina de "Example Domain" es carrega correctament i el títol és correcte.

Executar les Proves

Per executar les proves, afegeix un script al package.json:

"scripts": {
  "test": "ts-node src/tests/example.test.ts"
}

Executa les proves amb el següent comandament:

npm test

Bones Pràctiques

  • Utilitza Tipus: Aprofita els tipus de TypeScript per definir clarament les interfícies i estructures de dades.
  • Organitza el Codi: Mantingues les proves organitzades en fitxers i directoris lògics.
  • Reutilitza Codi: Crea funcions auxiliars per a accions repetitives per mantenir el codi net i DRY (Don't Repeat Yourself).

Conclusió

En aquesta secció, hem après a configurar un projecte de Playwright amb TypeScript i a escriure una prova bàsica. Hem vist com utilitzar les capacitats de TypeScript per millorar la qualitat del nostre codi de proves. En el següent tema, explorarem com utilitzar interfícies i tipus de TypeScript per millorar encara més les nostres proves.

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