Aller au contenu

Un script Puppeteer qui s’inscrit avec une nouvelle adresse et saisit le code de l’e-mail, à l’aide du client Node.js.

  1. Installez le client Node.js à côté de Puppeteer, et définissez la clé d’API comme PROXYMAIL_QA_API_KEY.

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

    Pour un lien au lieu d’un code, const { value: link } = await qa.waitForLink(address, { type: 'verify', since: submitted }) et await page.goto(link).

    signup.mjs
    import puppeteer from 'puppeteer';
    import { ProxyMailQA } from 'proxymail-qa';
    const qa = new ProxyMailQA(); // reads PROXYMAIL_QA_API_KEY
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    const { address, password } = await qa.createAddress({ persona: true, password: true });
    await page.goto('https://staging.example.com/signup');
    await page.type('input[name=email]', address);
    await page.type('input[name=password]', password);
    const submitted = new Date();
    await Promise.all([page.waitForNavigation(), page.click('button[type=submit]')]);
    const { value: code } = await qa.waitForCode(address, { since: submitted });
    await page.type('input[name=code]', code);
    await Promise.all([page.waitForNavigation(), page.click('button[type=submit]')]);
    await qa.deleteAddress(address);
    await browser.close();

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.

Les mêmes appels fonctionnent avec Jest ou Vitest autour ; voir Exécuter dans CI pour les clés et les exécutions parallèles.

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