{"id":18091345,"url":"https://github.com/wildlyinaccurate/whoopsie","last_synced_at":"2025-04-13T06:09:29.241Z","repository":{"id":50911190,"uuid":"59508050","full_name":"wildlyinaccurate/whoopsie","owner":"wildlyinaccurate","description":"Whoopsie is a visual regression tool for testing responsive web sites","archived":false,"fork":false,"pushed_at":"2024-06-22T05:11:16.000Z","size":897,"stargazers_count":20,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T06:09:02.992Z","etag":null,"topics":["automated-testing","image-comparison","regression-testing","visual-regression","visual-regression-tests"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wildlyinaccurate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-23T18:24:57.000Z","updated_at":"2023-07-11T14:06:56.000Z","dependencies_parsed_at":"2022-09-24T23:13:51.794Z","dependency_job_id":"7961cb50-3af5-47df-b737-d1c1a9d7f20a","html_url":"https://github.com/wildlyinaccurate/whoopsie","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wildlyinaccurate%2Fwhoopsie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wildlyinaccurate%2Fwhoopsie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wildlyinaccurate%2Fwhoopsie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wildlyinaccurate%2Fwhoopsie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wildlyinaccurate","download_url":"https://codeload.github.com/wildlyinaccurate/whoopsie/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670435,"owners_count":21142904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automated-testing","image-comparison","regression-testing","visual-regression","visual-regression-tests"],"created_at":"2024-10-31T18:11:28.253Z","updated_at":"2025-04-13T06:09:29.194Z","avatar_url":"https://github.com/wildlyinaccurate.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Whoopsie\n\n[![Build Status](https://img.shields.io/travis/wildlyinaccurate/whoopsie.svg?style=flat-square)](https://travis-ci.org/wildlyinaccurate/whoopsie)\n[![Coverage Status](https://img.shields.io/coveralls/wildlyinaccurate/whoopsie.svg?style=flat-square)](https://coveralls.io/repos/github/wildlyinaccurate/whoopsie/badge.svg?branch=master)\n\nWhoopsie is a visual regression tool for testing responsive web sites.\n\n## Installation\n\n```\n$ npm install -g whoopsie\n```\n\n## Configuration\n\nBy default Whoopsie will read configuration from `.whoopsie-config.yml` in the current directory. See [config/sample.yml](./config/sample.yml) for a sample configuration file.\n\nConfiguration can be loaded from another path with the `--config` or `-c` flag:\n\n```\n$ whoopsie test -c path/to/config.yml\n```\n\n## Usage\n\n### Commands\n\n#### `gallery`\n\nRun visual regression tests and generate an HTML gallery containing the results. This command is an alias for `whoopsie test --reporter gallery`.\n\n```\n$ whoopsie gallery\n```\n\n#### `test`\n\nRun visual regression tests. Uses the `json` reporter by default.\n\n```\n$ whoopsie test\n```\n\n#### `generate-gallery`\n\nGenerate a gallery from the JSON output of `whoopsie test`. Useful if you generate JSON results in CI and want to view the results in a gallery locally.\n\n```\n$ whoopsie generate-gallery\n```\n\n#### `validate-config`\n\nCheck that the configuration file is valid.\n\n```\n$ whoopsie validate-config\n```\n\n### Options\n\n| Name                    | Default value      | Description                                              |\n|-------------------------|--------------------|----------------------------------------------------------|\n| `--reporter` or `r`     | `json`             | Test result reporter(s) to use                           |\n| `--concurrency` or `-C` | `4`                | Number of tests to run concurrently                      |\n| `--verbose` or `-v`     | `\u003cOff\u003e`            | Print extra information while running                    |\n| `--debug` or `-vv`      | `\u003cOff\u003e`            | Print extra information and debug messages while running |\n| `--quiet` or `-q`       | `\u003cOff\u003e`            | Only print errors while running                          |\n\n## Reporters\n\nReporters can be specified when running `whoopsie test` by passing the `--reporter` flag. More than one reporter can be specified. The default reporter is `json`.\n\n### `gallery`\n\nOutputs test results as an HTML gallery.\n\n[![](./example-output.png)](./example-output.png)\n\n### `json`\n\nOutputs test results as JSON.\n\n```json\n{\n    \"summary\": {\n        \"total\": 2,\n        \"failures\": 0,\n        \"passes\": 2\n    },\n    \"results\": [\n        {\n            \"base\": {\n                \"type\": \"selector\",\n                \"selector\": \".nw-c-top-stories\",\n                \"id\": \"capture$ad367858\",\n                \"page\": {\n                    \"path\": \"/news\",\n                    \"selectors\": [\n                        \".nw-c-top-stories\",\n                        \".nw-c-must-see\"\n                    ],\n                    \"url\": \"http://www.bbc.com/news\"\n                },\n                \"imagePath\": \"/tmp/whoopsie-capture$ad367858-0.png\"\n            },\n            \"test\": {\n                \"type\": \"selector\",\n                \"selector\": \".nw-c-top-stories\",\n                \"id\": \"capture$c1dbebb0\",\n                \"page\": {\n                    \"path\": \"/news\",\n                    \"selectors\": [\n                        \".nw-c-top-stories\",\n                        \".nw-c-must-see\"\n                    ],\n                    \"url\": \"http://www.test.bbc.com/news\"\n                },\n                \"imagePath\": \"/tmp/whoopsie-capture$c1dbebb0-0.png\"\n            },\n            \"diff\": {\n                \"total\": 0,\n                \"percentage\": 0,\n                \"id\": \"compare$520b7196\",\n                \"imagePath\": \"/tmp/whoopsie-compare$520b7196.png\"\n            },\n            \"viewport\": {\n                \"width\": 640,\n                \"isMobile\": true\n            }\n        },\n        {\n            \"base\": { ... },\n            \"test\": { ... },\n            \"diff\": { ... },\n            \"viewport\": { ... }\n        }\n    ]\n}\n```\n\n## Docker\n\nIf you prefer to run Whoopsie in a container, you can use the official Docker image:\n\n```\n$ docker pull wildlyinaccurate/whoopsie\n$ docker run --rm --volume $PWD:/whoopsie --workdir /whoopsie \\\n    wildlyinaccurate/whoopsie \\\n    whoopsie gallery\n```\n\n## License\n\n[ISC](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwildlyinaccurate%2Fwhoopsie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwildlyinaccurate%2Fwhoopsie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwildlyinaccurate%2Fwhoopsie/lists"}