为什么验证邮件难以测试
注册是每个用户做的第一件事,确认邮件是你的应用发给他们的第一封邮件。它也是最难测好的流程之一:
- 每次运行都需要新地址。 重复使用会得到“该邮箱已注册”,于是测试人员只能编造地址,或在每次运行之间删除账号。
- 共享收件箱容易混乱。 用团队 Gmail 时,五个人的确认邮件都进同一个地方。别人点了你的链接,或你用了别人的验证码。
- 加号地址不是真实用户会输入的。 像
name+test1@gmail.com这样的地址会被一些注册表单拒绝或悄悄规范化,所以你测的流程不是用户实际走的流程。 - 本地邮件捕获工具只到你的电脑为止。 Mailpit 之类的工具只能看到本地环境发出的邮件。它们无法告诉你 staging 或生产环境的邮件是否真的送达,链接实际指向哪里。
如何配合 Proxy Mail QA 使用
- 创建地址。 一键获得一个随机、无法猜测的地址,比如
k3f9q2m8x7aa@mailclub.dev。也可以自定义名称,或批量创建,每个都带有生成的姓名和用户名,用于填写注册表单。 - 在你测试的应用中注册。 像真实用户一样使用这个地址。
- 查看行的更新。 几秒内,账号视图会显示谁给你发了邮件,以及邮件中的操作:链接对应 Open link 和 Copy link 按钮,验证码对应带 Copy 按钮的验证码。
- 检查邮件本身。 打开收件箱阅读完整邮件,远程图片在你允许前会被拦截,并列出邮件中找到的所有验证码和链接。
我们这边从不打开或预取你邮件中的链接,所以一次性验证链接在你点击时仍未被使用。
验证邮件要检查什么
确认邮件可能“能用”但仍有问题。在每个环境中都过一遍这份清单:
- 几秒内送达,发件人名称是用户能认出的。
- 链接打开正确的环境。staging 发出指向
localhost:3000的链接是 bug,我们会帮你标出。 - 链接只能用一次。再次点击显示有用的提示,而不是错误页面。
- 过期链接会说明下一步怎么做,Resend 会发送新链接。
- 主题行和开头一句在拥挤的收件箱中也讲得通,并且有纯文本版本。
- 确认后,用户进入合理的页面并已登录(或被提示登录)。
管理每个测试账号
每个地址都有自己的备注、标签和生成的人设,以及你注册时用的密码,密码已加密,在你显示前保持隐藏。几周后,你仍能通过搜索备注或标签找到“staging 上的青少年账号”,而不用猜它是哪个 Gmail 别名。