Skip to content
Snippets Groups Projects
Verified Commit 394cceca authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Document test suite

parent 97e90636
No related branches found
No related tags found
No related merge requests found
Pipeline #337 passed
Running tests and reports
=========================
Running default test suite
--------------------------
The test suite can be run using the `tox` tool::
poetry run tox
Enabling Selenium browser tests
-------------------------------
The test suite contains tests that use Selenium to do browser based tests.
They need to be enabled when running the test suite, which can be done by
setting certain environment variables:
+------------------------+------------------------------------------------------+------------------------------+
| Variable | Meaning | Example |
+========================+======================================================+==============================+
| TEST_SELENIUM_BROWSERS | List of webdrivers to test against, comma-separated. | chrome,firefox |
| TEST_SELENIUM_HUB | Address of Selenium hub if using remote grid | http://127.0.0.1:4444/wd/hub |
| TEST_HOST | Hostname reachable from Selenium for live server | 172.17.0.1 |
| TEST_SCREENSHOT_PATH | Path to directory to create screenshots in | ./screenshots |
+------------------------+------------------------------------------------------+------------------------------+
Selenium tests are enabled if `TEST_SELENIUM_BROWSERS` is non-empty.
To set variables, use env to wrap the tox ommand::
poetry run env TEST_SELENIUM_BROWSERS=chrome,firefox tox
Using a Selenium hub on local Docker host
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
One way to setup Selenium is to use the official images on the local
machine.
First, get Selenium Hub and one or more browser nodes up and running::
docker run -d -p 4444:4444 --name selenium-hub selenium/hub
docker run -d --link selenium-hub:hub selenium/node-chrome
docker run -d --link selenium-hub:hub selenium/node-firefox
After that, you can run the test suite, setting the needed variables to use
Docker Hub::
poetry run env \
TEST_SELENIUM_BROWSERS=chrome,firefox \
TEST_SELENIUM_HUB=http://127.0.0.1:4444 \
TEST_HOST=172.17.0.1 \
tox
The `TEST_HOST` variable is set to the Docker host's IP address, where the
Selenium nodes can access DJango's live server. Django automatically
configures the live server to be reachable if a Selenium hub is used.
Taking screenshots
~~~~~~~~~~~~~~~~~~
The browser test suites automatically take screenshots at certain steps if
enabled in the test run. This can be used to visually verify that views
look like they should or for documentation purposes.
To enable screenshots, add the `TEST_SCREENSHOT_PATH` environment variable
when running the tests.
If runnin multiple browsers, screenshots are placed in separate directories
per browser.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment