跳转到内容

一个 Playwright 测试:用新地址注册,并输入邮件中的验证码,使用 proxymail-qa 包。

  1. 把 proxymail-qa 添加到项目中,并把 API 密钥 保存在 PROXYMAIL_QA_API_KEY 中。

    npm install --save-dev proxymail-qa
  2. 创建地址,用它注册,然后等待验证码。

    since 让等待忽略表单提交之前发送的任何邮件,这样重试时不会拿到旧验证码。等待最长 30 秒;需要更久时传入 timeout。

    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. 如果是链接而不是验证码,就等待链接并打开它。

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

如果没有邮件到达,错误会尽 Proxy Mail QA 所知说明原因,例如你的应用的邮件服务商只向已验证地址发信。这个包还支持角色的出生日期和国家、应用链接、用于模板测试的邮件 HTML,以及特殊地址:见它的 README。在 CI 中运行,见在 CI 中运行。

更喜欢直接用 HTTP?所有调用都在 REST API 指南中。

对本页有疑问?

可以用任何语言提问。文档可以立即回答,你也可以把问题发给 Proxy Mail QA 团队,他们会用英文回复。