This service can be used with any project type. The examples below are Drupal-specific. Contributions for docs and tests that show this service working with other project types are appreciated.
For DDEV v1.23.5 or above run
ddev add-on get ddev/ddev-selenium-standalone-chrome
For earlier versions of DDEV run
ddev get ddev/ddev-selenium-standalone-chrome
Then restart your project
ddev restart
.ddev/config.selenium-standalone-chrome.yaml
as you see fit (and remove the #ddev-generated line). You can also just override lines in your .ddev/config.yaml
config.selenium-standalone-chrome.yaml
and docker-compose.selenium-chrome.yaml
into your source control.ddev add-on get ddev/ddev-selenium-standalone-chrome
.drupal/core-dev
Composer package or equivalent.ddev exec -d /var/www/html/web "../vendor/bin/phpunit -v -c ./core/phpunit.xml.dist ./core/modules/system/tests/src/FunctionalJavascript/FrameworkTest.php"
ddev exec -d /var/www/html/web/core yarn install
(do this once)ddev exec -d /var/www/html/web/core touch .env
(do this once)ddev exec -d /var/www/html/web/core yarn test:nightwatch tests/Drupal/Nightwatch/Tests/exampleTest.js
weitzman/drupal-test-traits
Composer package.ddev exec -d /var/www/html/web "../vendor/bin/phpunit --bootstrap=../vendor/weitzman/drupal-test-traits/src/bootstrap-fast.php --printer '\Drupal\Tests\Listeners\HtmlOutputPrinter' ../vendor/weitzman/drupal-test-traits/tests/ExampleSelenium2DriverTest.php"
ddev restart
.ddev launch :7900
or browse to https://[DDEV SITE URL]:7900 to watch tests run with noVNC (neat!).By default noVNC connects without password, you can enable password by removing the "VNC_NO_PASSWORD=1" line in the file docker-compose.selenium-chrome.yaml
, the default password will be secret
, and you can set the custom one via VNC_PASSWORD
environment variable.
This enables you to quickly see what is going on with your tests.
If you are using something like behat and want to debug tests when they fail by manually navigating around your site in the Chromium browser included with this addon, you might want to use a VNC client installed on your machine, such as Screen Sharing on macOS (built-in) or TightVNC on Linux and Windows (must be downloaded and installed). This is because with noVNC, you are running a browser (Chromium) inside another browser (whatever browser you use on your local machine), which can be inconvenient-- for example, the keyboard shortcut to reload a page in Chromium will reload your local browser and kick you out of noVNC instead of reloading Chromium, and it may be hard to type a new url in the Chromium address bar due to how your local browser handles keyboard input.
In other words, if you just want to watch the tests, use noVNC.
If you want to use the browser provided by this addon to check out the test results by poking around your site, consider using a local VNC client. To do so, you need to open port 5900.
.ddev/docker-compose.selenium-chrome.yaml
.ports
and 5900:5900
.ddev restart
.You can now connect to [DDEV SITE URL]:5900 (password: secret
) in your VNC client.
Note that when using ports
, only one project at a time can be running with port 5900.
If you use Behat as a test running, adjust your behat.yml
extensions:
Behat\MinkExtension:
base_url: http://web
selenium2:
wd_host: http://selenium-chrome:4444/wd/hub
capabilities:
chrome:
switches:
- "--disable-gpu"
- "--headless"
- "--no-sandbox"
- "--disable-dev-shm-usage"