Gmailサービス
wdio-gmail-serviceはサードパーティパッケージです。詳細については、GitHub | npmを参照してください。
Gmail Testerを使用してGoogle Mailからメールを取得するWebdriverIOプラグイン。
インストール
最も簡単な方法は、package.jsonで`wdio-gmail-service`を`devDependency`として保持することです。
{
"devDependencies": {
"wdio-gmail-service": "^1.0.0"
}
}
これは簡単に実行できます
npm install wdio-gmail-service --save-dev
使い方
Gmail認証
`credentials.json`(OAuth2認証ファイル)と`token.json`(OAuth2トークン)を作成するには、Gmail Testerの指示に従う必要があります。
設定
サービスリストに`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
base64エンコードされたメール添付ファイルを取得するには、trueに設定します。
タイプ:boolean
before
指定した日付より前に受信したメッセージをフィルタリングします。
タイプ:Date
after
指定した日付より後に受信したメッセージをフィルタリングします。
タイプ:Date
label
デフォルトのラベルは「INBOX」ですが、「SPAM」、「TRASH」、またはカスタムラベルに変更できます。組み込みラベルの完全なリストについては、https://developers.google.com/gmail/api/guides/labels?hl=enを参照してください。
タイプ:String
WebdriverIOの詳細については、ホームページを参照してください。