Socket
Book a DemoInstallSign in
Socket

@percy/ember

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@percy/ember

Ember client library for visual testing with Percy

latest
Source
npmnpm
Version
5.0.0
Version published
Maintainers
1
Created
Source

@percy/ember

Version Test

Percy visual testing for Ember applications.

Installation

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

Usage

This is an example using the percySnapshot function.

import percySnapshot from '@percy/ember';

describe('My ppp', () => {
  // ...app setup

  it('about page should look good', () => {
    await visit('/about');
    await percySnapshot('My Snapshot');
  });
});

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

$ ember test
...
[percy] Percy is not running, disabling snapshots
...

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 -- ember test
[percy] Percy has started!
[percy] Created build #1: https://percy.io/[your-project]
[percy] Running "ember test"
...
[percy] Snapshot taken "My Snapshot"
...
[percy] Stopping percy...
[percy] Finalized build #1: https://percy.io/[your-project]
[percy] Done!

Configuration

percySnapshot(name[, options])

Automatic snapshot names

The name argument can optionally be provided as QUnit.assert or an instance of Mocha.Test which will automatically generate a snapshot name based on the full test name.

Important: Snapshot names must be unique. If you have multiple tests with the same title, or call percySnapshot multiple times inside a single test, you must provide a unique name.

QUnit

import { module, test } from 'qunit';
import { setupApplicationTest } from 'ember-qunit';
import { visit, currentURL } from '@ember/test-helpers';

module('Acceptance: My app', function(hooks) {
  setupApplicationTest(hooks);

  test('About page should look good', async function(assert) {
    await visit('/about');
    assert.equal(currentURL(), '/about');
    await percySnapshot(assert);
    // => Snapshot taken: "Acceptance: My app | About page should look good"
  });
});

Mocha

describe('Acceptance: My app', () => {
  // ...app setup

  describe('about page', () => {
    it('should look good', () => {
      await visit('/about');
      await percySnapshot(assert);
      // => Snapshot taken: "Acceptance: My app about page should look good"
    });
  });
});

Upgrading

Automatically with @percy/migrate

We built a tool to help automate migrating to the new CLI toolchain! Migrating can be done by running the following commands and following the prompts:

$ npx @percy/migrate
? Are you currently using @percy/ember? Yes
? Install @percy/cli (required to run percy)? Yes
? Migrate Percy config file? Yes
? Upgrade SDK to @percy/ember@3.0.0? Yes

This will automatically run the changes described below for you.

Manually

Installing @percy/cli

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

$ 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

ember-addon

FAQs

Package last updated on 28 Jul 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