diff --git a/.github/actions/cache-playwright/action.yml b/.github/actions/cache-playwright/action.yml
new file mode 100644
index 000000000..4b1b1285f
--- /dev/null
+++ b/.github/actions/cache-playwright/action.yml
@@ -0,0 +1,38 @@
+name: "Install and Cache Playwright"
+description: "Sets up a cache and/or installs Playwright and its binaries."
+
+inputs:
+ WORKSPACE_ROOT:
+ description: "The workspace root."
+ required: true
+
+runs:
+ using: "composite"
+ steps:
+ - name: Get installed Playwright version
+ shell: bash
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ id: playwright-version
+ run: echo "PLAYWRIGHT_VERSION=$(cat package.json | jq -r '.dependencies.playwright' || 'latest')" >> $GITHUB_ENV
+
+ - name: Cache playwright binaries
+ uses: actions/cache@v4
+ id: playwright-cache
+ with:
+ path: |
+ ~/.cache/ms-playwright
+ key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }}
+
+ - shell: bash
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ run: npm ci
+
+ - shell: bash
+ if: steps.playwright-cache.outputs.cache-hit != 'true'
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ run: npx playwright install --with-deps
+
+ - shell: bash
+ if: steps.playwright-cache.outputs.cache-hit != 'true'
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ run: npx playwright install-deps
diff --git a/.github/actions/prepare-docker/action.yml b/.github/actions/prepare-docker/action.yml
new file mode 100644
index 000000000..e55854cef
--- /dev/null
+++ b/.github/actions/prepare-docker/action.yml
@@ -0,0 +1,40 @@
+name: "Pull & Prepare Docker Workflow"
+description: "Sets name and tag, logs in to GHCR, and pulls Docker image."
+
+inputs:
+ REGISTRY:
+ description: "GitHub Registry"
+ required: true
+ ACTOR:
+ description: "GitHub Username"
+ required: true
+ GITHUB_TOKEN:
+ description: "GitHub Token"
+ required: true
+
+runs:
+ using: "composite"
+ steps:
+ - name: Set Name and Tag Vars
+ shell: bash
+ working-directory: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ env:
+ name: "${{ env.BRANCH_NAME }}"
+ run: |
+ echo "IMAGE_NAME_LC=${IMAGE_NAME,,}" >>${GITHUB_ENV}
+ echo "TAG=${name/\//-}" >> $GITHUB_ENV
+ echo "PV=$(cat package.json | jq -r '.version')" >> $GITHUB_ENV
+ echo "PLAYWRIGHT_VERSION=$(cat package.json | jq -r '.dependencies.playwright')" >> $GITHUB_ENV
+
+ - name: Log in to the Container registry
+ uses: docker/login-action@v3
+ with:
+ registry: ${{ inputs.REGISTRY }}
+ username: ${{ inputs.ACTOR }}
+ password: ${{ inputs.GITHUB_TOKEN }}
+
+ - name: Pull Image
+ shell: bash
+ working-directory: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ run: |
+ docker pull $REGISTRY/$IMAGE_NAME_LC:$TAG
diff --git a/.github/actions/sanity-test-checks/action.yml b/.github/actions/sanity-test-checks/action.yml
new file mode 100644
index 000000000..bb0f96f65
--- /dev/null
+++ b/.github/actions/sanity-test-checks/action.yml
@@ -0,0 +1,64 @@
+name: "Validate Sanity Report"
+description: "Diff the sanity-test reports with a fixture and validate expected shape."
+
+inputs:
+ WORKSPACE_ROOT:
+ description: "Working Directory"
+ required: true
+ RUNNER:
+ description: "Test Runner"
+ required: true
+ FIXTURE:
+ description: "Test Report Fixture"
+ required: true
+
+runs:
+ using: "composite"
+ steps:
+ - name: "Validate ${{ inputs.RUNNER }} Report"
+ id: validate-report
+ continue-on-error: true
+ shell: bash
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ run: |
+ set +e
+ FIXTURE="test/__fixtures__/${{ inputs.FIXTURE }}"
+ TEST_RESULT=$(diff -c <(jq 'walk(if type == "object" then with_entries(.value |= if type == "object" or type == "array" then . else "" end) else . end)' $FIXTURE) <(jq 'walk(if type == "object" then with_entries(.value |= if type == "object" or type == "array" then . else "" end) else . end)' test/configs/backstop_data/bitmaps_test/**/report.json))
+
+ echo "TEST_RESULT=$TEST_RESULT" >> $GITHUB_ENV
+ if [[ "$TEST_RESULT" != "" ]]; then
+ echo "# ❎ ${{ inputs.RUNNER }} Sanity Different" >> $GITHUB_STEP_SUMMARY
+ echo '```diff' >> $GITHUB_STEP_SUMMARY
+ echo "${TEST_RESULT}" >> $GITHUB_STEP_SUMMARY
+ echo '```' >> $GITHUB_STEP_SUMMARY
+ else
+ echo "# ✅ ${{ inputs.RUNNER }} Sanity Report Valid" >> $GITHUB_STEP_SUMMARY
+ fi
+
+ - name: "Full Sanity Report Diff"
+ id: diff
+ continue-on-error: true
+ shell: bash
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ run: |
+ set +e
+ FULL_TEST_DIFF=$(diff <(jq -S '.tests[]' $FIXTURE) <(jq -S '.tests[]' test/configs/backstop_data/bitmaps_test/**/report.json))
+ echo "## Unfiltered Diff" >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo "Expand Diff
" >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo '```diff' >> $GITHUB_STEP_SUMMARY
+ echo "${FULL_TEST_DIFF}" >> $GITHUB_STEP_SUMMARY
+ echo '```' >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo " " >> $GITHUB_STEP_SUMMARY
+
+ - name: "Report Validation Outcome"
+ shell: bash
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ run: |
+ if [[ "$TEST_RESULT" != "" ]]; then
+ exit 1
+ else
+ exit 0
+ fi
diff --git a/.github/actions/setup-base/action.yml b/.github/actions/setup-base/action.yml
new file mode 100644
index 000000000..ac5a56a67
--- /dev/null
+++ b/.github/actions/setup-base/action.yml
@@ -0,0 +1,23 @@
+name: "Setup Base Workflow"
+description: "Checks out the BackstopJS repo at the calling or current branch with shallow history. Pulls Docker image by branch tag. Installs dependencies. Optionally sets up interactive remote debug shell."
+
+outputs:
+ WORKSPACE_ROOT:
+ description: "Export the root workspace for all workflows."
+ value: ${{ steps.workspace_root.outputs.WORKSPACE_ROOT }}
+
+runs:
+ using: "composite"
+ steps:
+ - name: Set workspace root
+ id: workspace_root
+ shell: bash
+ run: |
+ WORKSPACE_ROOT=$GITHUB_WORKSPACE/repo
+ echo "WORKSPACE_ROOT=$WORKSPACE_ROOT" | tee -a $GITHUB_OUTPUT
+
+ - name: Checkout to workspace
+ shell: bash
+ run: |
+ git clone -b ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }} https://github.com/${{ github.repository }}.git ${{ steps.workspace_root.outputs.WORKSPACE_ROOT }}
+ ls ${{ steps.workspace_root.outputs.WORKSPACE_ROOT }}
diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml
new file mode 100644
index 000000000..271694941
--- /dev/null
+++ b/.github/actions/setup-node/action.yml
@@ -0,0 +1,22 @@
+name: "Setup Node and Dependencies"
+description: "Sets up Node, npm caching, and installs dependencies"
+
+inputs:
+ WORKSPACE_ROOT:
+ description: "The workspace root."
+ required: true
+
+runs:
+ using: "composite"
+ steps:
+ - name: ⬢ Setup Node & Cache
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ env.NODE_VERSION }}
+ cache: "npm"
+ cache-dependency-path: ${{ inputs.WORKSPACE_ROOT }}/package-lock.json
+
+ - name: ↧ Install
+ shell: bash
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ run: npm ci
diff --git a/.github/actions/smoke-test-checks/action.yml b/.github/actions/smoke-test-checks/action.yml
new file mode 100644
index 000000000..1241e850b
--- /dev/null
+++ b/.github/actions/smoke-test-checks/action.yml
@@ -0,0 +1,64 @@
+name: "Validate Smoke Report"
+description: "Diff the smoke-test reports with a fixture and validate expected shape."
+
+inputs:
+ WORKSPACE_ROOT:
+ description: "Working Directory"
+ required: true
+ RUNNER:
+ description: "Test Runner"
+ required: true
+ FIXTURE:
+ description: "Test Report Fixture"
+ required: true
+
+runs:
+ using: "composite"
+ steps:
+ - name: "Validate ${{ inputs.RUNNER }} Report"
+ id: validate
+ continue-on-error: true
+ shell: bash
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ run: |
+ set +e
+ FIXTURE="test/__fixtures__/${{ inputs.FIXTURE }}"
+ TEST_RESULT=$(diff -c <(jq 'walk(if type == "object" then with_entries(.value |= if type == "object" or type == "array" then . else "" end) else . end) | del( .tests[].pair.diff, .tests[].pair.diffImage)' $FIXTURE) <(jq 'walk(if type == "object" then with_entries(.value |= if type == "object" or type == "array" then . else "" end) else . end) | del( .tests[].pair.diff, .tests[].pair.diffImage)' test/configs/backstop_data/bitmaps_test/**/report.json))
+
+ echo "TEST_RESULT=$TEST_RESULT" >> $GITHUB_ENV
+ if [[ "$TEST_RESULT" != "" ]]; then
+ echo "# ❎ ${{ inputs.RUNNER }} Report Different" >> $GITHUB_STEP_SUMMARY
+ echo '```diff' >> $GITHUB_STEP_SUMMARY
+ echo "$TEST_RESULT" >> $GITHUB_STEP_SUMMARY
+ echo '```'
+ else
+ echo "# ✅ ${{ inputs.RUNNER }} Report Validated" >> $GITHUB_STEP_SUMMARY
+ fi
+
+ - name: "Full Smoke Report Diff"
+ id: diff
+ continue-on-error: true
+ shell: bash
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ run: |
+ set +e
+ FULL_TEST_DIFF=$(diff <(jq -S '.tests[]' $FIXTURE) <(jq -S '.tests[]' test/configs/backstop_data/bitmaps_test/**/report.json))
+ echo "## Unfiltered Diff" >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo "Expand Diff
" >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo '```diff' >> $GITHUB_STEP_SUMMARY
+ echo "${FULL_TEST_DIFF}" >> $GITHUB_STEP_SUMMARY
+ echo '```' >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo " " >> $GITHUB_STEP_SUMMARY
+
+ - name: "Report Validation Outcome"
+ shell: bash
+ working-directory: ${{ inputs.WORKSPACE_ROOT }}
+ run: |
+ if [[ "$TEST_RESULT" != "" ]]; then
+ exit 1
+ else
+ exit 0
+ fi
diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml
index 5015b4541..bcdb351fb 100644
--- a/.github/workflows/docker-build.yml
+++ b/.github/workflows/docker-build.yml
@@ -38,7 +38,7 @@ jobs:
echo "PV=$(cat package.json | jq -r '.version')" >> $GITHUB_ENV
- name: Log in to the Container registry
- uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
+ uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
diff --git a/.github/workflows/docker-sanity-test-checks.yml b/.github/workflows/docker-sanity-test-checks.yml
new file mode 100644
index 000000000..55e8c5e52
--- /dev/null
+++ b/.github/workflows/docker-sanity-test-checks.yml
@@ -0,0 +1,99 @@
+name: Docker Sanity Test Checks
+
+on:
+ workflow_dispatch:
+ workflow_call:
+
+permissions:
+ actions: write
+ checks: write
+ contents: write
+ pull-requests: write
+ packages: write
+
+env:
+ BRANCH_NAME: ${{ github.event.pull_request.head_ref || github.event.pull_request.head.ref_name || github.head_ref || github.ref_name }}
+ NODE_VERSION: 20
+ REGISTRY: ghcr.io
+ IMAGE_NAME: ${{ github.repository }}
+
+jobs:
+ sanity-test-puppeteer:
+ name: 🤪 Puppeteer
+ runs-on: ubuntu-latest
+
+ permissions:
+ contents: read
+ packages: write
+
+ steps:
+ - name: Checkout actions
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }}
+ sparse-checkout: |
+ .github/actions
+ path: actions
+
+ - uses: ./actions/.github/actions/setup-base
+ id: base
+
+ - uses: ./actions/.github/actions/prepare-docker
+ with:
+ REGISTRY: ${{ env.REGISTRY }}
+ ACTOR: ${{ github.actor }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: "𓋏 Run `backstop test` in Docker"
+ continue-on-error: true
+ shell: bash
+ working-directory: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ run: |
+ set +e
+ cd test/configs/ && docker run --rm -t --mount type=bind,source="$(pwd)",target=/src $REGISTRY/$IMAGE_NAME_LC:$TAG test
+
+ - name: "Validate Puppeteer Docker Test Results"
+ uses: ./actions/.github/actions/sanity-test-checks
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ RUNNER: "Puppeteer"
+ FIXTURE: "sanity-test-docker.json"
+
+ sanity-test-playwright:
+ name: 🤪 Playwright
+ runs-on: ubuntu-latest
+
+ permissions:
+ contents: read
+ packages: write
+
+ steps:
+ - name: Checkout actions
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }}
+ sparse-checkout: |
+ .github/actions
+ path: actions
+
+ - uses: ./actions/.github/actions/setup-base
+ id: base
+
+ - uses: ./actions/.github/actions/prepare-docker
+ with:
+ REGISTRY: ${{ env.REGISTRY }}
+ ACTOR: ${{ github.actor }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: "🎭 Run `backstop test --confg=playwright` in Docker"
+ continue-on-error: true
+ run: |
+ set +e
+ cd test/configs/ && docker run --rm -t --entrypoint='' --mount type=bind,source="$(pwd)",target=/src $REGISTRY/$IMAGE_NAME_LC:$TAG sh -c "chmod -R 777 /root && chmod -R 777 /opt/pw-browsers && npm --verbose --foreground-scripts i -D playwright && npx --verbose --foreground-scripts --yes playwright@$PLAYWRIGHT_VERSION install && backstop test --config=playwright"
+
+ - name: "Validate Playwright Docker Test Results"
+ uses: ./actions/.github/actions/sanity-test-checks
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ RUNNER: "Playwright"
+ FIXTURE: "sanity-test-playwright-docker.json"
diff --git a/.github/workflows/docker-sanity-test.yml b/.github/workflows/docker-sanity-test.yml
index 9e58a804d..c6dfae31e 100644
--- a/.github/workflows/docker-sanity-test.yml
+++ b/.github/workflows/docker-sanity-test.yml
@@ -43,7 +43,7 @@ jobs:
echo "PLAYWRIGHT_VERSION=$(cat package.json | jq -r '.dependencies.playwright')" >> $GITHUB_ENV
- name: Log in to the Container registry
- uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
+ uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
@@ -91,7 +91,7 @@ jobs:
echo "PLAYWRIGHT_VERSION=$(cat package.json | jq -r '.dependencies.playwright')" >> $GITHUB_ENV
- name: Log in to the Container registry
- uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
+ uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
diff --git a/.github/workflows/docker-smoke-test-checks.yml b/.github/workflows/docker-smoke-test-checks.yml
new file mode 100644
index 000000000..a0b3998a7
--- /dev/null
+++ b/.github/workflows/docker-smoke-test-checks.yml
@@ -0,0 +1,97 @@
+name: Docker Smoke Test Checks
+
+on:
+ workflow_dispatch:
+ workflow_call:
+
+permissions:
+ actions: write
+ checks: write
+ contents: write
+ pull-requests: write
+ packages: write
+
+env:
+ BRANCH_NAME: ${{ github.event.pull_request.head_ref || github.event.pull_request.head.ref_name || github.head_ref || github.ref_name }}
+ NODE_VERSION: 20
+ REGISTRY: ghcr.io
+ IMAGE_NAME: ${{ github.repository }}
+
+jobs:
+ smoke-test-puppeteer:
+ name: 💨 Puppeteer
+ runs-on: ubuntu-latest
+
+ permissions:
+ contents: read
+ packages: write
+
+ steps:
+ - name: Checkout actions
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }}
+ sparse-checkout: |
+ .github/actions
+ path: actions
+
+ - uses: ./actions/.github/actions/setup-base
+ id: base
+
+ - uses: ./actions/.github/actions/prepare-docker
+ with:
+ REGISTRY: ${{ env.REGISTRY }}
+ ACTOR: ${{ github.actor }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: "𓋏 Run `backstop test --confg=backstop_features` in Docker"
+ continue-on-error: true
+ run: |
+ set +e
+ cd test/configs/ && docker run --rm -t --mount type=bind,source="$(pwd)",target=/src $REGISTRY/$IMAGE_NAME_LC:$TAG test --config=backstop_features
+
+ - name: "Validate Puppeteer Docker Test Results"
+ uses: ./actions/.github/actions/smoke-test-checks
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ RUNNER: "Puppeteer"
+ FIXTURE: "smoke-test-docker.json"
+
+ smoke-test-playwright:
+ name: 💨 Playwright
+ runs-on: ubuntu-latest
+
+ permissions:
+ contents: read
+ packages: write
+
+ steps:
+ - name: Checkout actions
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }}
+ sparse-checkout: |
+ .github/actions
+ path: actions
+
+ - uses: ./actions/.github/actions/setup-base
+ id: base
+
+ - uses: ./actions/.github/actions/prepare-docker
+ with:
+ REGISTRY: ${{ env.REGISTRY }}
+ ACTOR: ${{ github.actor }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: "🎭 Run `backstop test --confg=backstop_features_pw` in Docker"
+ continue-on-error: true
+ run: |
+ set +e
+ cd test/configs/ && docker run --rm -t --mount type=bind,source="$(pwd)",target=/src $REGISTRY/$IMAGE_NAME_LC:$TAG test --config=backstop_features_pw
+
+ - name: "Validate Playwright Docker Test Results"
+ uses: ./actions/.github/actions/smoke-test-checks
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ RUNNER: "Playwright"
+ FIXTURE: "smoke-test-playwright-docker.json"
diff --git a/.github/workflows/docker-smoke-test.yml b/.github/workflows/docker-smoke-test.yml
index e2b51a759..a8ed2a222 100644
--- a/.github/workflows/docker-smoke-test.yml
+++ b/.github/workflows/docker-smoke-test.yml
@@ -42,7 +42,7 @@ jobs:
echo "PV=$(cat package.json | jq -r '.version')" >> $GITHUB_ENV
- name: Log in to the Container registry
- uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
+ uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
@@ -90,7 +90,7 @@ jobs:
echo "PV=$(cat package.json | jq -r '.version')" >> $GITHUB_ENV
- name: Log in to the Container registry
- uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
+ uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
diff --git a/.github/workflows/integration-test-check.yml b/.github/workflows/integration-test-check.yml
new file mode 100644
index 000000000..c90e434e2
--- /dev/null
+++ b/.github/workflows/integration-test-check.yml
@@ -0,0 +1,84 @@
+name: Integration Test Check
+
+on:
+ workflow_dispatch:
+ workflow_call:
+
+permissions:
+ actions: write
+ contents: write
+ pull-requests: write
+
+env:
+ NODE_VERSION: 20
+
+jobs:
+ integration:
+ name: 🧩 Validate Integration Test Results
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout actions
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }}
+ sparse-checkout: |
+ .github/actions
+ path: actions
+
+ - uses: ./actions/.github/actions/setup-base
+ id: base
+
+ - uses: ./actions/.github/actions/setup-node
+ id: node
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+
+ - name: "𓋏 Run `npm run integration-test`"
+ continue-on-error: true
+ shell: bash
+ working-directory: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ run: |
+ npm run integration-test
+
+ - name: "Validate Integration Test Results"
+ id: validate
+ continue-on-error: true
+ run: |
+ set +e
+ TEST_REPORT_DIR=$(ls -ltd integrationTestDir/backstop_data/bitmaps_test/*/ | grep '^d' | head -n 1 | awk '{print $NF}')
+ echo "TEST_REPORT_DIR=$TEST_REPORT_DIR" >> $GITHUB_ENV
+ TEST_RESULT=$(diff <(jq 'walk(if type == "object" then with_entries(.value |= if type == "object" or type == "array" then . else "" end) else . end)' test/__fixtures__/integration-test.json) <(jq 'walk(if type == "object" then with_entries(.value |= if type == "object" or type == "array" then . else "" end) else . end)' ${TEST_REPORT_DIR}report.json))
+ echo "TEST_RESULT=$TEST_RESULT" >> $GITHUB_ENV
+ if [[ "$TEST_RESULT" != "" ]]; then
+ echo "# ❎ Report Differerent" >> $GITHUB_STEP_SUMMARY
+ echo "## Failing Diff" >> $GITHUB_STEP_SUMMARY
+ echo '```diff' >> $GITHUB_STEP_SUMMARY
+ echo "${TEST_RESULT}" >> $GITHUB_STEP_SUMMARY
+ echo '```' >> $GITHUB_STEP_SUMMARY
+ else
+ echo "# ✅ Report Validated" >> $GITHUB_STEP_SUMMARY
+ fi
+
+ - name: "Full Integration Test Diff"
+ id: diff
+ continue-on-error: true
+ run: |
+ set +e
+ FULL_TEST_DIFF=$(diff <(jq -S '.tests[]' test/__fixtures__/integration-test.json) <(jq -S '.tests[]' ${TEST_REPORT_DIR}report.json))
+ echo "## Unfiltered Diff" >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo "Expand Diff
" >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo '```diff' >> $GITHUB_STEP_SUMMARY
+ echo "${FULL_TEST_DIFF}" >> $GITHUB_STEP_SUMMARY
+ echo '```' >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo " " >> $GITHUB_STEP_SUMMARY
+
+ - name: "Test Results Validation Outcome"
+ run: |
+ if [[ "$TEST_RESULT" != "" ]]; then
+ exit 1
+ else
+ exit 0
+ fi
diff --git a/.github/workflows/sanity-test-checks.yml b/.github/workflows/sanity-test-checks.yml
new file mode 100644
index 000000000..c2b89579e
--- /dev/null
+++ b/.github/workflows/sanity-test-checks.yml
@@ -0,0 +1,85 @@
+name: Sanity Test Checks
+
+on:
+ workflow_dispatch:
+
+ workflow_call:
+
+permissions:
+ actions: write
+ contents: write
+ pull-requests: write
+
+env:
+ NODE_VERSION: 20
+
+jobs:
+ sanity-puppeteer:
+ name: 🤪 Puppeteer
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout actions
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }}
+ sparse-checkout: |
+ .github/actions
+ path: actions
+
+ - uses: ./actions/.github/actions/setup-base
+ id: base
+
+ - uses: ./actions/.github/actions/setup-node
+ id: node
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+
+ - name: "𓋏 Run `npm run sanity-test`"
+ continue-on-error: true
+ shell: bash
+ working-directory: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ run: |
+ npm run sanity-test
+
+ - uses: ./actions/.github/actions/sanity-test-checks
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ RUNNER: "Puppeteer"
+ FIXTURE: "sanity-test.json"
+
+ sanity-playwright:
+ name: 🤪 Playwright
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout actions
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }}
+ sparse-checkout: |
+ .github/actions
+ path: actions
+
+ - uses: ./actions/.github/actions/setup-base
+ id: base
+
+ - uses: ./actions/.github/actions/setup-node
+ id: node
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+
+ - uses: ./actions/.github/actions/cache-playwright
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+
+ - name: "🎭 Run `npm run sanity-test-playwright`"
+ continue-on-error: true
+ shell: bash
+ working-directory: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ run: |
+ npm run sanity-test-playwright
+
+ - uses: ./actions/.github/actions/sanity-test-checks
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ RUNNER: "Playwright"
+ FIXTURE: "sanity-test-playwright.json"
diff --git a/.github/workflows/smoke-test-checks.yml b/.github/workflows/smoke-test-checks.yml
new file mode 100644
index 000000000..c9d66d62d
--- /dev/null
+++ b/.github/workflows/smoke-test-checks.yml
@@ -0,0 +1,81 @@
+name: Smoke Test Checks
+
+on:
+ workflow_dispatch:
+ workflow_call:
+
+permissions:
+ actions: write
+ contents: write
+ pull-requests: write
+
+env:
+ NODE_VERSION: 20
+
+jobs:
+ smoke-puppeteer:
+ name: 💨 Puppeteer
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout actions
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }}
+ sparse-checkout: |
+ .github/actions
+ path: actions
+
+ - uses: ./actions/.github/actions/setup-base
+ id: base
+
+ - uses: ./actions/.github/actions/setup-node
+ id: node
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+
+ - name: "𓋏 Run `npm run smoke-test`"
+ continue-on-error: true
+ shell: bash
+ working-directory: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ run: |
+ npm run smoke-test
+
+ - uses: ./actions/.github/actions/smoke-test-checks
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ RUNNER: "Puppeteer"
+ FIXTURE: "smoke-test.json"
+
+ smoke-playwright:
+ name: 💨 Playwright
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout actions
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }}
+ sparse-checkout: |
+ .github/actions
+ path: actions
+
+ - uses: ./actions/.github/actions/setup-base
+ id: base
+
+ - uses: ./actions/.github/actions/setup-node
+ id: node
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+
+ - name: "🎭 Run `npm run smoke-test-playwright`"
+ continue-on-error: true
+ shell: bash
+ working-directory: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ run: |
+ npx playwright install --with-deps
+ npm run smoke-test-playwright
+
+ - uses: ./actions/.github/actions/smoke-test-checks
+ with:
+ WORKSPACE_ROOT: ${{ steps.base.outputs.WORKSPACE_ROOT }}
+ RUNNER: "Playwright"
+ FIXTURE: "smoke-test-playwright.json"
diff --git a/.github/workflows/test-check-backstop.yml b/.github/workflows/test-check-backstop.yml
new file mode 100644
index 000000000..88fe79a28
--- /dev/null
+++ b/.github/workflows/test-check-backstop.yml
@@ -0,0 +1,24 @@
+name: Test Checks
+
+on:
+ workflow_dispatch:
+ workflow_call:
+
+permissions:
+ actions: write
+ checks: write
+ contents: write
+ pull-requests: write
+
+jobs:
+ sanity-test:
+ name: 🤪 Sanity Test Checks
+ uses: ./.github/workflows/sanity-test-checks.yml
+
+ smoke-test:
+ name: 💨 Smoke Test Checks
+ uses: ./.github/workflows/smoke-test-checks.yml
+
+ integration-test:
+ name: 🧩 Integration Test Check
+ uses: ./.github/workflows/integration-test-check.yml
diff --git a/.github/workflows/test-check-docker.yml b/.github/workflows/test-check-docker.yml
new file mode 100644
index 000000000..4bf173b1c
--- /dev/null
+++ b/.github/workflows/test-check-docker.yml
@@ -0,0 +1,21 @@
+name: Docker Test Checks
+
+on:
+ workflow_dispatch:
+ workflow_call:
+
+permissions:
+ actions: write
+ checks: write
+ contents: write
+ pull-requests: write
+ packages: write
+
+jobs:
+ sanity-test:
+ name: 💨 Docker Smoke Test
+ uses: ./.github/workflows/docker-smoke-test-checks.yml
+
+ smoke-test:
+ name: 🤪 Docker Sanity Test
+ uses: ./.github/workflows/docker-sanity-test-checks.yml
diff --git a/test/__fixtures__/integration-test.json b/test/__fixtures__/integration-test.json
new file mode 100644
index 000000000..f19e33aa8
--- /dev/null
+++ b/test/__fixtures__/integration-test.json
@@ -0,0 +1,54 @@
+{
+ "testSuite": "BackstopJS",
+ "tests": [
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/backstop_default_BackstopJS_Homepage_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240114-203323/backstop_default_BackstopJS_Homepage_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "backstop_default_BackstopJS_Homepage_0_document_0_phone.png",
+ "label": "BackstopJS Homepage",
+ "requireSameDimensions": true,
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/",
+ "referenceUrl": "",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/backstop_default_BackstopJS_Homepage_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240114-203323/backstop_default_BackstopJS_Homepage_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "backstop_default_BackstopJS_Homepage_0_document_1_tablet.png",
+ "label": "BackstopJS Homepage",
+ "requireSameDimensions": true,
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/",
+ "referenceUrl": "",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ }
+ ],
+ "id": "backstop_default"
+}
diff --git a/test/__fixtures__/sanity-test-docker.json b/test/__fixtures__/sanity-test-docker.json
new file mode 100644
index 000000000..a6256827e
--- /dev/null
+++ b/test/__fixtures__/sanity-test-docker.json
@@ -0,0 +1,62 @@
+{
+ "testSuite": "BackstopJS",
+ "tests": [
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/backstop_default_BackstopJS_Homepage_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215636/backstop_default_BackstopJS_Homepage_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215636/backstop_default_BackstopJS_Homepage_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "backstop_default_BackstopJS_Homepage_0_document_0_phone.png",
+ "label": "BackstopJS Homepage",
+ "requireSameDimensions": true,
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/",
+ "referenceUrl": "",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.194232723577236,
+ "misMatchPercentage": "3.19",
+ "analysisTime": 19
+ },
+ "diffImage": "../bitmaps_test/20240101-215636/failed_diff_backstop_default_BackstopJS_Homepage_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/backstop_default_BackstopJS_Homepage_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215636/backstop_default_BackstopJS_Homepage_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215636/backstop_default_BackstopJS_Homepage_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "backstop_default_BackstopJS_Homepage_0_document_1_tablet.png",
+ "label": "BackstopJS Homepage",
+ "requireSameDimensions": true,
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/",
+ "referenceUrl": "",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.8621084797555385,
+ "misMatchPercentage": "1.86",
+ "analysisTime": 41
+ },
+ "diffImage": "../bitmaps_test/20240101-215636/failed_diff_backstop_default_BackstopJS_Homepage_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ }
+ ],
+ "id": "backstop_default"
+}
\ No newline at end of file
diff --git a/test/__fixtures__/sanity-test-playwright-docker.json b/test/__fixtures__/sanity-test-playwright-docker.json
new file mode 100644
index 000000000..4fdb2c233
--- /dev/null
+++ b/test/__fixtures__/sanity-test-playwright-docker.json
@@ -0,0 +1,60 @@
+{
+ "testSuite": "BackstopJS",
+ "tests": [
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/backstop_playwright_BackstopJS_Homepage_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215718/backstop_playwright_BackstopJS_Homepage_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "backstop_playwright_BackstopJS_Homepage_0_document_0_phone.png",
+ "label": "BackstopJS Homepage",
+ "requireSameDimensions": true,
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/",
+ "referenceUrl": "",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.32901422764227645,
+ "misMatchPercentage": "0.33",
+ "analysisTime": 17
+ },
+ "diffImage": "../bitmaps_test/20240101-215718/failed_diff_backstop_playwright_BackstopJS_Homepage_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/backstop_playwright_BackstopJS_Homepage_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215718/backstop_playwright_BackstopJS_Homepage_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "backstop_playwright_BackstopJS_Homepage_0_document_1_tablet.png",
+ "label": "BackstopJS Homepage",
+ "requireSameDimensions": true,
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/",
+ "referenceUrl": "",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.3016973834988541,
+ "misMatchPercentage": "0.30",
+ "analysisTime": 36
+ },
+ "diffImage": "../bitmaps_test/20240101-215718/failed_diff_backstop_playwright_BackstopJS_Homepage_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ }
+ ],
+ "id": "backstop_playwright"
+}
\ No newline at end of file
diff --git a/test/__fixtures__/sanity-test-playwright.json b/test/__fixtures__/sanity-test-playwright.json
new file mode 100644
index 000000000..67e2dc8da
--- /dev/null
+++ b/test/__fixtures__/sanity-test-playwright.json
@@ -0,0 +1,60 @@
+{
+ "testSuite": "BackstopJS",
+ "tests": [
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/backstop_playwright_BackstopJS_Homepage_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-165143/backstop_playwright_BackstopJS_Homepage_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "backstop_playwright_BackstopJS_Homepage_0_document_0_phone.png",
+ "label": "BackstopJS Homepage",
+ "requireSameDimensions": true,
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/",
+ "referenceUrl": "",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.702997967479675,
+ "misMatchPercentage": "3.70",
+ "analysisTime": 13
+ },
+ "diffImage": "../bitmaps_test/20240101-165143/failed_diff_backstop_playwright_BackstopJS_Homepage_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/backstop_playwright_BackstopJS_Homepage_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165143/backstop_playwright_BackstopJS_Homepage_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "backstop_playwright_BackstopJS_Homepage_0_document_1_tablet.png",
+ "label": "BackstopJS Homepage",
+ "requireSameDimensions": true,
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/",
+ "referenceUrl": "",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.9367867885790682,
+ "misMatchPercentage": "1.94",
+ "analysisTime": 35
+ },
+ "diffImage": "../bitmaps_test/20240101-165143/failed_diff_backstop_playwright_BackstopJS_Homepage_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ }
+ ],
+ "id": "backstop_playwright"
+}
\ No newline at end of file
diff --git a/test/__fixtures__/sanity-test.json b/test/__fixtures__/sanity-test.json
new file mode 100644
index 000000000..b9f767345
--- /dev/null
+++ b/test/__fixtures__/sanity-test.json
@@ -0,0 +1,62 @@
+{
+ "testSuite": "BackstopJS",
+ "tests": [
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/backstop_default_BackstopJS_Homepage_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-165059/backstop_default_BackstopJS_Homepage_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-165059/backstop_default_BackstopJS_Homepage_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "backstop_default_BackstopJS_Homepage_0_document_0_phone.png",
+ "label": "BackstopJS Homepage",
+ "requireSameDimensions": true,
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/",
+ "referenceUrl": "",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.750635162601626,
+ "misMatchPercentage": "3.75",
+ "analysisTime": 43
+ },
+ "diffImage": "../bitmaps_test/20240101-165059/failed_diff_backstop_default_BackstopJS_Homepage_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/backstop_default_BackstopJS_Homepage_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165059/backstop_default_BackstopJS_Homepage_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-165059/backstop_default_BackstopJS_Homepage_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "backstop_default_BackstopJS_Homepage_0_document_1_tablet.png",
+ "label": "BackstopJS Homepage",
+ "requireSameDimensions": true,
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/",
+ "referenceUrl": "",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.9487233813980136,
+ "misMatchPercentage": "1.95",
+ "analysisTime": 82
+ },
+ "diffImage": "../bitmaps_test/20240101-165059/failed_diff_backstop_default_BackstopJS_Homepage_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ }
+ ],
+ "id": "backstop_default"
+}
\ No newline at end of file
diff --git a/test/__fixtures__/smoke-test-docker.json b/test/__fixtures__/smoke-test-docker.json
new file mode 100644
index 000000000..6aa71b564
--- /dev/null
+++ b/test/__fixtures__/smoke-test-docker.json
@@ -0,0 +1,1760 @@
+{
+ "testSuite": "BackstopJS",
+ "tests": [
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_Simple_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_Simple_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_Simple_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_Simple_0_document_0_phone.png",
+ "label": "Simple",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.194232723577236,
+ "misMatchPercentage": "3.19",
+ "analysisTime": 50
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_Simple_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_Simple_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_Simple_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_Simple_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_Simple_0_document_1_tablet.png",
+ "label": "Simple",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.8621084797555385,
+ "misMatchPercentage": "1.86",
+ "analysisTime": 126
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_Simple_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.log.json",
+ "selector": "#pkratest",
+ "fileName": "puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.log.json",
+ "selector": ".logoBlock",
+ "fileName": "puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.60075329566855,
+ "misMatchPercentage": "1.60",
+ "analysisTime": 8
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.log.json",
+ "selector": "#pkratest",
+ "fileName": "puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.log.json",
+ "selector": ".logoBlock",
+ "fileName": "puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.7462686567164178,
+ "misMatchPercentage": "0.75",
+ "analysisTime": 45
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.log.json",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "label": "delay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.2428129146395401,
+ "misMatchPercentage": "1.24",
+ "analysisTime": 46
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.log.json",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "label": "delay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8101455343661579,
+ "misMatchPercentage": "0.81",
+ "analysisTime": 63
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_readyEvent_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "label": "readyEvent",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.1214430894308944,
+ "misMatchPercentage": "2.12",
+ "analysisTime": 25
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "label": "readyEvent",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.6768115942028985,
+ "misMatchPercentage": "0.68",
+ "analysisTime": 54
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_readyEventTimeout_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "label": "readyEventTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.4745934959349594,
+ "misMatchPercentage": "2.47",
+ "analysisTime": 68
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "label": "readyEventTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.7195652173913043,
+ "misMatchPercentage": "0.72",
+ "analysisTime": 32
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_readySelector_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "label": "readySelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.1214430894308944,
+ "misMatchPercentage": "2.12",
+ "analysisTime": 58
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_readySelector_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_readySelector_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "label": "readySelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.6768115942028985,
+ "misMatchPercentage": "0.68",
+ "analysisTime": 138
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "label": "readySelectorTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "engineErrorMsg": "Waiting for selector `._the_lemur_is_ready_to_see_you_timeout` failed: Waiting failed: 2000ms exceeded",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "label": "readySelectorTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "engineErrorMsg": "Waiting for selector `._the_lemur_is_ready_to_see_you_timeout` failed: Waiting failed: 2000ms exceeded",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.log.json",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "label": "noDelay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.2450243255196816,
+ "misMatchPercentage": "1.25",
+ "analysisTime": 54
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.log.json",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "label": "noDelay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8101455343661579,
+ "misMatchPercentage": "0.81",
+ "analysisTime": 61
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_0_getItBlock_0_phone.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 7.63515932688865,
+ "misMatchPercentage": "7.64",
+ "analysisTime": 44
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expanded_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.log.json",
+ "selector": ".getItBlock.__n1",
+ "fileName": "puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.367794486215539,
+ "misMatchPercentage": "3.37",
+ "analysisTime": 43
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.log.json",
+ "selector": ".getItBlock.__n2",
+ "fileName": "puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.2428129146395401,
+ "misMatchPercentage": "1.24",
+ "analysisTime": 80
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.log.json",
+ "selector": ".getItBlock.__n3",
+ "fileName": "puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_0_getItBlock_1_tablet.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 5.497799562547764,
+ "misMatchPercentage": "5.50",
+ "analysisTime": 28
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expanded_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.log.json",
+ "selector": ".getItBlock.__n1",
+ "fileName": "puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.3227132579650567,
+ "misMatchPercentage": "2.32",
+ "analysisTime": 35
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.log.json",
+ "selector": ".getItBlock.__n2",
+ "fileName": "puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8101455343661579,
+ "misMatchPercentage": "0.81",
+ "analysisTime": 23
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.log.json",
+ "selector": ".getItBlock.__n3",
+ "fileName": "puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_notExpanded_0_getItBlock_0_phone.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "label": "notExpanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 7.63515932688865,
+ "misMatchPercentage": "7.64",
+ "analysisTime": 25
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "label": "notExpanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 5.497799562547764,
+ "misMatchPercentage": "5.50",
+ "analysisTime": 16
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_0_getItBlock_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_0_getItBlock_0_phone.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_expect_0_getItBlock_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 7.63515932688865,
+ "misMatchPercentage": "7.64",
+ "analysisTime": 28
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expect_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_1_getItBlock__n1_0_phone.log.json",
+ "selector": ".getItBlock.__n1",
+ "fileName": "puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.367794486215539,
+ "misMatchPercentage": "3.37",
+ "analysisTime": 23
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_2_getItBlock__n2_0_phone.log.json",
+ "selector": ".getItBlock.__n2",
+ "fileName": "puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.2428129146395401,
+ "misMatchPercentage": "1.24",
+ "analysisTime": 38
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_3_getItBlock__n3_0_phone.log.json",
+ "selector": ".getItBlock.__n3",
+ "fileName": "puppet_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_0_getItBlock_1_tablet.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 5.497799562547764,
+ "misMatchPercentage": "5.50",
+ "analysisTime": 165
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expect_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.log.json",
+ "selector": ".getItBlock.__n1",
+ "fileName": "puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.3227132579650567,
+ "misMatchPercentage": "2.32",
+ "analysisTime": 51
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.log.json",
+ "selector": ".getItBlock.__n2",
+ "fileName": "puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8101455343661579,
+ "misMatchPercentage": "0.81",
+ "analysisTime": 178
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.log.json",
+ "selector": ".getItBlock.__n3",
+ "fileName": "puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_magicSelectors_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_magicSelectors_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_magicSelectors_0_document_0_phone.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.194232723577236,
+ "misMatchPercentage": "3.19",
+ "analysisTime": 326
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_magicSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_magicSelectors_1_viewport_0_phone.log.json",
+ "selector": "viewport",
+ "fileName": "puppet_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.12109375,
+ "misMatchPercentage": "3.12",
+ "analysisTime": 24
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_magicSelectors_1_viewport_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_magicSelectors_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.8621084797555385,
+ "misMatchPercentage": "1.86",
+ "analysisTime": 76
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_magicSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_magicSelectors_1_viewport_1_tablet.log.json",
+ "selector": "viewport",
+ "fileName": "puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.6054789225260417,
+ "misMatchPercentage": "1.61",
+ "analysisTime": 86
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_hideSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_hideSelectors_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_hideSelectors_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_hideSelectors_0_document_0_phone.png",
+ "label": "hideSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.49796747967479676,
+ "misMatchPercentage": "0.50",
+ "analysisTime": 129
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_hideSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_hideSelectors_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "label": "hideSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.23843344155844154,
+ "misMatchPercentage": "0.24",
+ "analysisTime": 73
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_hideSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_removeSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_removeSelectors_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_removeSelectors_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_removeSelectors_0_document_0_phone.png",
+ "label": "removeSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.0208333333333333,
+ "misMatchPercentage": "1.02",
+ "analysisTime": 117
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_removeSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_removeSelectors_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "label": "removeSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.4063924153645833,
+ "misMatchPercentage": "0.41",
+ "analysisTime": 28
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_removeSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notFound_0_monkey_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_notFound_0_monkey_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_notFound_0_monkey_0_phone.log.json",
+ "selector": ".monkey",
+ "fileName": "puppet_backstop_features_notFound_0_monkey_0_phone.png",
+ "label": "notFound",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notFound_0_monkey_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_notFound_0_monkey_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_notFound_0_monkey_1_tablet.log.json",
+ "selector": ".monkey",
+ "fileName": "puppet_backstop_features_notFound_0_monkey_1_tablet.png",
+ "label": "notFound",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notVisible_0_noShow_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_notVisible_0_noShow_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_notVisible_0_noShow_0_phone.log.json",
+ "selector": "#noShow",
+ "fileName": "puppet_backstop_features_notVisible_0_noShow_0_phone.png",
+ "label": "notVisible",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_notVisible_0_noShow_1_tablet.log.json",
+ "selector": "#noShow",
+ "fileName": "puppet_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "label": "notVisible",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_cookies_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "label": "cookies",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?cookie",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.0161516853932584,
+ "misMatchPercentage": "3.02",
+ "analysisTime": 46
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_cookies_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_cookies_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "label": "cookies",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?cookie",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.2421782178217822,
+ "misMatchPercentage": "1.24",
+ "analysisTime": 187
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_cookies_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_hover_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_hover_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_hover_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_hover_0_moneyshot_0_phone.png",
+ "label": "hover",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.137957317073171,
+ "misMatchPercentage": "2.14",
+ "analysisTime": 88
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_hover_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_hover_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "label": "hover",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.7038043478260869,
+ "misMatchPercentage": "0.70",
+ "analysisTime": 84
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_hover_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_click_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_click_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_click_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_click_0_moneyshot_0_phone.png",
+ "label": "click",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 8.810975609756097,
+ "misMatchPercentage": "8.81",
+ "analysisTime": 21
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_click_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_click_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_click_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_click_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_click_0_moneyshot_1_tablet.png",
+ "label": "click",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 10.83677536231884,
+ "misMatchPercentage": "10.84",
+ "analysisTime": 34
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_click_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.log.json",
+ "selector": ".lemurFace",
+ "fileName": "puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "label": "scrollToSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/test/configs/special_cases/scrollToSelector.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 47
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.log.json",
+ "selector": ".lemurFace",
+ "fileName": "puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "label": "scrollToSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/test/configs/special_cases/scrollToSelector.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 24
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "label": "scenarioSpecificViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Galaxy-S5",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.1676003734827263,
+ "misMatchPercentage": "3.17",
+ "analysisTime": 38
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.log.json",
+ "selector": "viewport",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "label": "scenarioSpecificViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Galaxy-S5",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.860677083333333,
+ "misMatchPercentage": "3.86",
+ "analysisTime": 53
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "label": "scenarioSpecificViewports-withEmptyViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.194232723577236,
+ "misMatchPercentage": "3.19",
+ "analysisTime": 23
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "label": "scenarioSpecificViewports-withEmptyViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.8621084797555385,
+ "misMatchPercentage": "1.86",
+ "analysisTime": 46
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Pixel-2",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.7688564476885644,
+ "misMatchPercentage": "2.77",
+ "analysisTime": 75
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Pixel2-XL",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.7688564476885644,
+ "misMatchPercentage": "2.77",
+ "analysisTime": 98
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPhone-X",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.174417796315607,
+ "misMatchPercentage": "3.17",
+ "analysisTime": 34
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.7844070278184478,
+ "misMatchPercentage": "1.78",
+ "analysisTime": 41
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 5.497799562547764,
+ "misMatchPercentage": "5.50",
+ "analysisTime": 35
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.log.json",
+ "selector": ".getItBlock.__n1",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.3227132579650567,
+ "misMatchPercentage": "2.32",
+ "analysisTime": 20
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.log.json",
+ "selector": ".getItBlock.__n2",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8101455343661579,
+ "misMatchPercentage": "0.81",
+ "analysisTime": 29
+ },
+ "diffImage": "../bitmaps_test/20240101-215759/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.log.json",
+ "selector": ".getItBlock.__n3",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "test": "../bitmaps_test/20240101-215759/puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "testLog": "../bitmaps_test/20240101-215759/puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.log.json",
+ "selector": "div[id=navbar]",
+ "fileName": "puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "label": "keyPressSelector",
+ "misMatchThreshold": 5,
+ "url": "https://garris.github.io/BackstopJS/examples/featureTests/index.html",
+ "expect": 0,
+ "viewportLabel": "Desktop",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 20
+ }
+ },
+ "status": "pass"
+ }
+ ],
+ "id": "puppet_backstop_features"
+}
\ No newline at end of file
diff --git a/test/__fixtures__/smoke-test-playwright-docker.json b/test/__fixtures__/smoke-test-playwright-docker.json
new file mode 100644
index 000000000..865668e8c
--- /dev/null
+++ b/test/__fixtures__/smoke-test-playwright-docker.json
@@ -0,0 +1,1690 @@
+{
+ "testSuite": "BackstopJS",
+ "tests": [
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_Simple_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_Simple_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_Simple_0_document_0_phone.png",
+ "label": "Simple",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 25.576410060975608,
+ "misMatchPercentage": "25.58",
+ "analysisTime": 28
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_Simple_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_Simple_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_Simple_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_Simple_0_document_1_tablet.png",
+ "label": "Simple",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 28.73391544117647,
+ "misMatchPercentage": "28.73",
+ "analysisTime": 434
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_Simple_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "selector": "#pkratest",
+ "fileName": "playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "selector": ".logoBlock",
+ "fileName": "playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 95.27310924369748,
+ "misMatchPercentage": "95.27",
+ "analysisTime": 11
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "selector": "#pkratest",
+ "fileName": "playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "selector": ".logoBlock",
+ "fileName": "playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 93.24257831720519,
+ "misMatchPercentage": "93.24",
+ "analysisTime": 67
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "label": "delay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 6.57676529632539,
+ "misMatchPercentage": "6.58",
+ "analysisTime": 19
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "label": "delay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 0.8134544995582481,
+ "misMatchPercentage": "0.81",
+ "analysisTime": 24
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "label": "readyEvent",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 93.8694105691057,
+ "misMatchPercentage": "93.87",
+ "analysisTime": 51
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "label": "readyEvent",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 90.12826086956521,
+ "misMatchPercentage": "90.13",
+ "analysisTime": 171
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "label": "readyEventTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 97.08333333333333,
+ "misMatchPercentage": "97.08",
+ "analysisTime": 84
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "label": "readyEventTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 97.16213768115942,
+ "misMatchPercentage": "97.16",
+ "analysisTime": 139
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "label": "readySelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 93.8694105691057,
+ "misMatchPercentage": "93.87",
+ "analysisTime": 92
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "label": "readySelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 90.12826086956521,
+ "misMatchPercentage": "90.13",
+ "analysisTime": 247
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "label": "readySelectorTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "engineErrorMsg": "page.waitForSelector: Timeout 2000ms exceeded.\nCall log:\n \u001b[2m- waiting for locator('._the_lemur_is_ready_to_see_you_timeout') to be visible\u001b[22m\n",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "label": "readySelectorTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "engineErrorMsg": "page.waitForSelector: Timeout 2000ms exceeded.\nCall log:\n \u001b[2m- waiting for locator('._the_lemur_is_ready_to_see_you_timeout') to be visible\u001b[22m\n",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "label": "noDelay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 1.7631142532949289,
+ "misMatchPercentage": "1.76",
+ "analysisTime": 21
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "label": "noDelay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 0.5433547898523287,
+ "misMatchPercentage": "0.54",
+ "analysisTime": 91
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 58.21557891018282,
+ "misMatchPercentage": "58.22",
+ "analysisTime": 12
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "selector": ".getItBlock.__n1",
+ "fileName": "playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 4.9511065362840965,
+ "misMatchPercentage": "4.95",
+ "analysisTime": 46
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "selector": ".getItBlock.__n2",
+ "fileName": "playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 6.57676529632539,
+ "misMatchPercentage": "6.58",
+ "analysisTime": 78
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "selector": ".getItBlock.__n3",
+ "fileName": "playwright_chromium_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -2
+ },
+ "rawMisMatchPercentage": 16.220936294442705,
+ "misMatchPercentage": "16.22",
+ "analysisTime": 18
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "selector": ".getItBlock.__n1",
+ "fileName": "playwright_chromium_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 36
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "selector": ".getItBlock.__n2",
+ "fileName": "playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 0.8134544995582481,
+ "misMatchPercentage": "0.81",
+ "analysisTime": 21
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "selector": ".getItBlock.__n3",
+ "fileName": "playwright_chromium_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "label": "notExpanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 58.21557891018282,
+ "misMatchPercentage": "58.22",
+ "analysisTime": 34
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "label": "notExpanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -2
+ },
+ "rawMisMatchPercentage": 16.220936294442705,
+ "misMatchPercentage": "16.22",
+ "analysisTime": 29
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 58.21557891018282,
+ "misMatchPercentage": "58.22",
+ "analysisTime": 16
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "selector": ".getItBlock.__n1",
+ "fileName": "playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 4.9511065362840965,
+ "misMatchPercentage": "4.95",
+ "analysisTime": 28
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "selector": ".getItBlock.__n2",
+ "fileName": "playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 6.57676529632539,
+ "misMatchPercentage": "6.58",
+ "analysisTime": 63
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "selector": ".getItBlock.__n3",
+ "fileName": "playwright_chromium_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -2
+ },
+ "rawMisMatchPercentage": 16.220936294442705,
+ "misMatchPercentage": "16.22",
+ "analysisTime": 95
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "selector": ".getItBlock.__n1",
+ "fileName": "playwright_chromium_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 35
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "selector": ".getItBlock.__n2",
+ "fileName": "playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 0.8134544995582481,
+ "misMatchPercentage": "0.81",
+ "analysisTime": 229
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "selector": ".getItBlock.__n3",
+ "fileName": "playwright_chromium_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 25.576410060975608,
+ "misMatchPercentage": "25.58",
+ "analysisTime": 96
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "selector": "viewport",
+ "fileName": "playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 51.795572916666664,
+ "misMatchPercentage": "51.80",
+ "analysisTime": 105
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 28.73391544117647,
+ "misMatchPercentage": "28.73",
+ "analysisTime": 202
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "selector": "viewport",
+ "fileName": "playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 48.518498738606766,
+ "misMatchPercentage": "48.52",
+ "analysisTime": 167
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png",
+ "label": "hideSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 25.450012703252035,
+ "misMatchPercentage": "25.45",
+ "analysisTime": 42
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "label": "hideSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 28.72115820760122,
+ "misMatchPercentage": "28.72",
+ "analysisTime": 140
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png",
+ "label": "removeSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 54.99544270833333,
+ "misMatchPercentage": "55.00",
+ "analysisTime": 67
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "label": "removeSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 54.903411865234375,
+ "misMatchPercentage": "54.90",
+ "analysisTime": 170
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notFound_0_monkey_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_notFound_0_monkey_0_phone.png",
+ "selector": ".monkey",
+ "fileName": "playwright_chromium_backstop_features_notFound_0_monkey_0_phone.png",
+ "label": "notFound",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notFound_0_monkey_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_notFound_0_monkey_1_tablet.png",
+ "selector": ".monkey",
+ "fileName": "playwright_chromium_backstop_features_notFound_0_monkey_1_tablet.png",
+ "label": "notFound",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notVisible_0_noShow_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_notVisible_0_noShow_0_phone.png",
+ "selector": "#noShow",
+ "fileName": "playwright_chromium_backstop_features_notVisible_0_noShow_0_phone.png",
+ "label": "notVisible",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "selector": "#noShow",
+ "fileName": "playwright_chromium_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "label": "notVisible",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "label": "cookies",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?cookie",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 94.23689138576779,
+ "misMatchPercentage": "94.24",
+ "analysisTime": 56
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "label": "cookies",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?cookie",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 89.97465346534653,
+ "misMatchPercentage": "89.97",
+ "analysisTime": 136
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png",
+ "label": "hover",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 93.88211382113822,
+ "misMatchPercentage": "93.88",
+ "analysisTime": 127
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "label": "hover",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 90.1413043478261,
+ "misMatchPercentage": "90.14",
+ "analysisTime": 128
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png",
+ "label": "click",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 97.08333333333333,
+ "misMatchPercentage": "97.08",
+ "analysisTime": 59
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png",
+ "label": "click",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 97.16213768115942,
+ "misMatchPercentage": "97.16",
+ "analysisTime": 287
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "selector": ".lemurFace",
+ "fileName": "playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "label": "scrollToSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/test/configs/special_cases/scrollToSelector.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 1
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 11
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "selector": ".lemurFace",
+ "fileName": "playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "label": "scrollToSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/test/configs/special_cases/scrollToSelector.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 11
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "label": "scenarioSpecificViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Galaxy-S5",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 35.09891456582633,
+ "misMatchPercentage": "35.10",
+ "analysisTime": 49
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "selector": "viewport",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "label": "scenarioSpecificViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Galaxy-S5",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 52.209635416666664,
+ "misMatchPercentage": "52.21",
+ "analysisTime": 62
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "label": "scenarioSpecificViewports-withEmptyViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 25.576410060975608,
+ "misMatchPercentage": "25.58",
+ "analysisTime": 57
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "label": "scenarioSpecificViewports-withEmptyViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 28.73391544117647,
+ "misMatchPercentage": "28.73",
+ "analysisTime": 72
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Pixel-2",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 40.567294147778206,
+ "misMatchPercentage": "40.57",
+ "analysisTime": 61
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Pixel2-XL",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 46.10782430528877,
+ "misMatchPercentage": "46.11",
+ "analysisTime": 81
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPhone-X",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 44.93096976016684,
+ "misMatchPercentage": "44.93",
+ "analysisTime": 83
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 50.87318699670571,
+ "misMatchPercentage": "50.87",
+ "analysisTime": 111
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -2
+ },
+ "rawMisMatchPercentage": 23.4386403920342,
+ "misMatchPercentage": "23.44",
+ "analysisTime": 97
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "selector": ".getItBlock.__n1",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 25
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "selector": ".getItBlock.__n2",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 0.8121923513820523,
+ "misMatchPercentage": "0.81",
+ "analysisTime": 94
+ },
+ "diffImage": "../bitmaps_test/20240101-215914/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "selector": ".getItBlock.__n3",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "test": "../bitmaps_test/20240101-215914/playwright_chromium_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "selector": "div[id=navbar]",
+ "fileName": "playwright_chromium_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "label": "keyPressSelector",
+ "misMatchThreshold": 5,
+ "url": "https://garris.github.io/BackstopJS/examples/featureTests/index.html",
+ "expect": 0,
+ "viewportLabel": "Desktop",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.044444444444444446,
+ "misMatchPercentage": "0.04",
+ "analysisTime": 32
+ }
+ },
+ "status": "pass"
+ }
+ ],
+ "id": "playwright_chromium_backstop_features"
+}
\ No newline at end of file
diff --git a/test/__fixtures__/smoke-test-playwright.json b/test/__fixtures__/smoke-test-playwright.json
new file mode 100644
index 000000000..e41598061
--- /dev/null
+++ b/test/__fixtures__/smoke-test-playwright.json
@@ -0,0 +1,1694 @@
+{
+ "testSuite": "BackstopJS",
+ "tests": [
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_Simple_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_Simple_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_Simple_0_document_0_phone.png",
+ "label": "Simple",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 27.306275406504067,
+ "misMatchPercentage": "27.31",
+ "analysisTime": 91
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_Simple_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_Simple_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_Simple_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_Simple_0_document_1_tablet.png",
+ "label": "Simple",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 28.784272942131402,
+ "misMatchPercentage": "28.78",
+ "analysisTime": 176
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_Simple_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "selector": "#pkratest",
+ "fileName": "playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "selector": ".logoBlock",
+ "fileName": "playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 95.18307322929172,
+ "misMatchPercentage": "95.18",
+ "analysisTime": 7
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "selector": "#pkratest",
+ "fileName": "playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "selector": ".logoBlock",
+ "fileName": "playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 93.04712700235088,
+ "misMatchPercentage": "93.05",
+ "analysisTime": 48
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "label": "delay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 6.714235838352099,
+ "misMatchPercentage": "6.71",
+ "analysisTime": 59
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "label": "delay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 1.2312255458790862,
+ "misMatchPercentage": "1.23",
+ "analysisTime": 159
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "label": "readyEvent",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 94.57952235772358,
+ "misMatchPercentage": "94.58",
+ "analysisTime": 81
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "label": "readyEvent",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 90.41757246376811,
+ "misMatchPercentage": "90.42",
+ "analysisTime": 43
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "label": "readyEventTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 97.92174796747967,
+ "misMatchPercentage": "97.92",
+ "analysisTime": 156
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "label": "readyEventTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 97.45579710144926,
+ "misMatchPercentage": "97.46",
+ "analysisTime": 209
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "label": "readySelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 94.57952235772358,
+ "misMatchPercentage": "94.58",
+ "analysisTime": 17
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "label": "readySelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 90.41757246376811,
+ "misMatchPercentage": "90.42",
+ "analysisTime": 92
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "label": "readySelectorTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "engineErrorMsg": "page.waitForSelector: Timeout 2000ms exceeded.\nCall log:\n \u001b[2m- waiting for locator('._the_lemur_is_ready_to_see_you_timeout') to be visible\u001b[22m\n",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "label": "readySelectorTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "engineErrorMsg": "page.waitForSelector: Timeout 2000ms exceeded.\nCall log:\n \u001b[2m- waiting for locator('._the_lemur_is_ready_to_see_you_timeout') to be visible\u001b[22m\n",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "label": "noDelay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 1.9071310116086235,
+ "misMatchPercentage": "1.91",
+ "analysisTime": 68
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "label": "noDelay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 0.9579704657326771,
+ "misMatchPercentage": "0.96",
+ "analysisTime": 57
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 49.909476287203034,
+ "misMatchPercentage": "49.91",
+ "analysisTime": 32
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "selector": ".getItBlock.__n1",
+ "fileName": "playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 5.14668039114771,
+ "misMatchPercentage": "5.15",
+ "analysisTime": 125
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "selector": ".getItBlock.__n2",
+ "fileName": "playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 6.714235838352099,
+ "misMatchPercentage": "6.71",
+ "analysisTime": 89
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "selector": ".getItBlock.__n3",
+ "fileName": "playwright_chromium_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -2
+ },
+ "rawMisMatchPercentage": 10.834375977478887,
+ "misMatchPercentage": "10.83",
+ "analysisTime": 70
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "selector": ".getItBlock.__n1",
+ "fileName": "playwright_chromium_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.305584104145255,
+ "misMatchPercentage": "2.31",
+ "analysisTime": 52
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expanded_1_getItBlock__n1_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "selector": ".getItBlock.__n2",
+ "fileName": "playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 1.2312255458790862,
+ "misMatchPercentage": "1.23",
+ "analysisTime": 168
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "selector": ".getItBlock.__n3",
+ "fileName": "playwright_chromium_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "label": "notExpanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 49.909476287203034,
+ "misMatchPercentage": "49.91",
+ "analysisTime": 133
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "label": "notExpanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -2
+ },
+ "rawMisMatchPercentage": 10.834375977478887,
+ "misMatchPercentage": "10.83",
+ "analysisTime": 13
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 49.909476287203034,
+ "misMatchPercentage": "49.91",
+ "analysisTime": 86
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "selector": ".getItBlock.__n1",
+ "fileName": "playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 5.14668039114771,
+ "misMatchPercentage": "5.15",
+ "analysisTime": 11
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "selector": ".getItBlock.__n2",
+ "fileName": "playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": -2,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 6.714235838352099,
+ "misMatchPercentage": "6.71",
+ "analysisTime": 97
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "selector": ".getItBlock.__n3",
+ "fileName": "playwright_chromium_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -2
+ },
+ "rawMisMatchPercentage": 10.834375977478887,
+ "misMatchPercentage": "10.83",
+ "analysisTime": 9
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "selector": ".getItBlock.__n1",
+ "fileName": "playwright_chromium_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.305584104145255,
+ "misMatchPercentage": "2.31",
+ "analysisTime": 83
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expect_1_getItBlock__n1_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "selector": ".getItBlock.__n2",
+ "fileName": "playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 1.2312255458790862,
+ "misMatchPercentage": "1.23",
+ "analysisTime": 186
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "selector": ".getItBlock.__n3",
+ "fileName": "playwright_chromium_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 27.306275406504067,
+ "misMatchPercentage": "27.31",
+ "analysisTime": 118
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "selector": "viewport",
+ "fileName": "playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 52.173177083333336,
+ "misMatchPercentage": "52.17",
+ "analysisTime": 47
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 28.784272942131402,
+ "misMatchPercentage": "28.78",
+ "analysisTime": 84
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "selector": "viewport",
+ "fileName": "playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 47.43995666503906,
+ "misMatchPercentage": "47.44",
+ "analysisTime": 102
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png",
+ "label": "hideSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 24.32005843495935,
+ "misMatchPercentage": "24.32",
+ "analysisTime": 108
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "label": "hideSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 27.261163698433922,
+ "misMatchPercentage": "27.26",
+ "analysisTime": 53
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png",
+ "label": "removeSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 52.51236979166667,
+ "misMatchPercentage": "52.51",
+ "analysisTime": 112
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "label": "removeSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 51.86297098795573,
+ "misMatchPercentage": "51.86",
+ "analysisTime": 162
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notFound_0_monkey_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_notFound_0_monkey_0_phone.png",
+ "selector": ".monkey",
+ "fileName": "playwright_chromium_backstop_features_notFound_0_monkey_0_phone.png",
+ "label": "notFound",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notFound_0_monkey_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_notFound_0_monkey_1_tablet.png",
+ "selector": ".monkey",
+ "fileName": "playwright_chromium_backstop_features_notFound_0_monkey_1_tablet.png",
+ "label": "notFound",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notVisible_0_noShow_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_notVisible_0_noShow_0_phone.png",
+ "selector": "#noShow",
+ "fileName": "playwright_chromium_backstop_features_notVisible_0_noShow_0_phone.png",
+ "label": "notVisible",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "selector": "#noShow",
+ "fileName": "playwright_chromium_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "label": "notVisible",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "label": "cookies",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?cookie",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 95.04798689138578,
+ "misMatchPercentage": "95.05",
+ "analysisTime": 47
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "label": "cookies",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?cookie",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 90.51465346534654,
+ "misMatchPercentage": "90.51",
+ "analysisTime": 40
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png",
+ "label": "hover",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 94.60111788617887,
+ "misMatchPercentage": "94.60",
+ "analysisTime": 167
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "label": "hover",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 90.4340579710145,
+ "misMatchPercentage": "90.43",
+ "analysisTime": 63
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png",
+ "label": "click",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 97.92174796747967,
+ "misMatchPercentage": "97.92",
+ "analysisTime": 54
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png",
+ "selector": ".moneyshot",
+ "fileName": "playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png",
+ "label": "click",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 97.45579710144926,
+ "misMatchPercentage": "97.46",
+ "analysisTime": 77
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "selector": ".lemurFace",
+ "fileName": "playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "label": "scrollToSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/test/configs/special_cases/scrollToSelector.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 1
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 57
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "selector": ".lemurFace",
+ "fileName": "playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "label": "scrollToSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/test/configs/special_cases/scrollToSelector.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 7
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "label": "scenarioSpecificViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Galaxy-S5",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 36.33461718020541,
+ "misMatchPercentage": "36.33",
+ "analysisTime": 87
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "selector": "viewport",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "label": "scenarioSpecificViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Galaxy-S5",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 53.10850694444444,
+ "misMatchPercentage": "53.11",
+ "analysisTime": 59
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "label": "scenarioSpecificViewports-withEmptyViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 27.306275406504067,
+ "misMatchPercentage": "27.31",
+ "analysisTime": 78
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "label": "scenarioSpecificViewports-withEmptyViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 28.784272942131402,
+ "misMatchPercentage": "28.78",
+ "analysisTime": 55
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Pixel-2",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 40.3777692406198,
+ "misMatchPercentage": "40.38",
+ "analysisTime": 29
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Pixel2-XL",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 45.40760660776028,
+ "misMatchPercentage": "45.41",
+ "analysisTime": 26
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPhone-X",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 44.89954814042405,
+ "misMatchPercentage": "44.90",
+ "analysisTime": 32
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "selector": "document",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 49.36566331899707,
+ "misMatchPercentage": "49.37",
+ "analysisTime": 52
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "selector": ".getItBlock",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -2
+ },
+ "rawMisMatchPercentage": 13.662548222291731,
+ "misMatchPercentage": "13.66",
+ "analysisTime": 34
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "selector": ".getItBlock.__n1",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.300445357999315,
+ "misMatchPercentage": "2.30",
+ "analysisTime": 49
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "selector": ".getItBlock.__n2",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": false,
+ "dimensionDifference": {
+ "width": 0,
+ "height": -1
+ },
+ "rawMisMatchPercentage": 1.2324876940552822,
+ "misMatchPercentage": "1.23",
+ "analysisTime": 96
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "selector": ".getItBlock.__n3",
+ "fileName": "playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/playwright_chromium_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "test": "../bitmaps_test/20240101-165424/playwright_chromium_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "selector": "div[id=navbar]",
+ "fileName": "playwright_chromium_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "label": "keyPressSelector",
+ "misMatchThreshold": 5,
+ "url": "https://garris.github.io/BackstopJS/examples/featureTests/index.html",
+ "expect": 0,
+ "viewportLabel": "Desktop",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 12.058333333333334,
+ "misMatchPercentage": "12.06",
+ "analysisTime": 44
+ },
+ "diffImage": "../bitmaps_test/20240101-165424/failed_diff_playwright_chromium_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png"
+ },
+ "status": "fail"
+ }
+ ],
+ "id": "playwright_chromium_backstop_features"
+}
\ No newline at end of file
diff --git a/test/__fixtures__/smoke-test.json b/test/__fixtures__/smoke-test.json
new file mode 100644
index 000000000..dc6982f2f
--- /dev/null
+++ b/test/__fixtures__/smoke-test.json
@@ -0,0 +1,1761 @@
+{
+ "testSuite": "BackstopJS",
+ "tests": [
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_Simple_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_Simple_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_Simple_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_Simple_0_document_0_phone.png",
+ "label": "Simple",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.750635162601626,
+ "misMatchPercentage": "3.75",
+ "analysisTime": 210
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_Simple_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_Simple_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_Simple_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_Simple_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_Simple_0_document_1_tablet.png",
+ "label": "Simple",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.9487233813980136,
+ "misMatchPercentage": "1.95",
+ "analysisTime": 308
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_Simple_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.log.json",
+ "selector": "#pkratest",
+ "fileName": "puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.log.json",
+ "selector": ".logoBlock",
+ "fileName": "puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 10.98556183301946,
+ "misMatchPercentage": "10.99",
+ "analysisTime": 32
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.log.json",
+ "selector": "#pkratest",
+ "fileName": "puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.log.json",
+ "selector": ".logoBlock",
+ "fileName": "puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png",
+ "label": "pkra bug test",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.2769485903814262,
+ "misMatchPercentage": "1.28",
+ "analysisTime": 78
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.log.json",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png",
+ "label": "delay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.4108801415302963,
+ "misMatchPercentage": "1.41",
+ "analysisTime": 88
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.log.json",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png",
+ "label": "delay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8469414944235087,
+ "misMatchPercentage": "0.85",
+ "analysisTime": 200
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_readyEvent_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png",
+ "label": "readyEvent",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.010670731707317,
+ "misMatchPercentage": "3.01",
+ "analysisTime": 253
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png",
+ "label": "readyEvent",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.780072463768116,
+ "misMatchPercentage": "0.78",
+ "analysisTime": 216
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_readyEventTimeout_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png",
+ "label": "readyEventTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.6280487804878048,
+ "misMatchPercentage": "3.63",
+ "analysisTime": 233
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png",
+ "label": "readyEventTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8199275362318841,
+ "misMatchPercentage": "0.82",
+ "analysisTime": 286
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_readySelector_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readySelector_0_moneyshot_0_phone.png",
+ "label": "readySelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.010670731707317,
+ "misMatchPercentage": "3.01",
+ "analysisTime": 57
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_readySelector_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_readySelector_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png",
+ "label": "readySelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.780072463768116,
+ "misMatchPercentage": "0.78",
+ "analysisTime": 163
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png",
+ "label": "readySelectorTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "engineErrorMsg": "Waiting for selector `._the_lemur_is_ready_to_see_you_timeout` failed: Waiting failed: 2000ms exceeded",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png",
+ "label": "readySelectorTimeout",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "engineErrorMsg": "Waiting for selector `._the_lemur_is_ready_to_see_you_timeout` failed: Waiting failed: 2000ms exceeded",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.log.json",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png",
+ "label": "noDelay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.4108801415302963,
+ "misMatchPercentage": "1.41",
+ "analysisTime": 63
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.log.json",
+ "selector": ".getItBlock:nth-child(3)",
+ "fileName": "puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png",
+ "label": "noDelay",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?delay",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8469414944235087,
+ "misMatchPercentage": "0.85",
+ "analysisTime": 181
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_0_getItBlock_0_phone.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_expanded_0_getItBlock_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 8.487737200143215,
+ "misMatchPercentage": "8.49",
+ "analysisTime": 34
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expanded_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.log.json",
+ "selector": ".getItBlock.__n1",
+ "fileName": "puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.715016708437761,
+ "misMatchPercentage": "3.72",
+ "analysisTime": 55
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.log.json",
+ "selector": ".getItBlock.__n2",
+ "fileName": "puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.4108801415302963,
+ "misMatchPercentage": "1.41",
+ "analysisTime": 130
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.log.json",
+ "selector": ".getItBlock.__n3",
+ "fileName": "puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_0_getItBlock_1_tablet.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_expanded_0_getItBlock_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 5.729701952723536,
+ "misMatchPercentage": "5.73",
+ "analysisTime": 296
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expanded_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.log.json",
+ "selector": ".getItBlock.__n1",
+ "fileName": "puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.195101062007537,
+ "misMatchPercentage": "2.20",
+ "analysisTime": 157
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.log.json",
+ "selector": ".getItBlock.__n2",
+ "fileName": "puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8469414944235087,
+ "misMatchPercentage": "0.85",
+ "analysisTime": 230
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.log.json",
+ "selector": ".getItBlock.__n3",
+ "fileName": "puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.png",
+ "label": "expanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_notExpanded_0_getItBlock_0_phone.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png",
+ "label": "notExpanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 8.487737200143215,
+ "misMatchPercentage": "8.49",
+ "analysisTime": 170
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png",
+ "label": "notExpanded",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 5.729701952723536,
+ "misMatchPercentage": "5.73",
+ "analysisTime": 101
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_0_getItBlock_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_0_getItBlock_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_0_getItBlock_0_phone.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_expect_0_getItBlock_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 8.487737200143215,
+ "misMatchPercentage": "8.49",
+ "analysisTime": 101
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expect_0_getItBlock_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_1_getItBlock__n1_0_phone.log.json",
+ "selector": ".getItBlock.__n1",
+ "fileName": "puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.715016708437761,
+ "misMatchPercentage": "3.72",
+ "analysisTime": 38
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_2_getItBlock__n2_0_phone.log.json",
+ "selector": ".getItBlock.__n2",
+ "fileName": "puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.4108801415302963,
+ "misMatchPercentage": "1.41",
+ "analysisTime": 134
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_3_getItBlock__n3_0_phone.log.json",
+ "selector": ".getItBlock.__n3",
+ "fileName": "puppet_backstop_features_expect_3_getItBlock__n3_0_phone.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_0_getItBlock_1_tablet.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_expect_0_getItBlock_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 5.729701952723536,
+ "misMatchPercentage": "5.73",
+ "analysisTime": 294
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expect_0_getItBlock_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.log.json",
+ "selector": ".getItBlock.__n1",
+ "fileName": "puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.195101062007537,
+ "misMatchPercentage": "2.20",
+ "analysisTime": 137
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.log.json",
+ "selector": ".getItBlock.__n2",
+ "fileName": "puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8469414944235087,
+ "misMatchPercentage": "0.85",
+ "analysisTime": 159
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.log.json",
+ "selector": ".getItBlock.__n3",
+ "fileName": "puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.png",
+ "label": "expect",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 4,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_magicSelectors_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_magicSelectors_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_magicSelectors_0_document_0_phone.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.750635162601626,
+ "misMatchPercentage": "3.75",
+ "analysisTime": 174
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_magicSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_magicSelectors_1_viewport_0_phone.log.json",
+ "selector": "viewport",
+ "fileName": "puppet_backstop_features_magicSelectors_1_viewport_0_phone.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.8776041666666665,
+ "misMatchPercentage": "3.88",
+ "analysisTime": 155
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_magicSelectors_1_viewport_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_magicSelectors_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_magicSelectors_0_document_1_tablet.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.9487233813980136,
+ "misMatchPercentage": "1.95",
+ "analysisTime": 114
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_magicSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_magicSelectors_1_viewport_1_tablet.log.json",
+ "selector": "viewport",
+ "fileName": "puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png",
+ "label": "magicSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.7199198404947917,
+ "misMatchPercentage": "1.72",
+ "analysisTime": 90
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_hideSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_hideSelectors_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_hideSelectors_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_hideSelectors_0_document_0_phone.png",
+ "label": "hideSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.5303607723577236,
+ "misMatchPercentage": "0.53",
+ "analysisTime": 218
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_hideSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_hideSelectors_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_hideSelectors_0_document_1_tablet.png",
+ "label": "hideSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.25230973071046603,
+ "misMatchPercentage": "0.25",
+ "analysisTime": 174
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_hideSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_removeSelectors_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_removeSelectors_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_removeSelectors_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_removeSelectors_0_document_0_phone.png",
+ "label": "removeSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.0872395833333333,
+ "misMatchPercentage": "1.09",
+ "analysisTime": 136
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_removeSelectors_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_removeSelectors_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_removeSelectors_0_document_1_tablet.png",
+ "label": "removeSelectors",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.4300435384114583,
+ "misMatchPercentage": "0.43",
+ "analysisTime": 303
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_removeSelectors_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notFound_0_monkey_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_notFound_0_monkey_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_notFound_0_monkey_0_phone.log.json",
+ "selector": ".monkey",
+ "fileName": "puppet_backstop_features_notFound_0_monkey_0_phone.png",
+ "label": "notFound",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notFound_0_monkey_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_notFound_0_monkey_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_notFound_0_monkey_1_tablet.log.json",
+ "selector": ".monkey",
+ "fileName": "puppet_backstop_features_notFound_0_monkey_1_tablet.png",
+ "label": "notFound",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notVisible_0_noShow_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_notVisible_0_noShow_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_notVisible_0_noShow_0_phone.log.json",
+ "selector": "#noShow",
+ "fileName": "puppet_backstop_features_notVisible_0_noShow_0_phone.png",
+ "label": "notVisible",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_notVisible_0_noShow_1_tablet.log.json",
+ "selector": "#noShow",
+ "fileName": "puppet_backstop_features_notVisible_0_noShow_1_tablet.png",
+ "label": "notVisible",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_cookies_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_cookies_0_moneyshot_0_phone.png",
+ "label": "cookies",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?cookie",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.2806647940074907,
+ "misMatchPercentage": "3.28",
+ "analysisTime": 91
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_cookies_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_cookies_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_cookies_0_moneyshot_1_tablet.png",
+ "label": "cookies",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?cookie",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.2706930693069307,
+ "misMatchPercentage": "1.27",
+ "analysisTime": 131
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_cookies_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_hover_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_hover_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_hover_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_hover_0_moneyshot_0_phone.png",
+ "label": "hover",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.039888211382114,
+ "misMatchPercentage": "3.04",
+ "analysisTime": 33
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_hover_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_hover_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_hover_0_moneyshot_1_tablet.png",
+ "label": "hover",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.7996376811594202,
+ "misMatchPercentage": "0.80",
+ "analysisTime": 238
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_hover_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_click_0_moneyshot_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_click_0_moneyshot_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_click_0_moneyshot_0_phone.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_click_0_moneyshot_0_phone.png",
+ "label": "click",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 10.240091463414634,
+ "misMatchPercentage": "10.24",
+ "analysisTime": 85
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_click_0_moneyshot_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_click_0_moneyshot_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_click_0_moneyshot_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_click_0_moneyshot_1_tablet.log.json",
+ "selector": ".moneyshot",
+ "fileName": "puppet_backstop_features_click_0_moneyshot_1_tablet.png",
+ "label": "click",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html?click",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 12.13876811594203,
+ "misMatchPercentage": "12.14",
+ "analysisTime": 149
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_click_0_moneyshot_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.log.json",
+ "selector": ".lemurFace",
+ "fileName": "puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.png",
+ "label": "scrollToSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/test/configs/special_cases/scrollToSelector.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 35
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.log.json",
+ "selector": ".lemurFace",
+ "fileName": "puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png",
+ "label": "scrollToSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/test/configs/special_cases/scrollToSelector.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0,
+ "misMatchPercentage": "0.00",
+ "analysisTime": 17
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png",
+ "label": "scenarioSpecificViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Galaxy-S5",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.5775560224089635,
+ "misMatchPercentage": "3.58",
+ "analysisTime": 144
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.log.json",
+ "selector": "viewport",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png",
+ "label": "scenarioSpecificViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Galaxy-S5",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 4.380642361111111,
+ "misMatchPercentage": "4.38",
+ "analysisTime": 264
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png",
+ "label": "scenarioSpecificViewports-withEmptyViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "phone",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.750635162601626,
+ "misMatchPercentage": "3.75",
+ "analysisTime": 119
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png",
+ "label": "scenarioSpecificViewports-withEmptyViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "tablet",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.9487233813980136,
+ "misMatchPercentage": "1.95",
+ "analysisTime": 86
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Pixel-2",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.1105135100525034,
+ "misMatchPercentage": "3.11",
+ "analysisTime": 112
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "Pixel2-XL",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.1105135100525034,
+ "misMatchPercentage": "3.11",
+ "analysisTime": 216
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPhone-X",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 3.484741049704553,
+ "misMatchPercentage": "3.48",
+ "analysisTime": 204
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.log.json",
+ "selector": "document",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withMultipleViewports",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 1.8674076912518303,
+ "misMatchPercentage": "1.87",
+ "analysisTime": 79
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.log.json",
+ "selector": ".getItBlock",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 5.729701952723536,
+ "misMatchPercentage": "5.73",
+ "analysisTime": 109
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.log.json",
+ "selector": ".getItBlock.__n1",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 2.195101062007537,
+ "misMatchPercentage": "2.20",
+ "analysisTime": 84
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.log.json",
+ "selector": ".getItBlock.__n2",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 0.8469414944235087,
+ "misMatchPercentage": "0.85",
+ "analysisTime": 130
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png"
+ },
+ "status": "fail"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.log.json",
+ "selector": ".getItBlock.__n3",
+ "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png",
+ "label": "scenarioSpecificViewports-withExpandSelector",
+ "misMatchThreshold": 0.1,
+ "url": "https://garris.github.io/BackstopJS/index.html",
+ "expect": 0,
+ "viewportLabel": "iPad-Pro",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "misMatchPercentage": "0.00"
+ }
+ },
+ "status": "pass"
+ },
+ {
+ "pair": {
+ "reference": "../bitmaps_reference/puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "test": "../bitmaps_test/20240115-015541/puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "testLog": "../bitmaps_test/20240115-015541/puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.log.json",
+ "selector": "div[id=navbar]",
+ "fileName": "puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png",
+ "label": "keyPressSelector",
+ "misMatchThreshold": 5,
+ "url": "https://garris.github.io/BackstopJS/examples/featureTests/index.html",
+ "expect": 0,
+ "viewportLabel": "Desktop",
+ "diff": {
+ "isSameDimensions": true,
+ "dimensionDifference": {
+ "width": 0,
+ "height": 0
+ },
+ "rawMisMatchPercentage": 12.102777777777778,
+ "misMatchPercentage": "12.10",
+ "analysisTime": 57
+ },
+ "diffImage": "../bitmaps_test/20240115-015541/failed_diff_puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png"
+ },
+ "status": "fail"
+ }
+ ],
+ "id": "puppet_backstop_features"
+}
\ No newline at end of file
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_Simple_0_document_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_Simple_0_document_0_phone.png
new file mode 100644
index 000000000..c0b7b6b8a
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_Simple_0_document_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_Simple_0_document_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_Simple_0_document_1_tablet.png
new file mode 100644
index 000000000..92d13bc1a
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_Simple_0_document_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png
new file mode 100644
index 000000000..b5cfabc87
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_click_0_moneyshot_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png
new file mode 100644
index 000000000..4a5a03539
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_click_0_moneyshot_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png
new file mode 100644
index 000000000..21cd1c6c2
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_cookies_0_moneyshot_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png
new file mode 100644
index 000000000..4f99eb753
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_cookies_0_moneyshot_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png
new file mode 100644
index 000000000..dcd18fc9f
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png
new file mode 100644
index 000000000..af8c496ae
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png
new file mode 100644
index 000000000..8d48c5b53
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_0_getItBlock_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png
new file mode 100644
index 000000000..1ec5f60cf
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_0_getItBlock_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png
new file mode 100644
index 000000000..7847e564f
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_1_tablet.png
new file mode 100644
index 000000000..be74bf6de
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_1_getItBlock__n1_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png
new file mode 100644
index 000000000..dcd18fc9f
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png
new file mode 100644
index 000000000..af8c496ae
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_2_getItBlock__n2_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_0_phone.png
new file mode 100644
index 000000000..6362e904b
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_1_tablet.png
new file mode 100644
index 000000000..6362e904b
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expanded_3_getItBlock__n3_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png
new file mode 100644
index 000000000..8d48c5b53
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_0_getItBlock_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png
new file mode 100644
index 000000000..1ec5f60cf
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_0_getItBlock_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png
new file mode 100644
index 000000000..7847e564f
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_1_getItBlock__n1_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_1_getItBlock__n1_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_1_getItBlock__n1_1_tablet.png
new file mode 100644
index 000000000..be74bf6de
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_1_getItBlock__n1_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png
new file mode 100644
index 000000000..dcd18fc9f
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_2_getItBlock__n2_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png
new file mode 100644
index 000000000..af8c496ae
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_2_getItBlock__n2_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_3_getItBlock__n3_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_3_getItBlock__n3_0_phone.png
new file mode 100644
index 000000000..6362e904b
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_3_getItBlock__n3_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_3_getItBlock__n3_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_3_getItBlock__n3_1_tablet.png
new file mode 100644
index 000000000..6362e904b
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_expect_3_getItBlock__n3_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png
new file mode 100644
index 000000000..8d530c182
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hideSelectors_0_document_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png
new file mode 100644
index 000000000..0d9b54edd
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hideSelectors_0_document_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png
new file mode 100644
index 000000000..d03fd2483
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hover_0_moneyshot_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png
new file mode 100644
index 000000000..54f3517bc
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_hover_0_moneyshot_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png
new file mode 100644
index 000000000..48e6a52ba
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png
new file mode 100644
index 000000000..c0b7b6b8a
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_0_document_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png
new file mode 100644
index 000000000..92d13bc1a
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_0_document_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png
new file mode 100644
index 000000000..4b41ff6f8
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_1_viewport_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png
new file mode 100644
index 000000000..0d85148ca
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_magicSelectors_1_viewport_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png
new file mode 100644
index 000000000..e35d0d025
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png
new file mode 100644
index 000000000..654a7324c
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png
new file mode 100644
index 000000000..8d48c5b53
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notExpanded_0_getItBlock_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png
new file mode 100644
index 000000000..1ec5f60cf
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notExpanded_0_getItBlock_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notFound_0_monkey_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notFound_0_monkey_0_phone.png
new file mode 100644
index 000000000..f848f7cfd
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notFound_0_monkey_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notFound_0_monkey_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notFound_0_monkey_1_tablet.png
new file mode 100644
index 000000000..f848f7cfd
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notFound_0_monkey_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notVisible_0_noShow_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notVisible_0_noShow_0_phone.png
new file mode 100644
index 000000000..6362e904b
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notVisible_0_noShow_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notVisible_0_noShow_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notVisible_0_noShow_1_tablet.png
new file mode 100644
index 000000000..6362e904b
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_notVisible_0_noShow_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_0_phone.png
new file mode 100644
index 000000000..f848f7cfd
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png
new file mode 100644
index 000000000..f848f7cfd
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png
new file mode 100644
index 000000000..0b735a642
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png
new file mode 100644
index 000000000..eb447561a
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png
new file mode 100644
index 000000000..b5cfabc87
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png
new file mode 100644
index 000000000..4a5a03539
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEventTimeout_0_moneyshot_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png
new file mode 100644
index 000000000..2e364c7b6
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEvent_0_moneyshot_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png
new file mode 100644
index 000000000..e3ebdaabc
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readyEvent_0_moneyshot_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png
new file mode 100644
index 000000000..25deaa434
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png
new file mode 100644
index 000000000..25deaa434
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelectorTimeout_0_moneyshot_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png
new file mode 100644
index 000000000..2e364c7b6
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelector_0_moneyshot_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png
new file mode 100644
index 000000000..e3ebdaabc
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_readySelector_0_moneyshot_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png
new file mode 100644
index 000000000..f79d0e32f
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_removeSelectors_0_document_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png
new file mode 100644
index 000000000..c828b87cf
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_removeSelectors_0_document_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png
new file mode 100644
index 000000000..c0b7b6b8a
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png
new file mode 100644
index 000000000..92d13bc1a
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png
new file mode 100644
index 000000000..1ec5f60cf
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png
new file mode 100644
index 000000000..be74bf6de
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png
new file mode 100644
index 000000000..af8c496ae
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png
new file mode 100644
index 000000000..6362e904b
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png
new file mode 100644
index 000000000..deb6698ad
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png
new file mode 100644
index 000000000..deb6698ad
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png
new file mode 100644
index 000000000..ecd983002
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png
new file mode 100644
index 000000000..373494c6f
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png
new file mode 100644
index 000000000..49a058d36
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png
new file mode 100644
index 000000000..22035b59a
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png
new file mode 100644
index 000000000..51a75dd1a
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_0_phone.png differ
diff --git a/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png
new file mode 100644
index 000000000..51a75dd1a
Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/playwright_chromium_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png differ