whoopsie
v1.3.1
Published
Whoopsie is a visual regression tool for testing responsive web sites
Maintainers
Readme
Whoopsie
Whoopsie is a visual regression tool for testing responsive web sites.
Installation
$ npm install -g whoopsieConfiguration
By default Whoopsie will read configuration from .whoopsie-config.yml in the current directory. See config/sample.yml for a sample configuration file.
Configuration can be loaded from another path with the --config or -c flag:
$ whoopsie test -c path/to/config.ymlUsage
Commands
gallery
Run visual regression tests and generate an HTML gallery containing the results. This command is an alias for whoopsie test --reporter gallery.
$ whoopsie gallerytest
Run visual regression tests. Uses the json reporter by default.
$ whoopsie testgenerate-gallery
Generate 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.
$ whoopsie generate-galleryvalidate-config
Check that the configuration file is valid.
$ whoopsie validate-configOptions
| Name | Default value | Description |
|-------------------------|--------------------|----------------------------------------------------------|
| --reporter or r | json | Test result reporter(s) to use |
| --concurrency or -C | 4 | Number of tests to run concurrently |
| --verbose or -v | <Off> | Print extra information while running |
| --debug or -vv | <Off> | Print extra information and debug messages while running |
| --quiet or -q | <Off> | Only print errors while running |
Reporters
Reporters can be specified when running whoopsie test by passing the --reporter flag. More than one reporter can be specified. The default reporter is json.
gallery
Outputs test results as an HTML gallery.
json
Outputs test results as JSON.
{
"summary": {
"total": 2,
"failures": 0,
"passes": 2
},
"results": [
{
"base": {
"type": "selector",
"selector": ".nw-c-top-stories",
"id": "capture$ad367858",
"page": {
"path": "/news",
"selectors": [
".nw-c-top-stories",
".nw-c-must-see"
],
"url": "http://www.bbc.com/news"
},
"imagePath": "/tmp/whoopsie-capture$ad367858-0.png"
},
"test": {
"type": "selector",
"selector": ".nw-c-top-stories",
"id": "capture$c1dbebb0",
"page": {
"path": "/news",
"selectors": [
".nw-c-top-stories",
".nw-c-must-see"
],
"url": "http://www.test.bbc.com/news"
},
"imagePath": "/tmp/whoopsie-capture$c1dbebb0-0.png"
},
"diff": {
"total": 0,
"percentage": 0,
"id": "compare$520b7196",
"imagePath": "/tmp/whoopsie-compare$520b7196.png"
},
"viewport": {
"width": 640,
"isMobile": true
}
},
{
"base": { ... },
"test": { ... },
"diff": { ... },
"viewport": { ... }
}
]
}Docker
If you prefer to run Whoopsie in a container, you can use the official Docker image:
$ docker pull wildlyinaccurate/whoopsie
$ docker run --rm --volume $PWD:/whoopsie --workdir /whoopsie \
wildlyinaccurate/whoopsie \
whoopsie gallery
