Backend and Frontend application for tracking differences via image comparison
Service receives images, performs pixel by pixel comparison with itβs previously accepted baseline and provides immediate results in order to catch unexpected changes.
Use any of the below ways to setup the server. Docker has to be installed on the machine.
curl https://raw.githubusercontent.com/Visual-Regression-Tracker/Visual-Regression-Tracker/master/vrt-install.sh -o vrt-install.sh
chmod a+x vrt-install.sh
./vrt-install.sh
Installs the Visual Regression Tracker
Usage: ./vrt-install.sh
Arguments:
-h | --help
-a | --frontend-url <url> Set the Front-end url. Default: http://localhost:8080
-r | --backend-url <url> Set the API url. Default: http://localhost:4200
--jwt-secret <secret> Set the JWT secret. Default: randomly generated
$ curl https://raw.githubusercontent.com/Visual-Regression-Tracker/Visual-Regression-Tracker/master/docker-compose.yml -o docker-compose.yml
$ curl https://raw.githubusercontent.com/Visual-Regression-Tracker/Visual-Regression-Tracker/master/.env -o .env
In .env file, ensure that the REACT_APP_API_URL has the right address. If it will be accessed from other machines, change localhost with IP or other resolvable name. Ensure the ports being used are free to use.
Start service
$ docker-compose up
Wait until you see your creds printed.
New users and projects could be created via frontend app by default on http://localhost:8080
This is for the users who want to monitor VRT logs via Kibana. It is expected to have basic knowledge of Elastic stack (especially Kibana) for the admin so that the logs can be managed and dashboards created in Kibana. Since logging will be retained by Elasticsearch, it will consume a little more memory and CPU. If you see error in the console, please consult Elasticsearch documentation.
It is recommended to run the program as root user which will ensure permission and ownership related issues will not have to be dealt with.
Clone or download this repository.
Move to the downloaded/cloned repository. In .env file, ensure that the REACT_APP_API_URL has the right address. If it will be accessed from other machines, change localhost with IP or other resolvable name. Ensure the ports being used are free to use.
Follow either of below sub steps.
If your organization does not have Elasticsearch server running or if you want to start Elastic stack on your own, start service by giving below command.
$ docker-compose -f docker-compose.yml -f docker-compose.elastic.logging.yml up
If you want to re-use the already running Elasticsearch server in your organization, go to filebeat/config/filebeat.yml
and edit hosts to point to the Elasticsearch server. Also, point ELASTIC_URL to this server in .env file. Start service by giving below command.
$ docker-compose -f docker-compose.yml -f docker-compose.logging.yml up
If you are not using root user, in some OS, you may see an error Exiting: error loading config file: config file ("filebeat.yml") must be owned by the user identifier (uid=0) or root
. In that case, press Ctrl+C, and follow Elasticsearch instructions. Once done, start the service again.
Use implemented libraries to integrate with existing automated suites by adding assertions based on image comparison. We provide native integration with automation libraries, core SDK and Rest API interfaces that allow the system to be used with any existing programming language.
Basic wrapper over API to be used for integration with existing tools
Here you could find examples
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!