Skip to content

Commit b588bf5

Browse files
committed
[js] Revamp the actions API to support the W3C spec and drop support for legacy
actions. This is going to hurt users one way or the other: chrome currently only supports legacy actions and firefox only supports W3C. Since all JS changes are now targeting 4.0 (a major version bump), we're dropping support for legacy and moving forward with W3C only. For #4564, #4662
1 parent 0863b22 commit b588bf5

File tree

9 files changed

+725
-736
lines changed

9 files changed

+725
-736
lines changed

javascript/node/selenium-webdriver/CHANGES.md

+10
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,22 @@ mode.
2020
- `lib/webdriver.WebElementPromise`
2121
* The `testing/index` module no longer wraps the promise manager
2222
* Removed `remote/index.DriverService.prototype.stop()` (use `#kill()` instead)
23+
* Removed the `lib/actions` module
2324
* Removed the `phantomjs` module
2425
* Removed the 'opera' module
2526
* Removed the `WebDriver.attachToSession()` factory method. Users can just use
2627
use the `WebDriver` constructor directly instead.
28+
* Removed the `WebDriver.prototype.touchActions()` method. Action sequences
29+
are now defined from a single origin: `WebDriver.prototype.actions()`.
2730
* Renamed `WebDriver#schedule()` to `WebDriver#execute()`
2831

32+
### Changes for W3C WebDriver Spec Compliance
33+
34+
Revamped the actions API to conform with the WebDriver Spec:
35+
<https://www.w3.org/TR/webdriver/#actions>. For details, refer to the JS doc
36+
on the `lib/webdriver.ActionSequence` class. For simplicity, support for the
37+
legacy actions API has been removed.
38+
2939

3040
## v3.6.0
3141

javascript/node/selenium-webdriver/index.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ const edge = require('./edge');
2727
const firefox = require('./firefox');
2828
const _http = require('./http');
2929
const ie = require('./ie');
30-
const actions = require('./lib/actions');
3130
const by = require('./lib/by');
3231
const capabilities = require('./lib/capabilities');
3332
const command = require('./lib/command');
@@ -612,7 +611,7 @@ class Builder {
612611
// PUBLIC API
613612

614613

615-
exports.ActionSequence = actions.ActionSequence;
614+
exports.ActionSequence = webdriver.ActionSequence;
616615
exports.Browser = capabilities.Browser;
617616
exports.Builder = Builder;
618617
exports.Button = input.Button;
@@ -625,7 +624,6 @@ exports.FileDetector = input.FileDetector;
625624
exports.Key = input.Key;
626625
exports.Session = session.Session;
627626
exports.ThenableWebDriver = ThenableWebDriver;
628-
exports.TouchSequence = actions.TouchSequence;
629627
exports.WebDriver = webdriver.WebDriver;
630628
exports.WebElement = webdriver.WebElement;
631629
exports.WebElementCondition = webdriver.WebElementCondition;

0 commit comments

Comments
 (0)