Aller au contenu

Un test Playwright qui s’inscrit avec une nouvelle adresse et saisit le code de l’e-mail, à l’aide du package proxymail-qa.

  1. Ajoutez proxymail-qa au projet et conservez la clé d’API dans PROXYMAIL_QA_API_KEY.

    npm install --save-dev proxymail-qa
  2. Créez une adresse, inscrivez-vous avec, puis attendez le code.

    since fait ignorer à l’attente tout ce qui a été envoyé avant la soumission du formulaire, pour qu’une nouvelle tentative ne récupère jamais un ancien code. Les attentes durent jusqu’à 30 secondes ; passez timeout pour plus longtemps.

    signup.spec.ts
    import { expect, test } from '@playwright/test';
    import { ProxyMailQA } from 'proxymail-qa';
    const qa = new ProxyMailQA(); // reads PROXYMAIL_QA_API_KEY
    test('sign-up sends a working code', async ({ page }) => {
    const { address, password } = await qa.createAddress({ persona: true, password: true });
    const submitted = new Date();
    await page.goto('/signup');
    await page.getByLabel('Email').fill(address);
    await page.getByLabel('Password').fill(password);
    await page.getByRole('button', { name: 'Sign up' }).click();
    const { value } = await qa.waitForCode(address, { since: submitted });
    await page.getByLabel('Code').fill(value);
    await expect(page).toHaveURL(/welcome/);
    await qa.deleteAddress(address);
    });
  3. Pour un lien au lieu d’un code, attendez le lien et ouvrez-le.

    const { value: link } = await qa.waitForLink(address, { type: 'verify', since: submitted });
    await page.goto(link);

Si rien n’arrive, l’erreur indique pourquoi, dans la mesure où Proxy Mail QA peut le savoir, par exemple que le fournisseur d’e-mails de votre application n’envoie qu’aux adresses vérifiées. Le package couvre aussi les dates de naissance et les pays des personas, les liens d’application, le HTML de l’e-mail pour les tests de modèles et les adresses inhabituelles : voir son README. Pour l’exécution dans CI, voir Exécuter dans CI.

Vous préférez le HTTP simple ? Tous les appels sont dans le guide REST API.

Une question sur cette page ?

Posez votre question dans la langue de votre choix. La documentation peut y répondre tout de suite, ou vous pouvez l'envoyer à l'équipe Proxy Mail QA, qui répond en anglais.

Interroger la documentation