Percy is a popular service that shows diffs between changes in the application. It integrates directly into your test suite, allowing for automated visual reviews on every push to Git – if only automated with Buddy.

In this example, we’ll show you how to automate screenshot grabbing in Mocha/Chai tests of an Ember app.

INFO: You can use that will work out-of-the-box.

Step 1: Add pipeline

If you haven’t used Buddy before, sign up with your GitHub/Bitbucket account or email. Select the repository with your tests and create a new delivery pipeline.

TIP: Set the trigger mode to ‘On every push’ so that it’s executed on every change to the assigned branch.

Step 2: Configure action

Now it’s time to configure add the Node.js action – a Docker container in which we’ll run our script with Percy. However, to make it work, we’ll need to install a couple of things first. Switch to the Packages tab and paste the following:

apt-get update
apt-get install -y wget --no-install-recommends
wget -q -O - | apt-key add -
sh -c 'echo "deb [arch=amd64] stable main" >> /etc/apt/sources.list.d/google.list'
apt-get update
apt-get install -y google-chrome-unstable --no-install-recommends
rm -rf /var/lib/apt/lists/*
apt-get purge --auto-remove -y curl
rm -rf /src/*.deb

Step 3: Add argument

It is crucial that you add --no-sandbox argument to testem.js or the script will not work:

/* eslint-env node */
module.exports = {
  test_page: 'tests/index.html?hidepassed',
  disable_watching: true,
  launch_in_ci: [
  launch_in_dev: [
  browser_args: {
    Chrome: {
      mode: 'ci',
      args: [

Step 4: Add variables

The last thing is adding PERCY_TOKEN and PERCY_PROJECT variables to the pipeline. You can find them in your Percy’s Project Settings:

Add the variables to the pipeline’s Variables tab:

Step 5: Run the pipeline

With everything in place, make a push to the selected branch and enjoy your changes immediately reflected on the screenshot.

TIP: You can add more actions to the pipeline, including conditional notifications that will let you know in case your tests have failed.