8000 W3C WebDriver protocol support · Issue #469 · php-webdriver/php-webdriver · GitHub
[go: up one dir, main page]

Skip to content
W3C WebDriver protocol support #469
@OndraM

Description

@OndraM

This is an issue to plan and track progress of implementing W3C WebDriver protocol into php-webdriver.

Currently, only legacy JsonWire (aka OSS) protocol is supported by php-webdriver. Selenium server 3.x translates the protocol if needed for the remote end (browser). However not everything is translated (like actions()), making some of the features not working with remote ends supporting only the W3C protocol (which is currently only GeckoDriver for Firefox 48+).

Since Selenium 3.5 the translation to old protocol is disabled by default. It still could be reenabled by starting the server like java -jar selenium-server-standalone-3.5.3.jar -enablePassThrough false, but this is only partial and temporary solution/workaround.

For Docker 🐳 users: use SE_OPTS environment variable to pass the enablePassThrough option to Selenium server. Ie. add -e "SE_OPTS=-enablePassThrough false" to docker run command.

The work would require eg.:

  • add some more functional tests, to make sure we don't breake the old protocol while doing the necessary refactoring
  • prepare handshake to detect whether the remote end is speaking JsonWire or W3C dialect (we need this to support the old browsers etc.)
  • define common interface for Json and W3C protocol
  • convert current implementation to use this interface
  • implement adapter for the W3C protocol
  • implement GeckodriverService or something like that to start geckodriver locally
    ...

Resources

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0