No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
ci-scripts Remove debug commands, use "phpcompatibility" namespace instead of "w… Aug 6, 2018
config/prod Fix configs after fresh install. Sep 9, 2018
drush Added security audit drush commands. Jun 21, 2017
scripts QAS-58 | Renamed the refactor script. Apr 19, 2017
web Add dependencies. Sep 9, 2018
.env.example Add .env to be used in compose.yml files. Aug 7, 2018
.gitignore Add .env to be used in compose.yml files. Aug 7, 2018
.travis.yml Try figuring out why the compatibility check fails. Aug 6, 2018 QAS-139 | Clean up the API docs and move the REST related documentati… Oct 26, 2017 QAS-143 | IMPORTANT, READ THE CHANGELOG BEFORE UPDATING! Oct 25, 2017
DRUPAL_README.txt added. TIET-20 Oct 5, 2016 Extend install instructions with required config overrides. Sep 4, 2018
LICENSE.txt Core update 8.2.0-rc2 -> 8.2.0 TIET-20 Oct 6, 2016 Add roadmap. Aug 7, 2018
composer.lock Replace AMQPLib with BunnyLib. Aug 14, 2018 Cleanup the docker-compose files. Aug 7, 2018
docker-compose.yml Update nginx, as wodby removed the old version from the dockerhub. Sep 9, 2018 Add for local CS checking. Aug 6, 2018
phpunit.xml.dist Fix permissions for helper scripts. Aug 7, 2018 Add initial remote runner code. Aug 10, 2018 Fix permissions for helper scripts. Aug 7, 2018 Update to drush 9. Oct 10, 2017 Update to drush 9. Oct 10, 2017 Update to drush 9. Oct 10, 2017


Build Status

QAShot is a Drupal 8 application which provides a UI to use BackstopJS to execute A/B testing of 2 sites.


  • Test queue; Tests are put into a queue and are executed as soon as possible.
  • UI to manage BackstopJS test cases.


QAShot is heavily in development. Breaking changes with no automatic upgrade paths might be introduced to it without notice. Use or update it at your own discretion.


QAShot will undergo big changes in the future.

Remote BackstopJS execution

We are developing a QAShot Worker project. This will serve as a remote execution stack independent from, but used with this Drupal based project. This will allow us to make the Drupal instance more lightweight and increase test execution speed.

Full rewrite

We would like to also keep local run capabilities, but supporting both in a sustainable way is not possible. This means, a full back-end rewrite will start hopefully soon.


The project comes with a docker-compose.yml based on the Docker4Drupal environment (v1.3.0). A custom docker image is used for the PHP container, as we needed to include BackstopJS and its dependencies. Name: havelantmate/drupal_php See:


The tests are not run automatically, they are first put into a queue which is managed with cron. If you want the tests to run, you have to set up a cron job on the system.

If you are using the docker environment described in this repo, just use this: ( crontab -l ; echo "* * * * * /bin/sh /" ) | crontab -

See for more cron info.


The UI part is a standard Drupal installation. Drupal dependencies are managed with composer.

To import the existing configuration, you need to set the site uuid to the exported one: drush config-set "" uuid "f700763e-1289-406f-919e-98dc38728a53" -y

You also need to remove shortcuts from the fresh install, as the standard profile creates some by default: drush ev '\Drupal::entityManager()->getStorage("shortcut_set")->load("default")->delete();'

To run the tests, you need BackstopJS installed globally.

Detailed install guide is in the


Endpoints are exposed by the qa_shot_rest_api module. For more information how to use it see file.