Microsoft a publié (en avant-première) un testeur spécial pour dramaturge, son outil d’automatisation des tests. le Testeur de dramaturge Offre des tests inter-navigateurs de bout en bout sans configuration pour les applications Web, les revendications de blague et la prise en charge intégrée de TypeScript. Le nouveau testeur utilise Folio, un framework de test personnalisable pour créer des frameworks de test de haut niveau.

Pendant les tests, les bibliothèques sont activement développées par la communauté (par ex. Bibliothèque de tests de dramaturge, ou alors est un dramaturge) certains développeurs ont montré de l’intérêt pour Reddit pour un bibliothèque de tests intégrée spécialement conçu pour les dramaturges. Microsoft a prévisualisé le testeur officiel de Playwright après l’avoir utilisé en interne pendant quelques mois.

Le coureur de test Playwright propose it, describe, et expect API qui peuvent être utilisées comme suit:

import { it, expect, describe } from "@playwright/test";

describe("feature foo", () => {
  it("compares page screenshot", async ({ page, browserName }) => {
    await page.goto("https://stackoverflow.com");
    const screenshot = await page.screenshot();
    expect(screenshot).toMatchSnapshot(`test-${browserName}.png`, { threshold: 0.2 });
  });
});

Comme le montre le code précédent, les tests sont également définis it Utilisez une fonction asynchrone qui reçoit une série d’arguments. Les arguments standards sont page (une instance d’un Objet de page de dramaturge); context (une instance de NavigateurContexte) et contextOptions;; et browser et browserOptions. le Documentation Fournit des exemples d’utilisation des arguments standard pour tester plusieurs pages, prendre des instantanés visuels et effectuer des comparaisons visuelles, émuler des appareils mobiles et simuler des appels réseau.

Les tests peuvent être exécutés sur un un ou plusieurs navigateursen mode sans tête ou sans tête. Les tests peuvent également être ralentis, les captures d’écran peuvent être enregistrées dans un répertoire séparé en cas d’erreur ou enregistrées via vidéo.

Les développeurs peuvent utiliser les API Folio pour les configurations et les appareils avancés. Folio se décrit comme « un framework de test personnalisable pour créer vos propres frameworks de test ». Voici un exemple d’utilisation de Folio pour configurer la taille de la fenêtre et la gestion des erreurs HTTPS:


import { folio as baseFolio } from "@playwright/test";
import { BrowserContextOptions } from "playwright";

const builder = baseFolio.extend();

builder.contextOptions.override(async ({ contextOptions }, runTest) => {
  const modifiedOptions: BrowserContextOptions = {
    ...contextOptions, 
    viewport: { width: 1440, height: 900 }
  }
  await runTest(modifiedOptions);
});

const folio = builder.build();

export const it = folio.it;
export const expect = folio.expect;



Le fichier de fixture précédent (test/fixtures.ts) crée et exporte prêt à l’emploi it et expect Méthodes à utiliser dans les définitions de test comme suit:


import { it, expect } from "./fixtures";


it("should have modified viewport", async ({ context }) => {
  
});

Folio prend également en charge Notes de test pour gérer les bogues, les flocons et les tests qui ne sont pas encore effectués

Le testeur de Playwright peut être installé comme suit:

npm i -D @playwright/test

Folio est en cours de développement et est en attente. Folio est un projet open source sous licence Apache 2. Le testeur de Playwright est sur le point de publier sa première itération majeure. Les commentaires sont les bienvenus et devraient faire de même Directives de contribution et Code de conduite.





Source link

Recent Posts