跳至主要内容

Gmail 服务

wdio-gmail-service 是一个第三方包,更多信息请参见GitHub | npm

一个 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 参数

命令参数至少需要 fromtosubject 中的一个。

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 的更多信息,请参阅主页

欢迎!我怎样才能帮助你?

WebdriverIO AI Copilot