PHP Wraith is a website crawler & screenshot comparison tool using Selenium - written in PHP.
This tool is based on the ideas of bbc/wraith.
System requirements:
- PHP version (> 7.4) with PHP extensions
imagickandjson(see composer.json) - Composer
Either install this package via composer:
composer require different-technology/wraith-phpOr clone the code from GitHub:
git clone git@github.com:different-technology/wraith-php.git
cd wraith-php
composer installDownload the chromedriver for your Chrome version: https://chromedriver.chromium.org/downloads
Place the chromedriver here (optional): bin/chromedriver
Configure your website in your own YAML config file in /configs.
See example in /configs/example.yml
The chromedriver has to run on configured port (default: 4444) while executing the commands.
Start the chromedriver
bin/chromedriver --port=4444You can also use the autostart option to start the chromedriver automatically if it's not available.
Call the screenshot command with your config name (file name without .yml extension).
php app.php screenshot {{your-config-name}} {{threads-count(optional)}}The results are store in the directory /data/screenshots/{{your-config-name}}/{{current-date-time}}.
Feel free to rename the last directory name from {{current-date-time}} to something meaningful.
# Take screenshots
php app.php screenshot example 3
# Rename screenshots to "before-update"
mv data/screenshots/example/2021-02-04_10-10-55 data/screenshots/example/before-updateCall the compare command with your config name (file name without .yml extension).
Provide the two directory names to compare.
php app.php compare {{your-config-name}} {{directory1}} {{directory2}}php app.php compare example 2021-02-04_00-05-35 2021-02-04_00-38-37Cou can join a running job to work in threads on a single task (the task has to support jobs).
Just lookup the job-id in the directory /data/jobs/.
php app.php join {{your-config-name}} {{job-id}}php app.php join example d6f7f694f8563362e17ae6ab64d1578fCou can list all available commands with the help command of symfony:
php app.php listOpen this file in your browser to see the results: public/index.html