Zum Inhalt springen

Ein Puppeteer-Skript, das sich mit einer neuen Adresse registriert und den Code aus der E-Mail eingibt, mit dem Node.js-Client.

  1. Installiere den Node.js-Client neben Puppeteer und setze den API-Schlüssel als PROXYMAIL_QA_API_KEY.

    npm install --save-dev puppeteer proxymail-qa
  2. Erstelle eine Adresse, registriere dich damit, warte auf den Code und gib ihn ein.

    Für einen Link statt eines Codes: const { value: link } = await qa.waitForLink(address, { type: 'verify', since: submitted }) und 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();

Kommt nichts an, sagt der Fehler, warum, soweit Proxy Mail QA das erkennen kann, zum Beispiel dass der E-Mail-Anbieter deiner App nur an verifizierte Adressen sendet.

Dieselben Aufrufe funktionieren auch mit Jest oder Vitest drumherum; siehe In CI ausführen zu Schlüsseln und parallelen Läufen.

Eine Frage zu dieser Seite?

Frag in jeder Sprache. Die Doku kann dir sofort antworten oder deine Frage an das Team von Proxy Mail QA schicken, das auf Englisch antwortet.

Doku fragen