コンテンツにスキップ

新しいアドレスでサインアップし、メールに届いたコードを入力する Puppeteer スクリプトです。Node.js クライアントを使います。

  1. パッケージをインストールする

    Section titled “パッケージをインストールする”

    Puppeteer と一緒に Node.js クライアントをインストールし、API キー を PROXYMAIL_QA_API_KEY として設定します。

    npm install --save-dev puppeteer proxymail-qa
  2. サインアップしてコードを入力する

    Section titled “サインアップしてコードを入力する”

    アドレスを作り、それでサインアップし、コードを待って入力します。

    コードではなくリンクの場合は、const { value: link } = await qa.waitForLink(address, { type: 'verify', since: submitted }) と 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();

何も届かない場合、エラーは Proxy Mail QA がわかる範囲で理由を示します。たとえば、アプリのメールプロバイダーが確認済みアドレスにしか送信しない、などです。

同じ呼び出しは、Jest や Vitest で囲んでも動きます。キーと並列実行については CI での実行を参照してください。

このページについて質問がありますか?

質問はどの言語でもかまいません。ドキュメントからすぐに回答を得ることも、Proxy Mail QA チームに質問を送ることもできます。チームからの返信は英語です。