A WebdriverIO plugin to fetch e-mails from Google Mail using Gmail Tester.
The easiest way is to keep wdio-gmail-service
as a devDependency
in your package.json.
{
"devDependencies": {
"wdio-gmail-service": "^2.0.0"
}
}
You can simply do it by:
npm install wdio-gmail-service --save-dev
You'll need to follow the instructions at Gmail Tester to create the credentials.json
(the OAuth2 Authentication file) and token.json
(the OAuth2 token).
Add the service by adding gmail
to the service list, e.g.:
// 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
}]]
// ...
};
Absolute path to a credentials JSON file.
Type: string
Required: true
Absolute path to a token JSON file.
Type: string
Required: true
The interval between Gmail inbox checks.
Type: number
Default: 10
Required: false
The maximum time to wait for finding the email for the given filters.
Type: number
Default: 60
Required: false
In your WebdriverIO test, you can now check if an email was received.
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=')
})
})
The command parameters require at least one of from
, to
, or subject
:
Filter on the email address of the receiver.
Type: String
Filter on the email address of the sender.
Type: String
Filter on the subject of the email.
Type: String
Set to true to fetch decoded email bodies.
Type: boolean
Set to true to fetch the base64-encoded email attachments.
Type: boolean
Filter messages received before the specified date.
Type: Date
Filter messages received after the specified date.
Type: Date
The default label is 'INBOX', but can be changed to 'SPAM', 'TRASH' or a custom label. For a full list of built-in labels, see https://developers.google.com/gmail/api/guides/labels?hl=en
Type: String
For more information on WebdriverIO see the homepage.