Gmail 服務
一個 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
參數
命令參數至少需要 from
、to
或 subject
其中之一
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 的更多資訊,請參閱首頁。