Problem/Motivation
Once #3421202: Enable W3C-compliant webdriver testing lands we will be able to test using selenium/standalone-firefox.
Steps to reproduce
Add
.with-selenium-firefox: &with-selenium-firefox
name: selenium/standalone-firefox:127.0
alias: selenium
variables:
JAVA_OPTS: "-Dwebdriver.firefox.logfile=/builds/geckodriver.log"
SE_NODE_OVERRIDE_MAX_SESSIONS: "true"
SE_NODE_MAX_SESSIONS: "5"
SE_START_XVFB: "false"
SE_START_VNC: "false"'🖱️️️ PHPUnit Functional Javascript (selenium firefox)':
<<: [ *with-composer, *run-tests, *default-job-settings ]
when: manual
parallel: 4
variables:
TESTSUITE: PHPUnit-FunctionalJavascript
CONCURRENCY: 15
KUBERNETES_CPU_REQUEST: "24"
MINK_DRIVER_ARGS_WEBDRIVER: $MINK_DRIVER_ARGS_WEBDRIVER_FIREFOX_W3C
services:
- <<: *with-database
- <<: *with-selenium-firefox
after_script:
- echo $MINK_DRIVER_ARGS_WEBDRIVER
- sed -i "s#$CI_PROJECT_DIR/##" ./sites/default/files/simpletest/phpunit-*.xml || true
- cp /builds/geckodriver.log ./
To gitlab pipeline.
Proposed resolution
- Fix webdriver and update version to one that supports firefox testing. Firefox and chrome weddriver implement is different. Firefox does not scroll into view when a clicking on an element, Chrome does. This is due to https://stackoverflow.com/questions/44777053/selenium-movetargetoutofbou.... The webdriver-classic-driver does https://github.com/minkphp/webdriver-classic-driver/blob/73ad0b6ce21cf69...
- Fix tests - for example performance tests are tied to chrome
Remaining tasks
Upstream fixes
- Merge https://github.com/Lullabot/php-webdriver/pull/15
- Make a release for php-webdriver
- I’ll update https://github.com/Lullabot/MinkSelenium2Driver/pull/12 to use the new php-webdriver release and have proper testing
- Merge https://github.com/Lullabot/MinkSelenium2Driver/pull/13
- Merge https://github.com/Lullabot/MinkSelenium2Driver/pull/12
- Make a release for MinkSelenium2Driver
Once all that is done we can remove the hacks from this MR and update composer.json to use the new versions.
User interface changes
None
API changes
TBD - hopefully none
Data model changes
None
Release notes snippet
TBD