Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@percy/nightwatch

Package Overview
Dependencies
Maintainers
6
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@percy/nightwatch

Nightwatch client library for visual testing with Percy

  • 2.0.0-beta.2
  • next
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4.5K
increased by18.41%
Maintainers
6
Weekly downloads
 
Created
Source

@percy/nightwatch

Version Test

Percy visual testing for Nightwatch.js.

Installation

Using yarn:

$ yarn add --dev @percy/cli @percy/nightwatch@next

Using npm:

$ npm install --save-dev @percy/cli @percy/nightwatch@next

Nightwatch configuration

Add the path exported by @percy/nightwatch to your Nightwatch configuration's custom_commands_path property.

const percy = require('@percy/nightwatch');

module.exports = {
  // ...
  custom_commands_path: [percy.path],
  // ...
};

Usage

This is an example test using the browser.percySnapshot() command. For other examples of how to write Nightwatch tests, check out the official Nightwatch guides.

module.exports = {
  'Snapshots pages': function(browser) {
    browser
      .url('http://example.com')
      .assert.containsText('h1', 'Example Domain')
      .percySnapshot();
    browser
      .url('http://google.com')
      .assert.elementPresent('img[alt="Google"]')
      .percySnapshot('Google homepage');
    browser.end();
  }
};

Running the test above directly will result in the following logs:

$ nightwatch

[Example] Test Suite
====================
...

Running:  Snapshots pages

✔ Testing if element <h1> contains text 'Example Domain'
[percy] Percy is not running, disabling snapshots
✔ Testing if element <img[alt="Google"]> is present

OK. 2 assertions passed.

When running with percy exec, and your project's PERCY_TOKEN, a new Percy build will be created and snapshots will be uploaded to your project.

$ export PERCY_TOKEN=[your-project-token]
$ percy exec -- nightwatch
[percy] Percy has started!
[percy] Created build #1: https://percy.io/[your-project]
[percy] Running "nightwatch"

[Example] Test Suite
====================
...

Running:  Snapshots pages

✔ Testing if element <h1> contains text 'Example Domain'
[percy] Snapshot taken "Snapshots pages"
✔ Testing if element <img[alt="Google"]> is present
[percy] Snapshot taken "Google homepage"

OK. 2 assertions passed.
[percy] Stopping percy...
[percy] Finalized build #1: https://percy.io/[your-project]
[percy] Done!

Configuration

percySnapshot([name][, options])

  • name - The snapshot name; must be unique to each snapshot
  • options - Additional snapshot options (overrides any project options)
    • options.widths - An array of widths to take screenshots at
    • options.minHeight - The minimum viewport height to take screenshots at
    • options.percyCSS - Percy specific CSS only applied in Percy's rendering environment
    • options.requestHeaders - Headers that should be used during asset discovery
    • options.enableJavaScript - Enable JavaScript in Percy's rendering environment

Upgrading

If you're coming from a pre-2.0 version of this package, make sure to install @percy/cli after upgrading to retain any existing scripts that reference the Percy CLI command.

Using yarn:

$ yarn add --dev @percy/cli

Using npm:

$ npm install --save-dev @percy/cli

Migrating Config

If you have a previous Percy configuration file, migrate it to the newest version with the config:migrate command:

$ percy config:migrate

Keywords

FAQs

Package last updated on 25 Jan 2021

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc