🚨 Active Supply Chain Attack:node-ipc Package Compromised.Learn More
Socket
Book a DemoSign in
Socket

wdio-gmail-service

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wdio-gmail-service

A WebdriverIO plugin to fetch e-mails from Google Mail

latest
Source
npmnpm
Version
2.1.0
Version published
Maintainers
1
Created
Source

WebdriverIO Gmail Service Test

A WebdriverIO plugin to fetch e-mails from Google Mail using Gmail Tester.

Installation

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

Usage

Gmail Authentication

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).

Configuration

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
    }]]
    // ...
};

Service Options

credentialsJsonPath

Absolute path to a credentials JSON file.

Type: string

Required: true

tokenJsonPath

Absolute path to a token JSON file.

Type: string

Required: true

intervalSec

The interval between Gmail inbox checks.

Type: number

Default: 10

Required: false

timeoutSec

The maximum time to wait for finding the email for the given filters.

Type: number

Default: 60

Required: false

Writing tests

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: '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 parameters

The command parameters require at least one of from, to, or subject:

from

Filter on the email address of the receiver.

Type: String

to

Filter on the email address of the sender.

Type: String

subject

Filter on the subject of the email.

Type: String

includeBody

Set to true to fetch decoded email bodies.

Type: boolean

includeAttachments

Set to true to fetch the base64-encoded email attachments.

Type: boolean

before

Filter messages received before the specified date.

Type: Date

after

Filter messages received after the specified date.

Type: Date

label

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.

Keywords

wdio

FAQs

Package last updated on 16 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts