@dreipol/dreiguard
v0.9.1
Published
Compare cross browser screenshots for url
Downloads
19
Keywords
Readme
dreiguard
Compare versions of website across different browsers using browserstack api. This cli app will use the browserstack api to create a screenshot of your site. You'll have to configure multiple environments & browsers. Thos screenshots are the compared to each other.
Note: In order to maintain decent performance only the centered 500px x 500px are compared.
Install
npm i @dreipol/dreiguard -g
Usage
dreiguard compare http://dreipol.ch ./config/index.js --json --cli -p dreipol.ch --slack all
Commands
compare
Run comparison for url with configuration from provided file
dreiguard compare <URL> <FILE> [--json] [--cli] [--project NAME] [--slack MODE] [--quiet]
--quiet
Suppress console output--json
will create a json file in the folder configured in the configfile called{PROJECT}.json
.--cli
will print a more readable table.--slack [all|diff|whitepage]
will print the failing results to slack. The webhook url is configured in the configfile. Only send the selected diff warnings.--project <PROJECTNAME>
used for creating screenshots and assign them in browserstack (Used for better search)
Example:
dreiguard compare https://dreipol.ch ./dreiguard/config.js
output
┌────────────────────┬────────────────────┬────────────────────┬────────────────────┬──────────┐
│ Device │ Browser │ Comp. Device │ Comp. Browser │ Diff │
├────────────────────┼────────────────────┼────────────────────┼────────────────────┼──────────┤
│ Windows 10 │ Chrome 66.0 │ OS X High Sierra │ Chrome 66.0 │ 0.113069 │
├────────────────────┼────────────────────┼────────────────────┼────────────────────┼──────────┤
│ OS X High Sierra │ Chrome 66.0 │ Windows 10 │ Chrome 66.0 │ 0.113069 │
└────────────────────┴────────────────────┴────────────────────┴────────────────────┴──────────┘
init
Setup initial configuration file
dreiguard init <FILE>
Example:
dreiguard init ./dreiguard/config.js
Environment variables
In order not to have some sensitive information in the reporsitories there are a couple of env variables you have to either replace in your project or add them.
BROWSERSTACK_USER
user used to access browserstackBROWSERSTACK_KEY
key used to access browserstackSLACK_WEBHOOK
webhook to send slack notifications
For local testing you can create a .env
file in the project root
and than work with dotenv
node module. You can use confg/index.js
for testing.
There dotenv
is already set up
Example .env
BROWSERSTACK_USER=REPLACE
BROWSERSTACK_KEY=REPLACE
SLACK_WEBHOOK=REPLACE
Development
In order not have to compile the typescript code every execution, you can use ts-node
.
ts-node ./src/cli/index.ts compare https://dreipol.ch ./config/index.js --project dreipol.ch --json --cli