Gmail 服务
一个 WebdriverIO 插件,用于使用Gmail Tester从 Google 邮件中获取电子邮件。
安装
最简单的方法是在你的 package.json 中将 wdio-gmail-service
作为 devDependency
。
{
"devDependencies": {
"wdio-gmail-service": "^1.0.0"
}
}
你可以简单地通过以下方式完成:
npm install wdio-gmail-service --save-dev
用法
Gmail 身份验证
你需要按照Gmail Tester中的说明创建 credentials.json
(OAuth2 身份验证文件)和 token.json
(OAuth2 令牌)。
配置
通过将 gmail
添加到服务列表中来添加服务,例如:
// wdio.conf.js
import path from 'path'
export const config = {
// ...
services: [['gmail', {
credentialsJsonPath: path.join(process.cwd(), './credentials.json'),
tokenJsonPath: join(process.cwd(), './token.json'),
intervalSec: 10,
timeoutSec: 60
}]]
// ...
};
服务选项
credentialsJsonPath
指向凭据 JSON 文件的绝对路径。
类型:字符串
必填:是
tokenJsonPath
指向令牌 JSON 文件的绝对路径。
类型:字符串
必填:是
intervalSec
Gmail 收件箱检查之间的间隔。
类型:数字
默认值:10
必填:否
timeoutSec
等待找到给定筛选条件的电子邮件的最大时间。
类型:数字
默认值:60
必填:否
编写测试
在你的 WebdriverIO 测试中,你现在可以检查是否收到了电子邮件。
describe('Example', () => {
it('Should check email', () => {
// perform some actions that will send an email to setup gmail account
const emails = await browser.checkInbox({ from: '[email protected]', subject: 'Ubisoft Password Change Request' });
expect(emails[0].body.html).toContain('https://account-uplay.ubi.com/en-GB/action/change-password?genomeid=')
})
})
checkInbox
参数
命令参数至少需要 from
、to
或 subject
中的一个。
from
根据接收者的电子邮件地址进行筛选。
类型:字符串
to
根据发送者的电子邮件地址进行筛选。
类型:字符串
subject
根据电子邮件主题进行筛选。
类型:字符串
includeBody
设置为 true 以获取解码的电子邮件正文。
类型:布尔值
includeAttachments
设置为 true 以获取 base64 编码的电子邮件附件。
类型:布尔值
before
筛选在指定日期之前收到的邮件。
类型:日期
after
筛选在指定日期之后收到的邮件。
类型:日期
label
默认标签为“INBOX”,但可以更改为“SPAM”、“TRASH”或自定义标签。有关内置标签的完整列表,请参见https://developers.google.com/gmail/api/guides/labels?hl=en
类型:字符串
有关 WebdriverIO 的更多信息,请参阅主页。