npm

Does your artifact manager get in the way? Join us on Oct. 8 at 10am PT, to discuss how npm can help.Sign up »

@wdio/applitools-service

5.12.3 • Public • Published

WebdriverIO Applitools Service

A WebdriverIO service for visual regression testing using Applitools

Installation

The easiest way is to keep @wdio/applitools-service as a devDependency in your package.json.

{
  "devDependencies": {
    "@wdio/applitools-service": "^5.0.0"
  }
}

You can simple do it by:

npm install @wdio/applitools-service --save-dev

Instructions on how to install WebdriverIO can be found here.

Configuration

In order to use the service you need to pass applitoolsKey. This can be set in your wdio.conf.js config file or pass APPLITOOLS_KEY in your environment so that it can access the Applitools API.

Also make sure that you added applitools to your service list, e.g.

// wdio.conf.js
export.config = {
  // ...
  services: ['applitools'],
  applitoolsKey: 'APPLITOOLS_KEY', // can be passed here or via environment
  applitoolsServerUrl: 'APPLITOOLS_Server_URL', // optional
  applitools: {
    // options
    // ...
  }
  // ...
};

Usage

Once the service is added you just need to call either the browser.takeSnapshot command or the browser.takeRegionSnapshot command to compare images within the badge. The browser.takeRegionSnapshot command takes two additional parameters: 1) region which must be of type Region|webdriver.WebElement|EyesRemoteWebElement|webdriver.By, and 2) frame of type webdriver.WebElement|EyesRemoteWebElement|string; see further details here. The command takes a screenshot name so Applitools can compare it always with the correct image from the baseline, e.g.

describe('My Google Search', () => {
    it('should open the page', () => {
        browser.url('http://google.com')
        browser.takeSnapshot('main page')
    })
 
    it('should search for something', () => {
        $('#lst-ib').addValue('WebdriverIO ❤️  Applitools')
        browser.keys('Enter')
        browser.takeSnapshot('search')
    })
    
    it('should open the page and take snapshot of the region with reddit icon in upper left', () => {
        browser.url('https://reddit.com')
        browser.takeRegionSnapshot('Reddit icon; main page', 'css=a._30BbATRhFv3V83DHNDjJAO')
    })
})

On the Applitools dashboard you should now find the test with two images:

Applitools Dashboard

Options

viewport

Viewport with which the screenshots should be taken.

Type: Object
Default: {'width': 1440, 'height': 900}

install

npm i @wdio/applitools-service

Downloadsweekly downloads

625

version

5.12.3

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
Report a vulnerability