generic-webdriver-server

A generic WebDriver server base class and a Selenium add-on to invoke it.

Usage no npm install needed!

<script type="module">
  import genericWebdriverServer from 'https://cdn.skypack.dev/generic-webdriver-server';
</script>

README

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.