跳至主要內容

Gmail 服務

wdio-gmail-service 是一個第三方套件,如需更多資訊,請參閱 GitHub | npm

一個 WebdriverIO 外掛程式,用於使用 Gmail Tester 從 Google Mail 提取電子郵件。

安裝

最簡單的方法是將 wdio-gmail-service 保留在您 package.json 的 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 檔案的絕對路徑。

類型:string

必要:true

tokenJsonPath

權杖 JSON 檔案的絕對路徑。

類型:string

必要:true

intervalSec

Gmail 收件匣檢查之間的間隔。

類型:number

預設值:10

必要:false

timeoutSec

等待尋找符合給定篩選條件的電子郵件的最長時間。

類型:number

預設值:60

必要:false

編寫測試

在您的 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: 'AccountSupport@ubi.com', 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

篩選接收者的電子郵件地址。

類型:String

to

篩選寄件者的電子郵件地址。

類型:String

subject

篩選電子郵件的主旨。

類型:String

includeBody

設定為 true 以提取已解碼的電子郵件內文。

類型:boolean

includeAttachments

設定為 true 以提取 base64 編碼的電子郵件附件。

類型:boolean

before

篩選在指定日期之前收到的訊息。

類型:Date

after

篩選在指定日期之後收到的訊息。

類型:Date

label

預設標籤為「INBOX」,但可以變更為「SPAM」、「TRASH」或自訂標籤。如需內建標籤的完整清單,請參閱 https://developers.google.com/gmail/api/guides/labels?hl=en

類型:String


如需有關 WebdriverIO 的更多資訊,請參閱首頁

歡迎!我能如何協助您?

WebdriverIO AI Copilot