Skip to content

A generic WebDriver server framework for use with Karma and Selenium, with backends for ChromeOS, Chromecast, Tizen, and Xbox One.

License

Notifications You must be signed in to change notification settings

shaka-project/generic-webdriver-server

Generic WebDriver Server

A generic WebDriver server framework and base class, implementing the subset of the WebDriver protocol necessary for Karma.

  • Automate JavaScript tests on exotic devices!
  • Easily add new devices!
  • Integrate easily with Selenium grid!
  • Written for NodeJS and distributed via NPM!

Intended audience

  • Projects using something like Karma for testing with a Selenium grid
    • If your test runner uses WebDriver to point browsers back to a URL, this subset of the WebDriver protocol can expand your grid to new devices
  • Not for testing via WebDriver directly
    • If you use a WebDriver client directly in your tests, this probably won't help you
    • Does not support element interaction or script injection
    • Screenshots may be supported on certain platforms

Basic requirements

What devices are supported?

Out of the box, we provide backends for:

In addition, you'll need JAR files from the package generic-webdriver-server.

Chromium-based Edge

In addition to the backends we provide, you can also use this generic backend to support Chromium-based Edge in Selenium 3, in spite of Selenium's recent decision not to support it directly. For details on setup for Chromium-based Edge, see Edgium.md

How it works

See how-it-works.md for details.

Setup

See setup.md for details.