Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shaka-project/generic-webdriver-server
A generic WebDriver server framework for use with Karma and Selenium, with backends for ChromeOS, Chromecast, Tizen, and Xbox One.
https://github.com/shaka-project/generic-webdriver-server
chromebook chromecast chromeos karma selenium testing testing-tools tizen webdriver
Last synced: 1 day ago
JSON representation
A generic WebDriver server framework for use with Karma and Selenium, with backends for ChromeOS, Chromecast, Tizen, and Xbox One.
- Host: GitHub
- URL: https://github.com/shaka-project/generic-webdriver-server
- Owner: shaka-project
- License: apache-2.0
- Created: 2020-08-04T17:40:43.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-20T21:53:43.000Z (13 days ago)
- Last Synced: 2024-12-25T10:08:37.089Z (9 days ago)
- Topics: chromebook, chromecast, chromeos, karma, selenium, testing, testing-tools, tizen, webdriver
- Language: JavaScript
- Homepage:
- Size: 9.59 MB
- Stars: 27
- Watchers: 8
- Forks: 18
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
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
- [NodeJS 8+](https://nodejs.org/)
- [Selenium 3](https://www.selenium.dev/) (included)
- [Java](https://openjdk.java.net/) (to run Selenium)## What devices are supported?
Out of the box, we provide backends for:
- Chromecast (NPM package [`chromecast-webdriver-server`](https://www.npmjs.com/package/chromecast-webdriver-server))
- ChromeOS (NPM package [`chromeos-webdriver-server`](https://www.npmjs.com/package/chromeos-webdriver-server))
- Tizen (NPM package [`tizen-webdriver-server`](https://www.npmjs.com/package/tizen-webdriver-server))
- Xbox One/One X/One S/Series X/Series S (NPM package [`xbox-one-webdriver-server`](https://www.npmjs.com/package/xbox-one-webdriver-server))In addition, you'll need JAR files from the package [`generic-webdriver-server`](https://www.npmjs.com/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.](https://github.com/SeleniumHQ/selenium/issues/8237#issuecomment-629851734)
For details on setup for Chromium-based Edge, see [Edgium.md](https://github.com/shaka-project/generic-webdriver-server/blob/main/Edgium.md)## How it works
See [how-it-works.md](https://github.com/shaka-project/generic-webdriver-server/blob/main/how-it-works.md)
for details.## Setup
See [setup.md](https://github.com/shaka-project/generic-webdriver-server/blob/main/setup.md)
for details.[Karma]: https://karma-runner.github.io/
[Selenium grid]: https://www.selenium.dev/documentation/en/grid/
[WebDriver]: https://www.w3.org/TR/webdriver2/