selenium-webdriver 4.0.0-alpha.5 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.md +35 -1
- package/LICENSE +1 -1
- package/NOTICE +1 -1
- package/README.md +4 -4
- package/chrome.js +72 -592
- package/chromium.js +829 -0
- package/devtools/CDPConnection.js +37 -0
- package/edge.js +124 -86
- package/example/chrome_android.js +16 -13
- package/example/chrome_mobile_emulation.js +18 -14
- package/example/firefox_channels.js +35 -28
- package/example/google_search.js +9 -9
- package/example/google_search_test.js +20 -22
- package/example/headless.js +27 -19
- package/example/logging.js +34 -38
- package/firefox.js +200 -200
- package/http/index.js +131 -115
- package/http/util.js +56 -64
- package/ie.js +180 -104
- package/index.js +246 -199
- package/io/exec.js +34 -39
- package/io/index.js +142 -152
- package/io/zip.js +75 -65
- package/lib/actions.js +140 -122
- package/lib/atoms/find-elements.js +124 -0
- package/lib/atoms/get-attribute.js +79 -59
- package/lib/atoms/is-displayed.js +72 -73
- package/lib/atoms/mutation-listener.js +38 -0
- package/lib/by.js +192 -65
- package/lib/capabilities.js +82 -78
- package/lib/command.js +20 -20
- package/lib/error.js +134 -168
- package/lib/http.js +337 -230
- package/lib/input.js +325 -302
- package/lib/logging.js +127 -138
- package/lib/promise.js +60 -66
- package/lib/proxy.js +31 -41
- package/lib/session.js +12 -15
- package/lib/symbols.js +3 -4
- package/lib/until.js +162 -160
- package/lib/webdriver.js +1024 -541
- package/net/index.js +30 -36
- package/net/portprober.js +31 -144
- package/opera.js +406 -0
- package/package.json +19 -12
- package/proxy.js +2 -2
- package/remote/index.js +190 -187
- package/safari.js +40 -49
- package/testing/index.js +166 -155
package/example/headless.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*
|
|
21
21
|
* To run with Chrome, ensure you have Chrome 59+ installed and that
|
|
22
22
|
* chromedriver 2.30+ is present on your system PATH:
|
|
23
|
-
* <https://
|
|
23
|
+
* <https://chromedriver.chromium.org/downloads>
|
|
24
24
|
*
|
|
25
25
|
* SELENIUM_BROWSER=chrome node selenium-webdriver/example/headless.js
|
|
26
26
|
*
|
|
@@ -31,25 +31,33 @@
|
|
|
31
31
|
* SELENIUM_BROWSER=firefox node selenium-webdriver/example/headless.js
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
|
-
const chrome = require('../chrome')
|
|
35
|
-
const firefox = require('../firefox')
|
|
36
|
-
const {Builder, By, Key, until} = require('..')
|
|
34
|
+
const chrome = require('../chrome')
|
|
35
|
+
const firefox = require('../firefox')
|
|
36
|
+
const { Builder, By, Key, until } = require('..')
|
|
37
37
|
|
|
38
|
-
const width = 640
|
|
39
|
-
const height = 480
|
|
38
|
+
const width = 640
|
|
39
|
+
const height = 480
|
|
40
40
|
|
|
41
41
|
let driver = new Builder()
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
.
|
|
42
|
+
.forBrowser('chrome')
|
|
43
|
+
.setChromeOptions(
|
|
44
|
+
new chrome.Options().headless().windowSize({ width, height })
|
|
45
|
+
)
|
|
46
|
+
.setFirefoxOptions(
|
|
47
|
+
new firefox.Options().headless().windowSize({ width, height })
|
|
48
|
+
)
|
|
49
|
+
.build()
|
|
48
50
|
|
|
49
|
-
driver
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
driver
|
|
52
|
+
.get('http://www.google.com/ncr')
|
|
53
|
+
.then((_) =>
|
|
54
|
+
driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN)
|
|
55
|
+
)
|
|
56
|
+
.then((_) => driver.wait(until.titleIs('webdriver - Google Search'), 1000))
|
|
57
|
+
.then(
|
|
58
|
+
(_) => driver.quit(),
|
|
59
|
+
(e) =>
|
|
60
|
+
driver.quit().then(() => {
|
|
61
|
+
throw e
|
|
62
|
+
})
|
|
63
|
+
)
|
package/example/logging.js
CHANGED
|
@@ -19,50 +19,46 @@
|
|
|
19
19
|
* @fileoverview Demonstrates how to use WebDriver's logging sysem.
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
'use strict'
|
|
22
|
+
'use strict'
|
|
23
23
|
|
|
24
|
-
const chrome = require('../chrome')
|
|
25
|
-
const firefox = require('../firefox')
|
|
26
|
-
const edge = require('../edge')
|
|
27
|
-
const {Builder, By, Key, logging, until} = require('..')
|
|
24
|
+
const chrome = require('../chrome')
|
|
25
|
+
const firefox = require('../firefox')
|
|
26
|
+
const edge = require('../edge')
|
|
27
|
+
const { Builder, By, Key, logging, until } = require('..')
|
|
28
28
|
|
|
29
|
-
logging.installConsoleHandler()
|
|
30
|
-
logging.getLogger('webdriver.http').setLevel(logging.Level.ALL)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
let driver;
|
|
29
|
+
logging.installConsoleHandler()
|
|
30
|
+
logging.getLogger('webdriver.http').setLevel(logging.Level.ALL)
|
|
31
|
+
;(async function () {
|
|
32
|
+
let driver
|
|
34
33
|
try {
|
|
35
34
|
driver = await new Builder()
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
.enableVerboseLogging()
|
|
57
|
-
.setStdio('inherit'))
|
|
58
|
-
.build();
|
|
35
|
+
// Default to using Firefox. This can be overridden at runtime by
|
|
36
|
+
// setting the SELENIUM_BROWSER environment variable:
|
|
37
|
+
//
|
|
38
|
+
// SELENIUM_BROWSER=chrome node selenium-webdriver/example/logging.js
|
|
39
|
+
.forBrowser('firefox')
|
|
40
|
+
// Configure the service for each browser to enable verbose logging and
|
|
41
|
+
// to inherit the stdio settings from the current process. The builder
|
|
42
|
+
// will only start the service if needed for the selected browser.
|
|
43
|
+
.setChromeService(
|
|
44
|
+
new chrome.ServiceBuilder().enableVerboseLogging().setStdio('inherit')
|
|
45
|
+
)
|
|
46
|
+
.setEdgeService(
|
|
47
|
+
process.platform === 'win32'
|
|
48
|
+
? new edge.ServiceBuilder().enableVerboseLogging().setStdio('inherit')
|
|
49
|
+
: null
|
|
50
|
+
)
|
|
51
|
+
.setFirefoxService(
|
|
52
|
+
new firefox.ServiceBuilder().enableVerboseLogging().setStdio('inherit')
|
|
53
|
+
)
|
|
54
|
+
.build()
|
|
59
55
|
|
|
60
|
-
await driver.get('http://www.google.com/ncr')
|
|
61
|
-
await driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN)
|
|
62
|
-
await driver.wait(until.titleIs('webdriver - Google Search'), 1000)
|
|
56
|
+
await driver.get('http://www.google.com/ncr')
|
|
57
|
+
await driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN)
|
|
58
|
+
await driver.wait(until.titleIs('webdriver - Google Search'), 1000)
|
|
63
59
|
} finally {
|
|
64
60
|
if (driver) {
|
|
65
|
-
await driver.quit()
|
|
61
|
+
await driver.quit()
|
|
66
62
|
}
|
|
67
63
|
}
|
|
68
|
-
})()
|
|
64
|
+
})()
|