UrgentcareCLI 0.1.1 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/UrgentCare/CLI.rb +57 -22
- data/lib/UrgentCare/Office.rb +1 -5
- data/lib/UrgentCare/Scraper.rb +71 -0
- data/lib/UrgentCare/version.rb +2 -2
- data/lib/UrgentCare.rb +2 -1
- metadata +27 -321
- data/.gitignore +0 -11
- data/.rspec +0 -3
- data/.travis.yml +0 -5
- data/CODE_OF_CONDUCT.md +0 -74
- data/Gemfile +0 -12
- data/Gemfile.lock +0 -84
- data/LICENSE.txt +0 -21
- data/Notes +0 -41
- data/README.md +0 -41
- data/Rakefile +0 -8
- data/UrgentCare.gemspec +0 -39
- data/background.jpg +0 -0
- data/data.txt +0 -4
- data/lib/Urgentcare/Scraper.rb +0 -78
- data/node_modules/.bin/rimraf +0 -1
- data/node_modules/.package-lock.json +0 -250
- data/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- data/node_modules/balanced-match/LICENSE.md +0 -21
- data/node_modules/balanced-match/README.md +0 -97
- data/node_modules/balanced-match/index.js +0 -62
- data/node_modules/balanced-match/package.json +0 -48
- data/node_modules/brace-expansion/LICENSE +0 -21
- data/node_modules/brace-expansion/README.md +0 -129
- data/node_modules/brace-expansion/index.js +0 -201
- data/node_modules/brace-expansion/package.json +0 -47
- data/node_modules/concat-map/.travis.yml +0 -4
- data/node_modules/concat-map/LICENSE +0 -18
- data/node_modules/concat-map/README.markdown +0 -62
- data/node_modules/concat-map/example/map.js +0 -6
- data/node_modules/concat-map/index.js +0 -13
- data/node_modules/concat-map/package.json +0 -43
- data/node_modules/concat-map/test/map.js +0 -39
- data/node_modules/core-util-is/LICENSE +0 -19
- data/node_modules/core-util-is/README.md +0 -3
- data/node_modules/core-util-is/float.patch +0 -604
- data/node_modules/core-util-is/lib/util.js +0 -107
- data/node_modules/core-util-is/package.json +0 -32
- data/node_modules/core-util-is/test.js +0 -68
- data/node_modules/fs.realpath/LICENSE +0 -43
- data/node_modules/fs.realpath/README.md +0 -33
- data/node_modules/fs.realpath/index.js +0 -66
- data/node_modules/fs.realpath/old.js +0 -303
- data/node_modules/fs.realpath/package.json +0 -26
- data/node_modules/glob/LICENSE +0 -21
- data/node_modules/glob/README.md +0 -375
- data/node_modules/glob/changelog.md +0 -67
- data/node_modules/glob/common.js +0 -234
- data/node_modules/glob/glob.js +0 -788
- data/node_modules/glob/package.json +0 -51
- data/node_modules/glob/sync.js +0 -484
- data/node_modules/immediate/LICENSE.txt +0 -20
- data/node_modules/immediate/README.md +0 -93
- data/node_modules/immediate/dist/immediate.js +0 -75
- data/node_modules/immediate/dist/immediate.min.js +0 -1
- data/node_modules/immediate/lib/browser.js +0 -69
- data/node_modules/immediate/lib/index.js +0 -73
- data/node_modules/immediate/package.json +0 -42
- data/node_modules/inflight/LICENSE +0 -15
- data/node_modules/inflight/README.md +0 -37
- data/node_modules/inflight/inflight.js +0 -54
- data/node_modules/inflight/package.json +0 -29
- data/node_modules/inherits/LICENSE +0 -16
- data/node_modules/inherits/README.md +0 -42
- data/node_modules/inherits/inherits.js +0 -9
- data/node_modules/inherits/inherits_browser.js +0 -27
- data/node_modules/inherits/package.json +0 -29
- data/node_modules/isarray/.npmignore +0 -1
- data/node_modules/isarray/.travis.yml +0 -4
- data/node_modules/isarray/Makefile +0 -6
- data/node_modules/isarray/README.md +0 -60
- data/node_modules/isarray/component.json +0 -19
- data/node_modules/isarray/index.js +0 -5
- data/node_modules/isarray/package.json +0 -45
- data/node_modules/isarray/test.js +0 -20
- data/node_modules/jszip/.codeclimate.yml +0 -16
- data/node_modules/jszip/.editorconfig +0 -8
- data/node_modules/jszip/.jshintignore +0 -1
- data/node_modules/jszip/.jshintrc +0 -21
- data/node_modules/jszip/.travis.yml +0 -17
- data/node_modules/jszip/CHANGES.md +0 -163
- data/node_modules/jszip/LICENSE.markdown +0 -651
- data/node_modules/jszip/README.markdown +0 -35
- data/node_modules/jszip/dist/jszip.js +0 -30
- data/node_modules/jszip/dist/jszip.min.js +0 -13
- data/node_modules/jszip/index.d.ts +0 -270
- data/node_modules/jszip/lib/base64.js +0 -106
- data/node_modules/jszip/lib/compressedObject.js +0 -74
- data/node_modules/jszip/lib/compressions.js +0 -14
- data/node_modules/jszip/lib/crc32.js +0 -77
- data/node_modules/jszip/lib/defaults.js +0 -11
- data/node_modules/jszip/lib/external.js +0 -19
- data/node_modules/jszip/lib/flate.js +0 -85
- data/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
- data/node_modules/jszip/lib/generate/index.js +0 -57
- data/node_modules/jszip/lib/index.js +0 -52
- data/node_modules/jszip/lib/license_header.js +0 -11
- data/node_modules/jszip/lib/load.js +0 -81
- data/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
- data/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
- data/node_modules/jszip/lib/nodejsUtils.js +0 -57
- data/node_modules/jszip/lib/object.js +0 -389
- data/node_modules/jszip/lib/readable-stream-browser.js +0 -9
- data/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
- data/node_modules/jszip/lib/reader/DataReader.js +0 -116
- data/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
- data/node_modules/jszip/lib/reader/StringReader.js +0 -38
- data/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
- data/node_modules/jszip/lib/reader/readerFor.js +0 -28
- data/node_modules/jszip/lib/signature.js +0 -7
- data/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
- data/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
- data/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
- data/node_modules/jszip/lib/stream/DataWorker.js +0 -116
- data/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
- data/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
- data/node_modules/jszip/lib/support.js +0 -38
- data/node_modules/jszip/lib/utf8.js +0 -275
- data/node_modules/jszip/lib/utils.js +0 -476
- data/node_modules/jszip/lib/zipEntries.js +0 -262
- data/node_modules/jszip/lib/zipEntry.js +0 -294
- data/node_modules/jszip/lib/zipObject.js +0 -133
- data/node_modules/jszip/package.json +0 -63
- data/node_modules/jszip/vendor/FileSaver.js +0 -247
- data/node_modules/lie/README.md +0 -62
- data/node_modules/lie/dist/lie.js +0 -350
- data/node_modules/lie/dist/lie.min.js +0 -1
- data/node_modules/lie/dist/lie.polyfill.js +0 -358
- data/node_modules/lie/dist/lie.polyfill.min.js +0 -1
- data/node_modules/lie/lib/browser.js +0 -273
- data/node_modules/lie/lib/index.js +0 -298
- data/node_modules/lie/license.md +0 -7
- data/node_modules/lie/lie.d.ts +0 -244
- data/node_modules/lie/package.json +0 -69
- data/node_modules/lie/polyfill.js +0 -4
- data/node_modules/minimatch/LICENSE +0 -15
- data/node_modules/minimatch/README.md +0 -209
- data/node_modules/minimatch/minimatch.js +0 -923
- data/node_modules/minimatch/package.json +0 -30
- data/node_modules/once/LICENSE +0 -15
- data/node_modules/once/README.md +0 -79
- data/node_modules/once/once.js +0 -42
- data/node_modules/once/package.json +0 -33
- data/node_modules/pako/CHANGELOG.md +0 -164
- data/node_modules/pako/LICENSE +0 -21
- data/node_modules/pako/README.md +0 -191
- data/node_modules/pako/dist/pako.js +0 -6818
- data/node_modules/pako/dist/pako.min.js +0 -1
- data/node_modules/pako/dist/pako_deflate.js +0 -3997
- data/node_modules/pako/dist/pako_deflate.min.js +0 -1
- data/node_modules/pako/dist/pako_inflate.js +0 -3300
- data/node_modules/pako/dist/pako_inflate.min.js +0 -1
- data/node_modules/pako/index.js +0 -14
- data/node_modules/pako/lib/deflate.js +0 -400
- data/node_modules/pako/lib/inflate.js +0 -423
- data/node_modules/pako/lib/utils/common.js +0 -105
- data/node_modules/pako/lib/utils/strings.js +0 -187
- data/node_modules/pako/lib/zlib/README +0 -59
- data/node_modules/pako/lib/zlib/adler32.js +0 -51
- data/node_modules/pako/lib/zlib/constants.js +0 -68
- data/node_modules/pako/lib/zlib/crc32.js +0 -59
- data/node_modules/pako/lib/zlib/deflate.js +0 -1874
- data/node_modules/pako/lib/zlib/gzheader.js +0 -58
- data/node_modules/pako/lib/zlib/inffast.js +0 -345
- data/node_modules/pako/lib/zlib/inflate.js +0 -1556
- data/node_modules/pako/lib/zlib/inftrees.js +0 -343
- data/node_modules/pako/lib/zlib/messages.js +0 -32
- data/node_modules/pako/lib/zlib/trees.js +0 -1222
- data/node_modules/pako/lib/zlib/zstream.js +0 -47
- data/node_modules/pako/package.json +0 -44
- data/node_modules/path-is-absolute/index.js +0 -20
- data/node_modules/path-is-absolute/license +0 -21
- data/node_modules/path-is-absolute/package.json +0 -43
- data/node_modules/path-is-absolute/readme.md +0 -59
- data/node_modules/process-nextick-args/index.js +0 -45
- data/node_modules/process-nextick-args/license.md +0 -19
- data/node_modules/process-nextick-args/package.json +0 -25
- data/node_modules/process-nextick-args/readme.md +0 -18
- data/node_modules/readable-stream/.travis.yml +0 -34
- data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- data/node_modules/readable-stream/GOVERNANCE.md +0 -136
- data/node_modules/readable-stream/LICENSE +0 -47
- data/node_modules/readable-stream/README.md +0 -58
- data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- data/node_modules/readable-stream/duplex-browser.js +0 -1
- data/node_modules/readable-stream/duplex.js +0 -1
- data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
- data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
- data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
- data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- data/node_modules/readable-stream/package.json +0 -52
- data/node_modules/readable-stream/passthrough.js +0 -1
- data/node_modules/readable-stream/readable-browser.js +0 -7
- data/node_modules/readable-stream/readable.js +0 -19
- data/node_modules/readable-stream/transform.js +0 -1
- data/node_modules/readable-stream/writable-browser.js +0 -1
- data/node_modules/readable-stream/writable.js +0 -8
- data/node_modules/rimraf/LICENSE +0 -15
- data/node_modules/rimraf/README.md +0 -101
- data/node_modules/rimraf/bin.js +0 -50
- data/node_modules/rimraf/package.json +0 -29
- data/node_modules/rimraf/rimraf.js +0 -372
- data/node_modules/safe-buffer/LICENSE +0 -21
- data/node_modules/safe-buffer/README.md +0 -584
- data/node_modules/safe-buffer/index.d.ts +0 -187
- data/node_modules/safe-buffer/index.js +0 -62
- data/node_modules/safe-buffer/package.json +0 -37
- data/node_modules/selenium-webdriver/CHANGES.md +0 -1114
- data/node_modules/selenium-webdriver/LICENSE +0 -202
- data/node_modules/selenium-webdriver/NOTICE +0 -2
- data/node_modules/selenium-webdriver/README.md +0 -229
- data/node_modules/selenium-webdriver/chrome.js +0 -295
- data/node_modules/selenium-webdriver/chromium.js +0 -829
- data/node_modules/selenium-webdriver/devtools/CDPConnection.js +0 -35
- data/node_modules/selenium-webdriver/edge.js +0 -224
- data/node_modules/selenium-webdriver/example/chrome_android.js +0 -45
- data/node_modules/selenium-webdriver/example/chrome_mobile_emulation.js +0 -46
- data/node_modules/selenium-webdriver/example/firefox_channels.js +0 -84
- data/node_modules/selenium-webdriver/example/google_search.js +0 -50
- data/node_modules/selenium-webdriver/example/google_search_test.js +0 -70
- data/node_modules/selenium-webdriver/example/headless.js +0 -63
- data/node_modules/selenium-webdriver/example/logging.js +0 -64
- data/node_modules/selenium-webdriver/firefox.js +0 -789
- data/node_modules/selenium-webdriver/http/index.js +0 -324
- data/node_modules/selenium-webdriver/http/util.js +0 -172
- data/node_modules/selenium-webdriver/ie.js +0 -503
- data/node_modules/selenium-webdriver/index.js +0 -825
- data/node_modules/selenium-webdriver/io/exec.js +0 -162
- data/node_modules/selenium-webdriver/io/index.js +0 -348
- data/node_modules/selenium-webdriver/io/zip.js +0 -223
- data/node_modules/selenium-webdriver/lib/atoms/find-elements.js +0 -123
- data/node_modules/selenium-webdriver/lib/atoms/get-attribute.js +0 -101
- data/node_modules/selenium-webdriver/lib/atoms/is-displayed.js +0 -101
- data/node_modules/selenium-webdriver/lib/atoms/mutation-listener.js +0 -55
- data/node_modules/selenium-webdriver/lib/by.js +0 -415
- data/node_modules/selenium-webdriver/lib/capabilities.js +0 -553
- data/node_modules/selenium-webdriver/lib/command.js +0 -206
- data/node_modules/selenium-webdriver/lib/error.js +0 -605
- data/node_modules/selenium-webdriver/lib/http.js +0 -704
- data/node_modules/selenium-webdriver/lib/input.js +0 -946
- data/node_modules/selenium-webdriver/lib/logging.js +0 -661
- data/node_modules/selenium-webdriver/lib/promise.js +0 -285
- data/node_modules/selenium-webdriver/lib/proxy.js +0 -212
- data/node_modules/selenium-webdriver/lib/session.js +0 -77
- data/node_modules/selenium-webdriver/lib/symbols.js +0 -37
- data/node_modules/selenium-webdriver/lib/until.js +0 -429
- data/node_modules/selenium-webdriver/lib/webdriver.js +0 -2919
- data/node_modules/selenium-webdriver/net/index.js +0 -107
- data/node_modules/selenium-webdriver/net/portprober.js +0 -75
- data/node_modules/selenium-webdriver/opera.js +0 -406
- data/node_modules/selenium-webdriver/package.json +0 -54
- data/node_modules/selenium-webdriver/proxy.js +0 -32
- data/node_modules/selenium-webdriver/remote/index.js +0 -624
- data/node_modules/selenium-webdriver/safari.js +0 -168
- data/node_modules/selenium-webdriver/testing/index.js +0 -504
- data/node_modules/set-immediate-shim/index.js +0 -7
- data/node_modules/set-immediate-shim/package.json +0 -34
- data/node_modules/set-immediate-shim/readme.md +0 -31
- data/node_modules/string_decoder/.travis.yml +0 -50
- data/node_modules/string_decoder/LICENSE +0 -48
- data/node_modules/string_decoder/README.md +0 -47
- data/node_modules/string_decoder/lib/string_decoder.js +0 -296
- data/node_modules/string_decoder/package.json +0 -31
- data/node_modules/tmp/CHANGELOG.md +0 -288
- data/node_modules/tmp/LICENSE +0 -21
- data/node_modules/tmp/README.md +0 -365
- data/node_modules/tmp/lib/tmp.js +0 -780
- data/node_modules/tmp/node_modules/.bin/rimraf +0 -1
- data/node_modules/tmp/node_modules/rimraf/CHANGELOG.md +0 -65
- data/node_modules/tmp/node_modules/rimraf/LICENSE +0 -15
- data/node_modules/tmp/node_modules/rimraf/README.md +0 -101
- data/node_modules/tmp/node_modules/rimraf/bin.js +0 -68
- data/node_modules/tmp/node_modules/rimraf/package.json +0 -32
- data/node_modules/tmp/node_modules/rimraf/rimraf.js +0 -360
- data/node_modules/tmp/package.json +0 -58
- data/node_modules/util-deprecate/History.md +0 -16
- data/node_modules/util-deprecate/LICENSE +0 -24
- data/node_modules/util-deprecate/README.md +0 -53
- data/node_modules/util-deprecate/browser.js +0 -67
- data/node_modules/util-deprecate/node.js +0 -6
- data/node_modules/util-deprecate/package.json +0 -27
- data/node_modules/wrappy/LICENSE +0 -15
- data/node_modules/wrappy/README.md +0 -36
- data/node_modules/wrappy/package.json +0 -29
- data/node_modules/wrappy/wrappy.js +0 -33
- data/node_modules/ws/LICENSE +0 -21
- data/node_modules/ws/README.md +0 -496
- data/node_modules/ws/browser.js +0 -8
- data/node_modules/ws/index.js +0 -10
- data/node_modules/ws/lib/buffer-util.js +0 -129
- data/node_modules/ws/lib/constants.js +0 -10
- data/node_modules/ws/lib/event-target.js +0 -184
- data/node_modules/ws/lib/extension.js +0 -223
- data/node_modules/ws/lib/limiter.js +0 -55
- data/node_modules/ws/lib/permessage-deflate.js +0 -517
- data/node_modules/ws/lib/receiver.js +0 -507
- data/node_modules/ws/lib/sender.js +0 -405
- data/node_modules/ws/lib/stream.js +0 -165
- data/node_modules/ws/lib/validation.js +0 -104
- data/node_modules/ws/lib/websocket-server.js +0 -418
- data/node_modules/ws/lib/websocket.js +0 -942
- data/node_modules/ws/package.json +0 -56
- data/package-lock.json +0 -458
- data/package.json +0 -5
- data/selenium.log +0 -1
- data/spec.md +0 -6
- data/test.data +0 -2110
@@ -1,1114 +0,0 @@
|
|
1
|
-
## v4.0.0-beta.3
|
2
|
-
|
3
|
-
* Removed support for legacy actions.
|
4
|
-
This will also remove "Bride Mode" support, which was introduced to translate of action class to legacy API.
|
5
|
-
* Remove devtools support for v86,v87 and adding support for v89, v90, v91
|
6
|
-
* make isPromise() return boolean value for null and undefined cases (#6785)
|
7
|
-
* code cleanup (#9158)
|
8
|
-
* replacing asserts equal with strictEqual and deepEqual with deepStrictEqual
|
9
|
-
|
10
|
-
|
11
|
-
## v4.0.0-beta.2
|
12
|
-
|
13
|
-
* Removed support for Edge legacy.
|
14
|
-
* Make the build silent for WebDriver Bidi generated code
|
15
|
-
* resolve file path correctly (#9223)
|
16
|
-
* Update example in edge.js (#9231)
|
17
|
-
* Use a flat namespace for selenium options for finding WebDriver Bidi endpoint
|
18
|
-
* Removing duplicate license text updated by update_copyright.js
|
19
|
-
* Updating copyright text
|
20
|
-
* Minor code cleanup
|
21
|
-
* Removing duplicate variable declaration of IE from capabilities
|
22
|
-
|
23
|
-
## v4.0.0-beta.1
|
24
|
-
|
25
|
-
* JS Binding support for WebDriver Bidi in Firefox
|
26
|
-
- This requires Firefox 87 and Geckodriver 0.29 to be able to work
|
27
|
-
* Update the supported CDP versions
|
28
|
-
* Update tmp package version (#9155)
|
29
|
-
* Adding support for /computedlabel (getAccessibleName) (#9073)
|
30
|
-
* Adding support for computedrole (#8990)
|
31
|
-
* Use subfolder for NPM package homepage (#8938)
|
32
|
-
* Fix typo: tracingCategories -> traceCategories (#8976)
|
33
|
-
* Package up mutation-listener for node. Fixes #8955
|
34
|
-
* Adding support for `print` endpoint (#8880)
|
35
|
-
|
36
|
-
## v4.0.0-alpha.8
|
37
|
-
|
38
|
-
* Rolling back native support for Opera Browser
|
39
|
-
* Added new ieOptions capabilities:
|
40
|
-
- fileUploadDialogTimeout
|
41
|
-
- setEdgePath
|
42
|
-
- setEdgeChromium
|
43
|
-
- setScrollBehavior
|
44
|
-
- For consistent naming, deprecating `addArguments(...args)` in favor of `addBrowserCommandSwitches(...args)`
|
45
|
-
|
46
|
-
* Added relative locators
|
47
|
-
* Added Chrome DevTools Protocol (CDP) support
|
48
|
-
* Added support for BASIC authentication.
|
49
|
-
* Added listener for DOM mutations.
|
50
|
-
* Added support for listening out for console log events.
|
51
|
-
* Added support listening js exceptions using CDP
|
52
|
-
|
53
|
-
### API Changes
|
54
|
-
|
55
|
-
* Added the 'opera' module
|
56
|
-
|
57
|
-
## v4.0.0-alpha.4
|
58
|
-
|
59
|
-
### Changes
|
60
|
-
|
61
|
-
* Removed BUILD.bazel files from the build artifact
|
62
|
-
|
63
|
-
|
64
|
-
## v4.0.0-alpha.3
|
65
|
-
|
66
|
-
### Notice
|
67
|
-
|
68
|
-
* The minimum supported version of Node is now 10.15.0 LTS
|
69
|
-
|
70
|
-
### Changes
|
71
|
-
|
72
|
-
* add `pollTimeout` argument to the `wait()` method. Default value is `200`ms
|
73
|
-
* add `switchTo().parentFrame()` for non-W3C compatible drivers
|
74
|
-
* add support for opening a new window
|
75
|
-
|
76
|
-
### API Changes
|
77
|
-
|
78
|
-
* Export `lib/input.Origin` from the top level `selenium-webdriver` module.
|
79
|
-
* HTTP requests from this library will now include a User-Agent of the form
|
80
|
-
`selenium/${VERSION} (js ${PLATFORM})`.
|
81
|
-
|
82
|
-
|
83
|
-
## v4.0.0-alpha.1
|
84
|
-
|
85
|
-
### Notice
|
86
|
-
|
87
|
-
* The minimum supported version of Node is now 8.9.0 LTS
|
88
|
-
|
89
|
-
### Changes to Supported Browsers
|
90
|
-
|
91
|
-
Native support has been removed for Opera and PhantomJS as the WebDriver
|
92
|
-
implementations for these browsers are no longer under active development.
|
93
|
-
|
94
|
-
For Opera, users should be able to simply rely on testing Chrome as the Opera
|
95
|
-
browser is based on Chromium (and the operadriver was a thin wrapper around
|
96
|
-
chromedriver). For PhantomJS, users should use Chrome or Firefox in headless
|
97
|
-
mode (see `example/headless.js`)
|
98
|
-
|
99
|
-
### Changes for W3C WebDriver Spec Compliance
|
100
|
-
|
101
|
-
* Revamped the actions API to conform with the WebDriver Spec:
|
102
|
-
<https://www.w3.org/TR/webdriver/#actions>. For details, refer to the JS doc
|
103
|
-
on the `lib/input.Actions` class.
|
104
|
-
|
105
|
-
As of January, 2018, only Firefox natively supports this new API. You can
|
106
|
-
put the `Actions` class into "bridge mode" and it will attempt to translate
|
107
|
-
mouse and keyboard actions to the legacy API (see class docs). Alternatively,
|
108
|
-
you may continue to use the legacy API directly via the `lib/actions` module.
|
109
|
-
__NOTE:__ The legacy API is considered strongly deprecated and will be
|
110
|
-
removed in a minor release once Google's Chrome and Microsoft's Edge browsers
|
111
|
-
support the new API.
|
112
|
-
|
113
|
-
* All window manipulation commands are now supported.
|
114
|
-
* Added `driver.switchTo().parentFrame()`
|
115
|
-
* When a named cookie is requested, attempt to fetch it directly using the
|
116
|
-
W3C endpoint, `GET /session/{session id}/cookie/{name}`. If this command is
|
117
|
-
not recognized by the remote end, fallback to fetching all cookies and then
|
118
|
-
searching for the desired name.
|
119
|
-
* Replaced `WebElement.getSize()` and `WebElement.getLocation()` with a single
|
120
|
-
method, `WebElement.getRect()`.
|
121
|
-
|
122
|
-
### API Changes
|
123
|
-
|
124
|
-
* The core WebDriver API no longer uses promise manager
|
125
|
-
- Removed `index.Builder#setControlFlow()`
|
126
|
-
- The following thenable types no longer have a `cancel()` method:
|
127
|
-
- The dynamically generated thenable WebDrivers created by `index.Builder`
|
128
|
-
- `lib/webdriver.AlertPromise`
|
129
|
-
- `lib/webdriver.WebElementPromise`
|
130
|
-
* Removed `remote/index.DriverService.prototype.stop()` (use `#kill()` instead)
|
131
|
-
* Removed the `lib/actions` module
|
132
|
-
* Removed the `lib/events` module
|
133
|
-
* Removed the `phantomjs` module
|
134
|
-
* Removed the 'opera' module
|
135
|
-
* Removed the promise manager from `lib/promise`, which includes the removal
|
136
|
-
of the following exported names (replacements, if any, in parentheses):
|
137
|
-
- CancellableThenable
|
138
|
-
- CancellationError
|
139
|
-
- ControlFlow
|
140
|
-
- Deferred
|
141
|
-
- LONG_STACK_TRACES
|
142
|
-
- MultipleUnhandledRejectionError
|
143
|
-
- Promise (use native Promises)
|
144
|
-
- Resolver
|
145
|
-
- Scheduler
|
146
|
-
- Thenable
|
147
|
-
- USE_PROMISE_MANAGER
|
148
|
-
- all (use Promise.all)
|
149
|
-
- asap (use Promise.resolve)
|
150
|
-
- captureStackTrace (use Error.captureStackTrace)
|
151
|
-
- consume (use async functions)
|
152
|
-
- controlFlow
|
153
|
-
- createPromise (use new Promise)
|
154
|
-
- defer
|
155
|
-
- fulfilled (use Promise.resolve)
|
156
|
-
- isGenerator
|
157
|
-
- rejected (use Promise.reject)
|
158
|
-
- setDefaultFlow
|
159
|
-
- when (use Promise.resolve)
|
160
|
-
* Changes to the `Builder` class:
|
161
|
-
- Added setChromeService, setEdgeService, & setFirefoxService
|
162
|
-
- Removed setEnableNativeEvents
|
163
|
-
- Removed setScrollBehavior
|
164
|
-
* Changes to `chrome.Driver`
|
165
|
-
- Added sendDevToolsCommand
|
166
|
-
- Added setDownloadPath
|
167
|
-
* Changes to `chrome.Options`
|
168
|
-
- Now extends the `Capabilities` class
|
169
|
-
- Removed from/toCapabilities
|
170
|
-
* Changes to `edge.Options`
|
171
|
-
- Now extends the `Capabilities` class
|
172
|
-
- Removed from/toCapabilities
|
173
|
-
* Changes to `ie.Options`
|
174
|
-
- Now extends the `Capabilities` class
|
175
|
-
- Removed from/toCapabilities
|
176
|
-
* Removed the `firefox.Binary` class. Custom binaries can still be selected
|
177
|
-
using `firefox.Options#setBinary()`. Likewise, custom binary arguments can be
|
178
|
-
specified with `firefox.Options#addArguments()`.
|
179
|
-
* Changes to `firefox.Driver`
|
180
|
-
- Added installAddon(path)
|
181
|
-
- Added uninstallAddon(id)
|
182
|
-
* Changes to `firefox.Options`
|
183
|
-
- Now extends the `Capabilities` class
|
184
|
-
- Removed from/toCapabilities
|
185
|
-
- Removed setLoggingPreferences (was a no-op)
|
186
|
-
- setProfile now only accepts a path to an existing profile
|
187
|
-
- Added addExtensions
|
188
|
-
- Added setPreference
|
189
|
-
* Removed the `firefox.Profile` class. All of its functionality is now
|
190
|
-
provided directly by `firefox.Options`
|
191
|
-
* Removed the `firefox/binary` module
|
192
|
-
* Removed the `firefox/profile` module
|
193
|
-
* Changes to `safari.Options`
|
194
|
-
- Now extends the `Capabilities` class
|
195
|
-
- Removed from/toCapabilities
|
196
|
-
- Removed setCleanSession (was a no-op)
|
197
|
-
* Changes to `lib/capabilities.Browser`:
|
198
|
-
- Removed several enum values.
|
199
|
-
- ANDROID (use Chrome for Android; see docs on the chrome module)
|
200
|
-
- IPAD (no support available)
|
201
|
-
- IPHONE (no support available)
|
202
|
-
- OPERA (use Chrome)
|
203
|
-
- PHANTOM_JS (use Chrome or Firefox in headless mode)
|
204
|
-
- HTMLUNIT (use Chrome or Firefox in headless mode)
|
205
|
-
* Changes to `lib/capabilities.Capabilities`:
|
206
|
-
- Removed static factory methods android(), ipad(), iphone(), opera(),
|
207
|
-
phantomjs(), htmlunit(), and htmlunitwithjs(). Users can still manually
|
208
|
-
configure capabilities for these, but their use is not recommended and
|
209
|
-
they will no longer be surfaced in the API.
|
210
|
-
* Changes to `lib/error`:
|
211
|
-
- Added
|
212
|
-
- ElementClickInterceptedError
|
213
|
-
- InsecureCertificateError
|
214
|
-
- InvalidCoordinatesError
|
215
|
-
- NoSuchCookieError
|
216
|
-
- Removed
|
217
|
-
- ElementNotVisibleError
|
218
|
-
- InvalidElementCoordinatesError
|
219
|
-
* Changes to `lib/webdriver.WebDriver`:
|
220
|
-
- Dropped support for "requiredCapabilities" from WebDriver.createSession
|
221
|
-
- actions() now returns the new `lib/input.Actions` class
|
222
|
-
- Removed touchActions
|
223
|
-
- Renamed schedule to execute
|
224
|
-
- Removed the `WebDriver.attachToSession()` factory method. Users can just
|
225
|
-
the `WebDriver` constructor directly instead.
|
226
|
-
- Removed the `call()` method. This was used to inject custom function calls
|
227
|
-
into the control flow. Now that the promise manager is no longer used,
|
228
|
-
this method is no longer necessary. Users are now responsible for
|
229
|
-
coordinating actions (ideally with async functions) and can just call
|
230
|
-
functions directly instead of through `driver.call()`.
|
231
|
-
* Changes to `lib/webdriver.WebElement`:
|
232
|
-
- Replaced getSize & getLocation with getRect
|
233
|
-
* Changes to `lib/webdriver.Alert`:
|
234
|
-
- Removed authenticateAs
|
235
|
-
* Changes to `lib/webdriver.Options` (`driver.manage()`):
|
236
|
-
- Removed timeouts (use get/setTimeouts)
|
237
|
-
* Changes to `lib/webdriver.Window` (`driver.manage().window()`):
|
238
|
-
- Added
|
239
|
-
- getRect
|
240
|
-
- setRect
|
241
|
-
- fullscreen
|
242
|
-
- minimize
|
243
|
-
- Removed (use the getRect/setRect methods)
|
244
|
-
- getPosition
|
245
|
-
- setPosition
|
246
|
-
- getSize
|
247
|
-
- setSize
|
248
|
-
* Removed the `testing/assert` module
|
249
|
-
* Changes to `testing/index`
|
250
|
-
- Since the promise manager has been removed, it is no longer necessary to
|
251
|
-
wrap the Mocha test hooks; instead, users can simply use async functions.
|
252
|
-
The following have all been removed:
|
253
|
-
- describe
|
254
|
-
- before
|
255
|
-
- beforeEach
|
256
|
-
- after
|
257
|
-
- afterEach
|
258
|
-
- it
|
259
|
-
- Added the `suite` function. For details, refer to the jsdoc or
|
260
|
-
`example/google_search_test.js`
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
## v3.6.0
|
265
|
-
|
266
|
-
### Bug Fixes
|
267
|
-
|
268
|
-
* The Capabilities factory methods should only specify the name of the browser.
|
269
|
-
* Protect against the remote end sometimes not returning a list to findElements
|
270
|
-
commands.
|
271
|
-
* Properly reset state in `remote.DriverService#kill()`
|
272
|
-
* The firefox module will no longer apply the preferences required by the legacy
|
273
|
-
FirefoxDriver. These preferences were only required when using the legacy
|
274
|
-
driver, support for which was dropped in v3.5.0.
|
275
|
-
|
276
|
-
### API Changes
|
277
|
-
|
278
|
-
* Added new methods to `selenium-webdriver/firefox.Options`:
|
279
|
-
- addArguments()
|
280
|
-
- headless()
|
281
|
-
- windowSize()
|
282
|
-
* Deprecated `selenium-webdriver/firefox/binary.Binary`
|
283
|
-
* Removed `selenium-webdriver/firefox.Options#useGeckoDriver()`
|
284
|
-
* Removed the unused `selenium-webdriver/firefox/profile.decode()`
|
285
|
-
* Removed methods from `selenium-webdriver/firefox/profile.Profile` that had
|
286
|
-
no effect since support for the legacy FirefoxDriver was dropped in 3.5.0:
|
287
|
-
- setNativeEventsEnabled
|
288
|
-
- nativeEventsEnabled
|
289
|
-
- getPort
|
290
|
-
- setPort
|
291
|
-
* Removed `selenium-webdriver/firefox.ServiceBuilder#setFirefoxBinary()`; custom
|
292
|
-
binaries should be configured through the `firefox.Options` class.
|
293
|
-
* Removed `selenium-webdriver/firefox.Capability`. These hold overs from the
|
294
|
-
legacy FirefoxDriver are no longer supported.
|
295
|
-
|
296
|
-
### Changes for W3C WebDriver Spec Compliance
|
297
|
-
|
298
|
-
* Deprecated `error.ElementNotVisibleError` in favor of the more generic
|
299
|
-
`error.ElementNotInteractableError`.
|
300
|
-
* Support the `httpOnly` option when adding a cookie.
|
301
|
-
|
302
|
-
|
303
|
-
## v3.5.0
|
304
|
-
|
305
|
-
### Notice
|
306
|
-
|
307
|
-
Native support for Firefox 45 (ESR) has been removed. Users will have to connect
|
308
|
-
to a remote Selenium server that supports Firefox 45.
|
309
|
-
|
310
|
-
### Changes
|
311
|
-
|
312
|
-
* Removed native support for Firefox 46 and older.
|
313
|
-
- The `SELENIUM_MARIONETTE` enviornment variable no longer has an effect.
|
314
|
-
- `selenium-webdriver/firefox.Capability.MARIONETTE` is deprecated.
|
315
|
-
- `selenium-webdriver/firefox.Options#useGeckoDriver()` is deprecated and now a no-op.
|
316
|
-
* `firefox.Options` will no longer discard the `"moz:firefoxOptions"` set in
|
317
|
-
user provided capabilities (via `Builder.withCapabilities({})`). When both
|
318
|
-
are used, the settings in `firefox.Options` will be applied _last_.
|
319
|
-
* Added `chrome.Options#headless()` and `chrome.Options#windowSize()`, which
|
320
|
-
may be used to start Chrome in headless mode (requires Chrome 59+) and to set
|
321
|
-
the initial window size, respectively.
|
322
|
-
|
323
|
-
|
324
|
-
### Changes for W3C WebDriver Spec Compliance
|
325
|
-
|
326
|
-
* Added `error.WebDriverError#remoteStacktrace` to capture the stacktrace
|
327
|
-
reported by a remote WebDriver endpoint (if any).
|
328
|
-
* Fixed `WebElement#sendKeys` to send text as a string instead of an array of
|
329
|
-
strings.
|
330
|
-
|
331
|
-
## v3.4.0
|
332
|
-
|
333
|
-
### Notice
|
334
|
-
|
335
|
-
This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodriver/releases/tag/v0.15.0) or newer.
|
336
|
-
|
337
|
-
### API Changes
|
338
|
-
|
339
|
-
* Added `Options#getTimeouts()` for retrieving the currently configured session
|
340
|
-
timeouts (i.e. implicit wait). This method will only work with W3C compatible
|
341
|
-
WebDriver implementations.
|
342
|
-
* Deprecated the `Timeouts` class in favor of `Options#setTimeouts()`, which
|
343
|
-
supports setting multiple timeouts at once.
|
344
|
-
* Added support for emulating different network conditions (e.g., offline, 2G, WiFi) on Chrome.
|
345
|
-
|
346
|
-
### Changes for W3C WebDriver Spec Compliance
|
347
|
-
|
348
|
-
* Fixed W3C response parsing, which expects response data to always be a JSON
|
349
|
-
object with a `value` key.
|
350
|
-
* Added W3C endpoints for interacting with various types of
|
351
|
-
[user prompts](https://w3c.github.io/webdriver/webdriver-spec.html#user-prompts).
|
352
|
-
* Added W3C endpoints for remotely executing scripts.
|
353
|
-
* Added W3C endpoints to get current window handle and all windows handles.
|
354
|
-
|
355
|
-
|
356
|
-
## v3.3.0
|
357
|
-
|
358
|
-
* Added warning log messages when the user creates new managed promises, or
|
359
|
-
schedules unchained tasks. Users may opt in to printing these log messages
|
360
|
-
with
|
361
|
-
|
362
|
-
```js
|
363
|
-
const {logging} = require('selenium-webdriver');
|
364
|
-
logging.installConsoleHandler();
|
365
|
-
logging.getLogger('promise.ControlFlow').setLevel(logging.Level.WARNING);
|
366
|
-
```
|
367
|
-
* If the `JAVA_HOME` environment variable is set, use it to locate java.exe.
|
368
|
-
|
369
|
-
|
370
|
-
## v3.2.0
|
371
|
-
|
372
|
-
* Release skipped to stay in sync with the main Selenium project.
|
373
|
-
|
374
|
-
|
375
|
-
## v3.1.0
|
376
|
-
|
377
|
-
* The `lib` package is once again platform agnostic (excluding `lib/devmode`).
|
378
|
-
* Deprecated `promise.when(value, callback, errback)`.
|
379
|
-
Use `promise.fulfilled(value).then(callback, errback)`
|
380
|
-
* Changed `promise.fulfilled(value)`, `promise.rejected(reason)` and
|
381
|
-
`promise.defer()` to all use native promises when the promise manager is
|
382
|
-
disabled.
|
383
|
-
* Properly handle W3C error responses to new session commands.
|
384
|
-
* Updated `selenium-webdriver/testing` to export `describe.only` along with
|
385
|
-
`describe.skip`.
|
386
|
-
* Fixed `selenium-webdriver/lib/until.ableToSwitchToFrame`. It was previously
|
387
|
-
dropping arguments and would never work.
|
388
|
-
* Added the ability to use Firefox Nightly
|
389
|
-
* If Firefox cannot be found in the default location, look for it on the PATH
|
390
|
-
* Allow SafariDriver to use Safari Technology Preview.
|
391
|
-
* Use the proper wire command for WebElement.getLocation() and
|
392
|
-
WebElement.getSize() for W3C compliant drivers.
|
393
|
-
|
394
|
-
|
395
|
-
## v3.0.1
|
396
|
-
|
397
|
-
* More API adjustments to align with native Promises
|
398
|
-
- Deprecated `promise.fulfilled(value)`, use `promise.Promise#resolve(value)`
|
399
|
-
- Deprecated `promise.rejected(reason)`, use `promise.Promise#reject(reason)`
|
400
|
-
* When a `wait()` condition times out, the returned promise will now be
|
401
|
-
rejected with an `error.TimeoutError` instead of a generic `Error` object.
|
402
|
-
* `WebDriver#wait()` will now throw a TypeError if an invalid wait condition is
|
403
|
-
provided.
|
404
|
-
* Properly catch unhandled promise rejections with an action sequence (only
|
405
|
-
impacts when the promise manager is disabled).
|
406
|
-
|
407
|
-
|
408
|
-
## v3.0.0
|
409
|
-
|
410
|
-
* (__NOTICE__) The minimum supported version of Node is now 6.9.0 LTS
|
411
|
-
* Removed support for the SafariDriver browser extension. This has been
|
412
|
-
replaced by Apple's safaridriver, which is included wtih Safari 10
|
413
|
-
(available on OS X El Capitan and macOS Sierra).
|
414
|
-
|
415
|
-
To use Safari 9 or older, users will have to use an older version of Selenium.
|
416
|
-
|
417
|
-
* geckodriver v0.11.0 or newer is now required for Firefox.
|
418
|
-
* Fixed potential reference errors in `selenium-webdriver/testing` when users
|
419
|
-
create a cycle with mocha by running with mocha's `--hook` flag.
|
420
|
-
* Fixed `WebDriver.switchTo().activeElement()` to use the correct HTTP method
|
421
|
-
for compatibility with the W3C spec.
|
422
|
-
* Update the `selenium-webdriver/firefox` module to use geckodriver's
|
423
|
-
"moz:firefoxOptions" dictionary for Firefox-specific configuration values.
|
424
|
-
* Extending the `selenium-webdriver/testing` module to support tests defined
|
425
|
-
using generator functions.
|
426
|
-
* The promise manager can be disabled by setting an enviornment variable:
|
427
|
-
`SELENIUM_PROMISE_MANAGER=0`. This is part of a larger plan to remove the
|
428
|
-
promise manager, as documented at
|
429
|
-
<https://github.com/SeleniumHQ/selenium/issues/2969>
|
430
|
-
* When communicating with a W3C-compliant remote end, use the atoms library for
|
431
|
-
the `WebElement.getAttribute()` and `WebElement.isDisplayed()` commands. This
|
432
|
-
behavior is consistent with the java, .net, python, and ruby clients.
|
433
|
-
|
434
|
-
|
435
|
-
### API Changes
|
436
|
-
|
437
|
-
* Removed `safari.Options#useLegacyDriver()`
|
438
|
-
* Reduced the API on `promise.Thenable` for compatibility with native promises:
|
439
|
-
- Removed `#isPending()`
|
440
|
-
- Removed `#cancel()`
|
441
|
-
- Removed `#finally()`
|
442
|
-
* Changed all subclasses of `webdriver.WebDriver` to overload the static
|
443
|
-
function `WebDriver.createSession()` instead of doing work in the
|
444
|
-
constructor. All constructors now inherit the base class' function signature.
|
445
|
-
Users are still encouraged to use the `Builder` class instead of creating
|
446
|
-
drivers directly.
|
447
|
-
* `Builder#build()` now returns a "thenable" WebDriver instance, allowing users
|
448
|
-
to immediately schedule commands (as before), or issue them through standard
|
449
|
-
promise callbacks. This is the same pattern already employed for WebElements.
|
450
|
-
* Removed `Builder#buildAsync()` as it was redundant with the new semantics of
|
451
|
-
`build()`.
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
## v3.0.0-beta-3
|
456
|
-
|
457
|
-
* Fixed a bug where the promise manager would silently drop callbacks after
|
458
|
-
recovering from an unhandled promise rejection.
|
459
|
-
* Added the `firefox.ServiceBuilder` class, which may be used to customize the
|
460
|
-
geckodriver used for `firefox.Driver` instances.
|
461
|
-
* Added support for Safari 10 safaridriver. safaridriver may be disabled
|
462
|
-
via tha API, `safari.Options#useLegacyDriver`, to use the safari
|
463
|
-
extension driver.
|
464
|
-
* Updated the `lib/proxy` module to support configuring a SOCKS proxy.
|
465
|
-
* For the `promise.ControlFlow`, fire the "uncaughtException" event in a new
|
466
|
-
turn of the JS event loop. As a result of this change, any errors thrown by
|
467
|
-
an event listener will propagate to the global error handler. Previously,
|
468
|
-
this event was fired with in the context of a (native) promise callback,
|
469
|
-
causing errors to be silently suppressed in the promise chain.
|
470
|
-
|
471
|
-
### API Changes
|
472
|
-
|
473
|
-
* Added `remote.DriverService.Builder` as a base class for configuring
|
474
|
-
DriverService instances that run in a child-process. The
|
475
|
-
`chrome.ServiceBuilder`, `edge.ServiceBuilder`, and `opera.ServiceBuilder`
|
476
|
-
classes now all extend this base class with browser-specific options.
|
477
|
-
* For each of the ServiceBuilder clases, renamed `usingPort` and
|
478
|
-
`withEnvironment` to `setPort` and `setEnvironment`, respectively.
|
479
|
-
* Renamed `chrome.ServiceBuilder#setUrlBasePath` to `#setPath`
|
480
|
-
* Changed the signature of the `firefox.Driver` from `(config, flow, executor)`
|
481
|
-
to `(config, executor, flow)`.
|
482
|
-
* Exposed the `Condition` and `WebElementCondition` classes from the top-level
|
483
|
-
`selenium-webdriver` module (these were previously only available from
|
484
|
-
`lib/webdriver`).
|
485
|
-
|
486
|
-
|
487
|
-
### Changes for W3C WebDriver Spec Compliance
|
488
|
-
|
489
|
-
* Updated command mappings for [getting](https://w3c.github.io/webdriver/webdriver-spec.html#get-window-position)
|
490
|
-
and [setting](https://w3c.github.io/webdriver/webdriver-spec.html#set-window-position)
|
491
|
-
the window position.
|
492
|
-
|
493
|
-
|
494
|
-
## v3.0.0-beta-2
|
495
|
-
|
496
|
-
### API Changes
|
497
|
-
|
498
|
-
* Moved the `builder.Builder` class into the main module (`selenium-webdriver`).
|
499
|
-
* Removed the `builder` module.
|
500
|
-
* Fix `webdriver.WebDriver#setFileDetector` when driving Chrome or Firefox on a
|
501
|
-
remote machine.
|
502
|
-
|
503
|
-
|
504
|
-
## v3.0.0-beta-1
|
505
|
-
|
506
|
-
* Allow users to set the agent used for HTTP connections through
|
507
|
-
`builder.Builder#usingHttpAgent()`
|
508
|
-
* Added new wait conditions: `until.urlIs()`, `until.urlContains()`,
|
509
|
-
`until.urlMatches()`
|
510
|
-
* Added work around for [GeckoDriver bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1274924)
|
511
|
-
raising a type conversion error
|
512
|
-
* Internal cleanup replacing uses of managed promises with native promises
|
513
|
-
* Removed the mandatory use of Firefox Dev Edition, when using Marionette driver
|
514
|
-
* Fixed timeouts' URL
|
515
|
-
* Properly send HTTP requests when using a WebDriver server proxy
|
516
|
-
* Properly configure proxies when using the geckodriver
|
517
|
-
* `http.Executor` now accepts a promised client. The `builder.Builder` class
|
518
|
-
will now use this instead of a `command.DeferredExecutor` when creating
|
519
|
-
WebDriver instances.
|
520
|
-
* For Chrome and Firefox, the `builder.Builder` class will always return an
|
521
|
-
instanceof `chrome.Driver` and `firefox.Driver`, respectively, even when
|
522
|
-
configured to use a remote server (from `builder.Builder#usingServer(url)`,
|
523
|
-
`SELENIUM_REMOTE_URL`, etc).
|
524
|
-
|
525
|
-
### API Changes
|
526
|
-
|
527
|
-
* `promise.Deferred` is no longer a thenable object.
|
528
|
-
* `Options#addCookie()` now takes a record object instead of 7 individual
|
529
|
-
parameters. A TypeError will be thrown if addCookie() is called with invalid
|
530
|
-
arguments.
|
531
|
-
* When adding cookies, the desired expiry must be provided as a Date or in
|
532
|
-
_seconds_ since epoch. When retrieving cookies, the expiration is always
|
533
|
-
returned in seconds.
|
534
|
-
* Renamed `firefox.Options#useMarionette` to `firefox.Options#useGeckoDriver`
|
535
|
-
* Removed deprecated modules:
|
536
|
-
- `selenium-webdriver/error` (use `selenium-webdriver/lib/error`,\
|
537
|
-
or the `error` property exported by `selenium-webdriver`)
|
538
|
-
- `selenium-webdriver/executors` — this was not previously deprecated, but
|
539
|
-
is no longer used.
|
540
|
-
* Removed deprecated types:
|
541
|
-
- `command.DeferredExecutor` — this was not previously deprecated, but is no
|
542
|
-
longer used. It can be trivially implemented by clients should it be
|
543
|
-
needed.
|
544
|
-
- `error.InvalidSessionIdError` (use `error.NoSuchSessionError`)
|
545
|
-
- `executors.DeferredExecutor`
|
546
|
-
- `until.Condition` (use `webdriver.Condition`)
|
547
|
-
- `until.WebElementCondition` (use `webdriver.WebElementCondition`)
|
548
|
-
- `webdriver.UnhandledAlertError` (use `error.UnexpectedAlertOpenError`)
|
549
|
-
* Removed deprecated functions:
|
550
|
-
- `Deferred#cancel()`
|
551
|
-
- `Deferred#catch()`
|
552
|
-
- `Deferred#finally()`
|
553
|
-
- `Deferred#isPending()`
|
554
|
-
- `Deferred#then()`
|
555
|
-
- `Promise#thenCatch()`
|
556
|
-
- `Promise#thenFinally()`
|
557
|
-
- `WebDriver#isElementPresent()`
|
558
|
-
- `WebElement#getInnerHtml()`
|
559
|
-
- `WebElement#getOuterHtml()`
|
560
|
-
- `WebElement#getRawId()`
|
561
|
-
- `WebElement#isElementPresent()`
|
562
|
-
* Removed deprecated properties:
|
563
|
-
- `WebDriverError#code`
|
564
|
-
|
565
|
-
|
566
|
-
## v2.53.2
|
567
|
-
|
568
|
-
* Changed `io.exists()` to return a rejected promise if the input path is not
|
569
|
-
a string
|
570
|
-
* Deprecated `Promise#thenFinally()` - use `Promise#finally()`. The thenFinally
|
571
|
-
shim added to the promise module in v2.53.0 will be removed in v3.0
|
572
|
-
Sorry for the churn!
|
573
|
-
* FIXED: capabilities serialization now properly handles undefined vs.
|
574
|
-
false-like values.
|
575
|
-
* FIXED: properly handle responses from the remote end in
|
576
|
-
`WebDriver.attachToSession`
|
577
|
-
|
578
|
-
## v2.53.1
|
579
|
-
|
580
|
-
* FIXED: for consistency with the other language bindings, `remote.FileDetector`
|
581
|
-
will ignore paths that refer to a directory.
|
582
|
-
|
583
|
-
## v2.53.0
|
584
|
-
|
585
|
-
### Change Summary
|
586
|
-
|
587
|
-
* Added preliminary support for Marionette, Mozilla's WebDriver implementation
|
588
|
-
for Firefox. Marionette may be enabled via the API,
|
589
|
-
`firefox.Options#useMarionette`, or by setting the `SELENIUM_MARIONETTE`
|
590
|
-
environment variable.
|
591
|
-
* Moved all logic for parsing and interpreting responses from the remote end
|
592
|
-
into the individual `command.Executor` implementations.
|
593
|
-
* For consistency with the other Selenium language bindings,
|
594
|
-
`WebDriver#isElementPresent()` and `WebElement#isElementPresent()` have
|
595
|
-
been deprecated. These methods will be removed in v3.0. Use the findElements
|
596
|
-
command to test for the presence of an element:
|
597
|
-
|
598
|
-
driver.findElements(By.css('.foo')).then(found => !!found.length);
|
599
|
-
* Added support for W3C-spec compliant servers.
|
600
|
-
* For consistent naming, deprecating `error.InvalidSessionIdError` in favor of
|
601
|
-
`error.NoSuchSessionError`.
|
602
|
-
* Moved the `error` module to `lib/error` so all core modules are co-located.
|
603
|
-
The top-level `error` module will be removed in v3.0.
|
604
|
-
* Moved `until.Condition` and `until.WebElementCondition` to the webdriver
|
605
|
-
module to break a circular dependency.
|
606
|
-
* Added support for setting the username and password in basic auth pop-up
|
607
|
-
dialogs (currently IE only).
|
608
|
-
* Deprecated `WebElement#getInnerHtml()` and `WebEleemnt#getOuterHtml()`
|
609
|
-
* Deprecated `Promise#thenCatch()` - use `Promise#catch()` instead
|
610
|
-
* Deprecated `Promise#thenFinally()` - use `promise.thenFinally()` instead
|
611
|
-
* FIXED: `io.findInPath()` will no longer match against directories that have
|
612
|
-
the same basename as the target file.
|
613
|
-
* FIXED: `phantomjs.Driver` now takes a third argument that defines the path to
|
614
|
-
a log file to use for the phantomjs executable's output. This may be quickly
|
615
|
-
set at runtime with the `SELENIUM_PHANTOMJS_LOG` environment variable.
|
616
|
-
|
617
|
-
### Changes for W3C WebDriver Spec Compliance
|
618
|
-
|
619
|
-
* Changed `element.sendKeys(...)` to send the key sequence as an array where
|
620
|
-
each element defines a single key. The legacy wire protocol permits arrays
|
621
|
-
where each element is a string of arbitrary length. This change is solely
|
622
|
-
at the protocol level and should have no user-visible effect.
|
623
|
-
|
624
|
-
|
625
|
-
## v2.52.0
|
626
|
-
|
627
|
-
### Notice
|
628
|
-
|
629
|
-
Starting with v2.52.0, each release of selenium-webdriver will support the
|
630
|
-
latest _minor_ LTS and stable Node releases. All releases between the LTS and
|
631
|
-
stable release will have best effort support. Further details are available in
|
632
|
-
the selenium-webdriver package README.
|
633
|
-
|
634
|
-
### Change Summary
|
635
|
-
|
636
|
-
* Add support for Microsoft's Edge web browser
|
637
|
-
* Added `webdriver.Builder#buildAsync()`, which returns a promise that will be
|
638
|
-
fulfilled with the newly created WebDriver instance once the associated
|
639
|
-
browser has been full initialized. This is purely a convenient alternative
|
640
|
-
to the existing build() method as the WebDriver class will always defer
|
641
|
-
commands until it has a fully created browser.
|
642
|
-
* Added `firefox.Profile#setHost()` which may be used to set the host that
|
643
|
-
the FirefoxDriver's server listens for commands on. The server uses
|
644
|
-
"localhost" by default.
|
645
|
-
* Added `promise.Promise#catch()` for API compatibility with native Promises.
|
646
|
-
`promise.Promise#thenCatch()` is not yet deprecated, but it simply
|
647
|
-
delegates to `catch`.
|
648
|
-
* Changed some `io` operations to use native promises.
|
649
|
-
* Changed `command.Executor#execute()` and `HttpClient#send()` to return
|
650
|
-
promises instead of using callback passing.
|
651
|
-
* Replaced the `Serializable` class with an internal, Symbol-defined method.
|
652
|
-
* Changed the `Capabilities` class to extend the native `Map` type.
|
653
|
-
* Changed the `Capabilities.has(key)` to only test if a capability has been set
|
654
|
-
(Map semantics). To check whether the value is true, use `get(key)`.
|
655
|
-
* Deprecated `executors.DeferredExecutor` in favor of
|
656
|
-
`lib/command.DeferredExecutor`.
|
657
|
-
* API documentation is no longer distributed with the npm package, but remains
|
658
|
-
available at <http://seleniumhq.github.io/selenium/docs/api/javascript/>
|
659
|
-
* Rewrote the `error` module to export an Error subtype for each type of error
|
660
|
-
defined in the [W3C WebDriver spec](https://w3c.github.io/webdriver/webdriver-spec.html#handling-errors).
|
661
|
-
* Changed the `http.Request` and `http.Response` classes to store headers in
|
662
|
-
maps instead of object literals.
|
663
|
-
* Updated `ws` dependency to version `1.0.1`.
|
664
|
-
* Removed fluent predicates "is" and "not" from the experimental
|
665
|
-
`testing/assert` module.
|
666
|
-
* Wait conditions that locate an element, or that wait on an element's state,
|
667
|
-
will return a WebElementPromise.
|
668
|
-
* Lots of internal clean-up to break selenium-webdriver's long standing
|
669
|
-
dependency on Google's Closure library.
|
670
|
-
|
671
|
-
### Changes for W3C WebDriver Spec Compliance
|
672
|
-
|
673
|
-
* Updated the `By` locators that are not in the W3C spec to delegated to using
|
674
|
-
CSS selectors: `By.className`, `By.id`, `By.name`, and `By.tagName`.
|
675
|
-
|
676
|
-
|
677
|
-
## v2.49-51
|
678
|
-
|
679
|
-
* _Releases skipped to stay in sync with the rest of the Selenium project_
|
680
|
-
|
681
|
-
|
682
|
-
## v2.48.2
|
683
|
-
|
684
|
-
* Added `WebElement#takeScreenshot()`.
|
685
|
-
* More adjustments to promise callback tracking.
|
686
|
-
|
687
|
-
## v2.48.1
|
688
|
-
|
689
|
-
* FIXED: Adjusted how the control flow tracks promise callbacks to avoid a
|
690
|
-
potential deadlock.
|
691
|
-
|
692
|
-
## v2.48.0
|
693
|
-
|
694
|
-
* Node v0.12.x users must run with --harmony. _This is the last release that
|
695
|
-
will support v0.12.x_
|
696
|
-
* FIXED: (Promise/A+ compliance) When a promise is rejected with a thenable,
|
697
|
-
the promise adopts the thenable as its rejection reason instead of waiting
|
698
|
-
for it to settle. The previous (incorrect) behavior was hidden by bugs in
|
699
|
-
the `promises-aplus-tests` compliance test suite that were fixed in version
|
700
|
-
`2.1.1`.
|
701
|
-
* FIXED: the `webdriver.promise.ControlFlow` now has a consistent execution
|
702
|
-
order for tasks/callbacks scheduled in different turns of the JS event loop.
|
703
|
-
Refer to the `webdriver.promise` documentation for more details.
|
704
|
-
* FIXED: do not drop user auth from the WebDriver server URL.
|
705
|
-
* FIXED: a single `firefox.Binary` instance may be used to configure and
|
706
|
-
launch multiple FirefoxDriver sessions.
|
707
|
-
|
708
|
-
var binary = new firefox.Binary();
|
709
|
-
var options = new firefox.Options().setBinary(binary);
|
710
|
-
var builder = new Builder().setFirefoxOptions(options);
|
711
|
-
|
712
|
-
var driver1 = builder.build();
|
713
|
-
var driver2 = builder.build();
|
714
|
-
|
715
|
-
* FIXED: zip files created for transfer to a remote WebDriver server are no
|
716
|
-
longer compressed. If the zip contained a file that was already compressed,
|
717
|
-
the server would return an "invalid code lengths set" error.
|
718
|
-
* FIXED: Surfaced the `loopback` option to `remote/SeleniumServer`. When set,
|
719
|
-
the server will be accessed using the current host's loopback address.
|
720
|
-
|
721
|
-
## v2.47.0
|
722
|
-
|
723
|
-
### Notice
|
724
|
-
|
725
|
-
This is the last release for `selenium-webdriver` that will support ES5.
|
726
|
-
Subsequent releases will depend on ES6 features that are enabled by
|
727
|
-
[default](https://nodejs.org/en/docs/es6/) in Node v4.0.0. Node v0.12.x will
|
728
|
-
continue to be supported, but will require setting the `--harmony` flag.
|
729
|
-
|
730
|
-
### Change Summary
|
731
|
-
|
732
|
-
* Add support for [Node v4.0.0](https://nodejs.org/en/blog/release/v4.0.0/)
|
733
|
-
* Updated `ws` dependency from `0.7.1` to `0.8.0`
|
734
|
-
* Bumped the minimum supported version of Node from `0.10.x` to `0.12.x`. This
|
735
|
-
is in accordance with the Node support policy established in `v2.45.0`.
|
736
|
-
|
737
|
-
## v2.46.1
|
738
|
-
|
739
|
-
* Fixed internal module loading on Windows.
|
740
|
-
* Fixed error message format on timeouts for `until.elementLocated()`
|
741
|
-
and `until.elementsLocated()`.
|
742
|
-
|
743
|
-
## v2.46.0
|
744
|
-
|
745
|
-
* Exposed a new logging API via the `webdriver.logging` module. For usage, see
|
746
|
-
`example/logging.js`.
|
747
|
-
* Added support for using a proxy server for WebDriver commands.
|
748
|
-
See `Builder#usingWebDriverProxy()` for more info.
|
749
|
-
* Removed deprecated functions:
|
750
|
-
* Capabilities#toJSON()
|
751
|
-
* UnhandledAlertError#getAlert()
|
752
|
-
* chrome.createDriver()
|
753
|
-
* phantomjs.createDriver()
|
754
|
-
* promise.ControlFlow#annotateError()
|
755
|
-
* promise.ControlFlow#await()
|
756
|
-
* promise.ControlFlow#clearHistory()
|
757
|
-
* promise.ControlFlow#getHistory()
|
758
|
-
* Removed deprecated enum values: `ErrorCode.NO_MODAL_DIALOG_OPEN` and
|
759
|
-
`ErrorCode.MODAL_DIALOG_OPENED`. Use `ErrorCode.NO_SUCH_ALERT` and
|
760
|
-
`ErrorCode.UNEXPECTED_ALERT_OPEN`, respectively.
|
761
|
-
* FIXED: The `promise.ControlFlow` will maintain state for promise chains
|
762
|
-
generated in a loop.
|
763
|
-
* FIXED: Correct serialize target elements used in an action sequence.
|
764
|
-
* FIXED: `promise.ControlFlow#wait()` now has consistent semantics for an
|
765
|
-
omitted or 0-timeout: it will wait indefinitely.
|
766
|
-
* FIXED: `remote.DriverService#start()` will now fail if the child process dies
|
767
|
-
while waiting for the server to start accepting requests. Previously, start
|
768
|
-
would continue to poll the server address until the timeout expired.
|
769
|
-
* FIXED: Skip launching Firefox with the `-silent` flag to preheat the profile.
|
770
|
-
Starting with Firefox 38, this would cause the browser to crash. This step,
|
771
|
-
which was first introduced for Selenium's java client back with Firefox 2,
|
772
|
-
no longer appears to be required.
|
773
|
-
* FIXED: 8564: `firefox.Driver#quit()` will wait for the Firefox process to
|
774
|
-
terminate before deleting the temporary webdriver profile. This eliminates a
|
775
|
-
race condition where Firefox would write profile data during shutdown,
|
776
|
-
causing the `rm -rf` operation on the profile directory to fail.
|
777
|
-
|
778
|
-
## v2.45.1
|
779
|
-
|
780
|
-
* FIXED: 8548: Task callbacks are once again dropped if the task was cancelled
|
781
|
-
due to a previously uncaught error within the frame.
|
782
|
-
* FIXED: 8496: Extended the `chrome.Options` API to cover all configuration
|
783
|
-
options (e.g. mobile emulation and performance logging) documented on the
|
784
|
-
ChromeDriver [project site](https://chromedriver.chromium.org/capabilities).
|
785
|
-
|
786
|
-
## v2.45.0
|
787
|
-
|
788
|
-
### Important Policy Change
|
789
|
-
|
790
|
-
Starting with the 2.45.0 release, selenium-webdriver will support the last
|
791
|
-
two stable minor releases for Node. For 2.45.0, this means Selenium will
|
792
|
-
support Node 0.10.x and 0.12.x. Support for the intermediate, un-stable release
|
793
|
-
(0.11.x) is "best-effort". This policy will be re-evaluated once Node has a
|
794
|
-
major version release (i.e. 1.0.0).
|
795
|
-
|
796
|
-
### Change Summary
|
797
|
-
|
798
|
-
* Added native browser support for Internet Explorer, Opera 26+, and Safari
|
799
|
-
* With the release of [Node 0.12.0](http://blog.nodejs.org/2015/02/06/node-v0-12-0-stable/)
|
800
|
-
(finally!), the minimum supported version of Node is now `0.10.x`.
|
801
|
-
* The `promise` module is now [Promises/A+](https://promisesaplus.com/)
|
802
|
-
compliant. The biggest compliance change is that promise callbacks are now
|
803
|
-
invoked in a future turn of the JS event loop. For example:
|
804
|
-
|
805
|
-
var promise = require('selenium-webdriver').promise;
|
806
|
-
console.log('start');
|
807
|
-
promise.fulfilled().then(function() {
|
808
|
-
console.log('middle');
|
809
|
-
});
|
810
|
-
console.log('end');
|
811
|
-
|
812
|
-
// Output in selenium-webdriver@2.44.0
|
813
|
-
// start
|
814
|
-
// middle
|
815
|
-
// end
|
816
|
-
//
|
817
|
-
// Output in selenium-webdriver@2.45.0
|
818
|
-
// start
|
819
|
-
// end
|
820
|
-
// middle
|
821
|
-
|
822
|
-
The `promise.ControlFlow` class has been updated to track the asynchronous
|
823
|
-
breaks required by Promises/A+, so there are no changes to task execution
|
824
|
-
order.
|
825
|
-
* Updated how errors are annotated on failures. When a task fails, the
|
826
|
-
stacktrace from when that task was scheduled is appended to the rejection
|
827
|
-
reason with a `From: ` prefix (if it is an Error object). For example:
|
828
|
-
|
829
|
-
var driver = new webdriver.Builder().forBrowser('chrome').build();
|
830
|
-
driver.get('http://www.google.com/ncr');
|
831
|
-
driver.call(function() {
|
832
|
-
driver.wait(function() {
|
833
|
-
return driver.isElementPresent(webdriver.By.id('not-there'));
|
834
|
-
}, 2000, 'element not found');
|
835
|
-
});
|
836
|
-
|
837
|
-
This code will fail an error like:
|
838
|
-
|
839
|
-
Error: element not found
|
840
|
-
Wait timed out after 2002ms
|
841
|
-
at <stack trace>
|
842
|
-
From: Task: element not found
|
843
|
-
at <stack trace>
|
844
|
-
From: Task: WebDriver.call(function)
|
845
|
-
at <stack trace>
|
846
|
-
|
847
|
-
* Changed the format of strings returned by `promise.ControlFlow#getSchedule`.
|
848
|
-
This function now accepts a boolean to control whether the returned string
|
849
|
-
should include the stacktraces for when each task was scheduled.
|
850
|
-
* Deprecating `promise.ControlFlow#getHistory`,
|
851
|
-
`promise.ControlFlow#clearHistory`, and `promise.ControlFlow#annotateError`.
|
852
|
-
These functions were all intended for internal use and are no longer
|
853
|
-
necessary, so they have been made no-ops.
|
854
|
-
* `WebDriver.wait()` may now be used to wait for a promise to resolve, with
|
855
|
-
an optional timeout. Refer to the API documentation for more information.
|
856
|
-
* Added support for copying files to a remote Selenium via `sendKeys` to test
|
857
|
-
file uploads. Refer to the API documentation for more information. Sample
|
858
|
-
usage included in `test/upload_test.js`
|
859
|
-
* Expanded the interactions API to include touch actions.
|
860
|
-
See `WebDriver.touchActions()`.
|
861
|
-
* FIXED: 8380: `firefox.Driver` will delete its temporary profile on `quit`.
|
862
|
-
* FIXED: 8306: Stack overflow in promise callbacks eliminated.
|
863
|
-
* FIXED: 8221: Added support for defining custom command mappings. Includes
|
864
|
-
support for PhantomJS's `executePhantomJS` (requires PhantomJS 1.9.7 or
|
865
|
-
GhostDriver 1.1.0).
|
866
|
-
* FIXED: 8128: When the FirefoxDriver marshals an object to the page for
|
867
|
-
`executeScript`, it defines additional properties (required by the driver's
|
868
|
-
implementation). These properties will no longer be enumerable and should
|
869
|
-
be omitted (i.e. they won't show up in JSON.stringify output).
|
870
|
-
* FIXED: 8094: The control flow will no longer deadlock when a task returns
|
871
|
-
a promise that depends on the completion of sub-tasks.
|
872
|
-
|
873
|
-
## v2.44.0
|
874
|
-
|
875
|
-
* Added the `until` module, which defines common explicit wait conditions.
|
876
|
-
Sample usage:
|
877
|
-
|
878
|
-
var firefox = require('selenium-webdriver/firefox'),
|
879
|
-
until = require('selenium-webdriver/until');
|
880
|
-
|
881
|
-
var driver = new firefox.Driver();
|
882
|
-
driver.get('http://www.google.com/ncr');
|
883
|
-
driver.wait(until.titleIs('Google Search'), 1000);
|
884
|
-
|
885
|
-
* FIXED: 8000: `Builder.forBrowser()` now accepts an empty string since some
|
886
|
-
WebDriver implementations ignore the value. A value must still be specified,
|
887
|
-
however, since it is a required field in WebDriver's wire protocol.
|
888
|
-
* FIXED: 7994: The `stacktrace` module will not modify stack traces if the
|
889
|
-
initial parse fails (e.g. the user defined `Error.prepareStackTrace`)
|
890
|
-
* FIXED: 5855: Added a module (`until`) that defines several common conditions
|
891
|
-
for use with explicit waits. See updated examples for usage.
|
892
|
-
|
893
|
-
## v2.43.5
|
894
|
-
|
895
|
-
* FIXED: 7905: `Builder.usingServer(url)` once again returns `this` for
|
896
|
-
chaining.
|
897
|
-
|
898
|
-
## v2.43.2-4
|
899
|
-
|
900
|
-
* No changes; version bumps while attempting to work around an issue with
|
901
|
-
publishing to npm (a version string may only be used once).
|
902
|
-
|
903
|
-
## v2.43.1
|
904
|
-
|
905
|
-
* Fixed an issue with flakiness when setting up the Firefox profile that could
|
906
|
-
prevent the driver from initializing properly.
|
907
|
-
|
908
|
-
## v2.43.0
|
909
|
-
|
910
|
-
* Added native support for Firefox - the Java Selenium server is no longer
|
911
|
-
required.
|
912
|
-
* Added support for generator functions to `ControlFlow#execute` and
|
913
|
-
`ControlFlow#wait`. For more information, see documentation on
|
914
|
-
`webdriver.promise.consume`. Requires harmony support (run with
|
915
|
-
`node --harmony-generators` in `v0.11.x`).
|
916
|
-
* Various improvements to the `Builder` API. Notably, the `build()` function
|
917
|
-
will no longer default to attempting to use a server at
|
918
|
-
`http://localhost:4444/wd/hub` if it cannot start a browser directly -
|
919
|
-
you must specify the WebDriver server with `usingServer(url)`. You can
|
920
|
-
also set the target browser and WebDriver server through a pair of
|
921
|
-
environment variables. See the documentation on the `Builder` constructor
|
922
|
-
for more information.
|
923
|
-
* For consistency with the other language bindings, added browser specific
|
924
|
-
classes that can be used to start a browser without the builder.
|
925
|
-
|
926
|
-
var webdriver = require('selenium-webdriver')
|
927
|
-
chrome = require('selenium-webdriver/chrome');
|
928
|
-
|
929
|
-
// The following are equivalent.
|
930
|
-
var driver1 = new webdriver.Builder().forBrowser('chrome').build();
|
931
|
-
var driver2 = new chrome.Driver();
|
932
|
-
|
933
|
-
* Promise A+ compliance: a promise may no longer resolve to itself.
|
934
|
-
* For consistency with other language bindings, deprecated
|
935
|
-
`UnhandledAlertError#getAlert` and added `#getAlertText`.
|
936
|
-
`getAlert` will be removed in `2.45.0`.
|
937
|
-
* FIXED: 7641: Deprecated `ErrorCode.NO_MODAL_DIALOG_OPEN` and
|
938
|
-
`ErrorCode.MODAL_DIALOG_OPENED` in favor of the new
|
939
|
-
`ErrorCode.NO_SUCH_ALERT` and `ErrorCode.UNEXPECTED_ALERT_OPEN`,
|
940
|
-
respectively.
|
941
|
-
* FIXED: 7563: Mocha integration no longer disables timeouts. Default Mocha
|
942
|
-
timeouts apply (2000 ms) and may be changed using `this.timeout(ms)`.
|
943
|
-
* FIXED: 7470: Make it easier to create WebDriver instances in custom flows for
|
944
|
-
parallel execution.
|
945
|
-
|
946
|
-
## v2.42.1
|
947
|
-
|
948
|
-
* FIXED: 7465: Fixed `net.getLoopbackAddress` on Windows
|
949
|
-
* FIXED: 7277: Support `done` callback in Mocha's BDD interface
|
950
|
-
* FIXED: 7156: `Promise#thenFinally` should not suppress original error
|
951
|
-
|
952
|
-
## v2.42.0
|
953
|
-
|
954
|
-
* Removed deprecated functions `Promise#addCallback()`,
|
955
|
-
`Promise#addCallbacks()`, `Promise#addErrback()`, and `Promise#addBoth()`.
|
956
|
-
* Fail with a more descriptive error if the server returns a malformed redirect
|
957
|
-
* FIXED: 7300: Connect to ChromeDriver using the loopback address since
|
958
|
-
ChromeDriver 2.10.267517 binds to localhost by default.
|
959
|
-
* FIXED: 7339: Preserve wrapped test function's string representation for
|
960
|
-
Mocha's BDD interface.
|
961
|
-
|
962
|
-
## v2.41.0
|
963
|
-
|
964
|
-
* FIXED: 7138: export logging API from webdriver module.
|
965
|
-
* FIXED: 7105: beforeEach/it/afterEach properly bind `this` for Mocha tests.
|
966
|
-
|
967
|
-
## v2.40.0
|
968
|
-
|
969
|
-
* API documentation is now included in the docs directory.
|
970
|
-
* Added utility functions for working with an array of promises:
|
971
|
-
`promise.all`, `promise.map`, and `promise.filter`
|
972
|
-
* Introduced `Promise#thenCatch()` and `Promise#thenFinally()`.
|
973
|
-
* Deprecated `Promise#addCallback()`, `Promise#addCallbacks()`,
|
974
|
-
`Promise#addErrback()`, and `Promise#addBoth()`.
|
975
|
-
* Removed deprecated function `webdriver.WebDriver#getCapability`.
|
976
|
-
* FIXED: 6826: Added support for custom locators.
|
977
|
-
|
978
|
-
## v2.39.0
|
979
|
-
|
980
|
-
* Version bump to stay in sync with the Selenium project.
|
981
|
-
|
982
|
-
## v2.38.1
|
983
|
-
|
984
|
-
* FIXED: 6686: Changed `webdriver.promise.Deferred#cancel()` to silently no-op
|
985
|
-
if the deferred has already been resolved.
|
986
|
-
|
987
|
-
## v2.38.0
|
988
|
-
|
989
|
-
* When a promise is rejected, always annotate the stacktrace with the parent
|
990
|
-
flow state so users can identify the source of an error.
|
991
|
-
* Updated tests to reflect features not working correctly in the SafariDriver
|
992
|
-
(cookie management and proxy support; see issues 5051, 5212, and 5503)
|
993
|
-
* FIXED: 6284: For mouse moves, correctly omit the x/y offsets if not
|
994
|
-
specified as a function argument (instead of passing (0,0)).
|
995
|
-
* FIXED: 6471: Updated documentation on `webdriver.WebElement#getAttribute`
|
996
|
-
* FIXED: 6612: On Unix, use the default IANA ephemeral port range if unable to
|
997
|
-
retrieve the current system's port range.
|
998
|
-
* FIXED: 6617: Avoid triggering the node debugger when initializing the
|
999
|
-
stacktrace module.
|
1000
|
-
* FIXED: 6627: Safely rebuild chrome.Options from a partial JSON spec.
|
1001
|
-
|
1002
|
-
## v2.37.0
|
1003
|
-
|
1004
|
-
* FIXED: 6346: The remote.SeleniumServer class now accepts JVM arguments using
|
1005
|
-
the `jvmArgs` option.
|
1006
|
-
|
1007
|
-
## v2.36.0
|
1008
|
-
|
1009
|
-
* _Release skipped to stay in sync with main Selenium project._
|
1010
|
-
|
1011
|
-
## v2.35.2
|
1012
|
-
|
1013
|
-
* FIXED: 6200: Pass arguments to the Selenium server instead of to the JVM.
|
1014
|
-
|
1015
|
-
## v2.35.1
|
1016
|
-
|
1017
|
-
* FIXED: 6090: Changed example scripts to use chromedriver.
|
1018
|
-
|
1019
|
-
## v2.35.0
|
1020
|
-
|
1021
|
-
* Version bump to stay in sync with the Selenium project.
|
1022
|
-
|
1023
|
-
## v2.34.1
|
1024
|
-
|
1025
|
-
* FIXED: 6079: The parent process should not wait for spawn driver service
|
1026
|
-
processes (chromedriver, phantomjs, etc.)
|
1027
|
-
|
1028
|
-
## v2.34.0
|
1029
|
-
|
1030
|
-
* Added the `selenium-webdriver/testing/assert` module. This module
|
1031
|
-
simplifies writing assertions against promised values (see
|
1032
|
-
example in module documentation).
|
1033
|
-
* Added the `webdriver.Capabilities` class.
|
1034
|
-
* Added native support for the ChromeDriver. When using the `Builder`,
|
1035
|
-
requesting chrome without specifying a remote server URL will default to
|
1036
|
-
the native ChromeDriver implementation. The
|
1037
|
-
[ChromeDriver server](https://code.google.com/p/chromedriver/downloads/list)
|
1038
|
-
must be downloaded separately.
|
1039
|
-
|
1040
|
-
// Will start ChromeDriver locally.
|
1041
|
-
var driver = new webdriver.Builder().
|
1042
|
-
withCapabilities(webdriver.Capabilities.chrome()).
|
1043
|
-
build();
|
1044
|
-
|
1045
|
-
// Will start ChromeDriver using the remote server.
|
1046
|
-
var driver = new webdriver.Builder().
|
1047
|
-
withCapabilities(webdriver.Capabilities.chrome()).
|
1048
|
-
usingServer('http://server:1234/wd/hub').
|
1049
|
-
build();
|
1050
|
-
|
1051
|
-
* Added support for configuring proxies through the builder. For examples, see
|
1052
|
-
`selenium-webdriver/test/proxy_test`.
|
1053
|
-
* Added native support for PhantomJS.
|
1054
|
-
* Changed signature of `SeleniumServer` to `SeleniumServer(jar, options)`.
|
1055
|
-
* Tests are now included in the npm published package. See `README.md` for
|
1056
|
-
execution instructions
|
1057
|
-
* Removed the deprecated `webdriver.Deferred#resolve` and
|
1058
|
-
`webdriver.promise.resolved` functions.
|
1059
|
-
* Removed the ability to connect to an existing session from the Builder. This
|
1060
|
-
feature is intended for use with the browser-based client.
|
1061
|
-
|
1062
|
-
## v2.33.0
|
1063
|
-
|
1064
|
-
* Added support for WebDriver's logging API
|
1065
|
-
* FIXED: 5511: Added webdriver.manage().timeouts().pageLoadTimeout(ms)
|
1066
|
-
|
1067
|
-
## v2.32.1
|
1068
|
-
|
1069
|
-
* FIXED: 5541: Added missing return statement for windows in
|
1070
|
-
`portprober.findFreePort()`
|
1071
|
-
|
1072
|
-
## v2.32.0
|
1073
|
-
|
1074
|
-
* Added the `selenium-webdriver/testing` package, which provides a basic
|
1075
|
-
framework for writing tests using Mocha. See
|
1076
|
-
`selenium-webdriver/example/google_search_test.js` for usage.
|
1077
|
-
* For Promises/A+ compatibility, backing out the change in 2.30.0 that ensured
|
1078
|
-
rejections were always Error objects. Rejection reasons are now left as is.
|
1079
|
-
* Removed deprecated functions originally scheduled for removal in 2.31.0
|
1080
|
-
* promise.Application.getInstance()
|
1081
|
-
* promise.ControlFlow#schedule()
|
1082
|
-
* promise.ControlFlow#scheduleTimeout()
|
1083
|
-
* promise.ControlFlow#scheduleWait()
|
1084
|
-
* Renamed some functions for consistency with Promises/A+ terminology. The
|
1085
|
-
original functions have been deprecated and will be removed in 2.34.0:
|
1086
|
-
* promise.resolved() -> promise.fulfilled()
|
1087
|
-
* promise.Deferred#resolve() -> promise.Deferred#fulfill()
|
1088
|
-
* FIXED: remote.SeleniumServer#stop now shuts down within the active control
|
1089
|
-
flow, allowing scripts to finish. Use #kill to shutdown immediately.
|
1090
|
-
* FIXED: 5321: cookie deletion commands
|
1091
|
-
|
1092
|
-
## v2.31.0
|
1093
|
-
|
1094
|
-
* Added an example script.
|
1095
|
-
* Added a class for controlling the standalone Selenium server (server
|
1096
|
-
available separately)
|
1097
|
-
* Added a portprober for finding free ports
|
1098
|
-
* FIXED: WebElements now belong to the same flow as their parent driver.
|
1099
|
-
|
1100
|
-
## v2.30.0
|
1101
|
-
|
1102
|
-
* Ensures promise rejections are always Error values.
|
1103
|
-
* Version bump to keep in sync with the Selenium project.
|
1104
|
-
|
1105
|
-
## v2.29.1
|
1106
|
-
|
1107
|
-
* Fixed a bug that could lead to an infinite loop.
|
1108
|
-
* Added a README.md
|
1109
|
-
|
1110
|
-
## v2.29.0
|
1111
|
-
|
1112
|
-
* Initial release for npm:
|
1113
|
-
|
1114
|
-
npm install selenium-webdriver
|