Functional Javascript Testing¶
1 Requirements¶
Make sure you have correctly set your phpunit.xml
, see Integrate PHPUnit in PhpStorm.
2. Install PhantomJS¶
The tests are run on a headless browser called PhantomJS
. The first step is to install PhantomJS
on your computer.
Open the vagrant machine config.yml
file and add phantomjs
to extra_packages
:
extra_packages: ... - phantomjs
From your terminal
go on the vagrant
directory and run vagrant up --provision
, to apply the changes on your vagrant
machine, or run vagrant provision
if your machine is already up.
Enter in your vagrant
machine (vagrant ssh
) and edit the file /home/vagrant/.bashrc
adding at the end:
export QT_QPA_PLATFORM=offscreen
3. Run Tests¶
Once you've got PhantomJS
you need start it to run your tests.
From your vagrant machine move to your drupal
directory (i.e. /var/www/drupaltestvm/drupal
) and run:
phantomjs --ssl-protocol=any --ignore-ssl-errors=true vendor/jcalderonzumba/gastonjs/src/Client/main.js 8510 1024 768
Now, if everything is fine, PhantomJS
is up and running. Leave this terminal open and move to a new terminal to run your tests.
Let's run an example test to check everything works fine.
# move to your drupal web root cd /var/www/drupaltestvm/drupal/web # run test php ./core/scripts/run-tests.sh --sqlite /tmp/test.sqlite --file core/modules/views/tests/src/FunctionalJavascript/ClickSortingAJAXTest.php
With PhantomJS
up you can run your Functional Javascript Tests as in Set and Run PHPUnit Test.