selenium-webdriver 3.0.0-beta-1 → 3.0.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 +109 -0
- package/LICENSE +1 -1
- package/README.md +7 -6
- package/chrome.js +31 -128
- package/edge.js +13 -91
- package/example/chrome_android.js +18 -13
- package/example/chrome_mobile_emulation.js +19 -15
- package/example/google_search.js +11 -11
- package/example/google_search_generator.js +23 -18
- package/example/google_search_test.js +31 -17
- package/example/logging.js +9 -17
- package/example/parallel_flows.js +3 -0
- package/firefox/binary.js +17 -0
- package/firefox/index.js +198 -101
- package/firefox/profile.js +24 -3
- package/http/util.js +95 -59
- package/ie.js +6 -10
- package/index.js +636 -2
- package/lib/actions.js +18 -10
- package/lib/atoms/getAttribute.js +11 -0
- package/lib/atoms/isDisplayed.js +106 -0
- package/lib/firefox/amd64/libnoblur64.so +0 -0
- package/lib/firefox/i386/libnoblur.so +0 -0
- package/lib/firefox/webdriver.xpi +0 -0
- package/lib/http.js +159 -46
- package/lib/logging.js +7 -1
- package/lib/promise.js +602 -358
- package/lib/proxy.js +28 -0
- package/lib/session.js +1 -1
- package/lib/test/build.js +26 -28
- package/lib/test/data/formPage.html +1 -0
- package/lib/test/fileserver.js +12 -10
- package/lib/test/httpserver.js +4 -6
- package/lib/test/index.js +18 -11
- package/lib/test/promise.js +79 -0
- package/lib/webdriver.js +587 -479
- package/opera.js +12 -88
- package/package.json +13 -14
- package/phantomjs.js +7 -14
- package/remote/index.js +201 -30
- package/safari.js +62 -416
- package/test/actions_test.js +9 -11
- package/test/chrome/options_test.js +8 -8
- package/test/chrome/service_test.js +2 -2
- package/test/cookie_test.js +57 -57
- package/test/element_finding_test.js +201 -185
- package/test/execute_script_test.js +108 -111
- package/test/fingerprint_test.js +16 -11
- package/test/firefox/firefox_test.js +75 -49
- package/test/firefox/profile_test.js +1 -3
- package/test/http/util_test.js +21 -27
- package/test/io_test.js +2 -5
- package/test/lib/http_test.js +8 -6
- package/test/lib/promise_aplus_test.js +48 -44
- package/test/lib/promise_error_test.js +687 -611
- package/test/lib/promise_flow_test.js +1810 -1806
- package/test/lib/promise_generator_test.js +227 -225
- package/test/lib/promise_test.js +864 -835
- package/test/lib/until_test.js +1 -1
- package/test/lib/webdriver_test.js +520 -424
- package/test/logging_test.js +43 -45
- package/test/net/portprober_test.js +23 -24
- package/test/page_loading_test.js +84 -78
- package/test/phantomjs/execute_phantomjs_test.js +11 -25
- package/test/proxy_test.js +23 -23
- package/test/remote_test.js +22 -22
- package/test/safari_test.js +108 -0
- package/test/session_test.js +11 -10
- package/test/stale_element_test.js +18 -16
- package/test/tag_name_test.js +7 -5
- package/test/testing/assert_test.js +2 -3
- package/test/testing/index_test.js +163 -117
- package/test/upload_test.js +13 -13
- package/test/window_test.js +94 -70
- package/testing/index.js +176 -37
- package/builder.js +0 -553
- package/lib/safari/client.js +0 -56
package/test/cookie_test.js
CHANGED
|
@@ -29,126 +29,127 @@ var test = require('../lib/test'),
|
|
|
29
29
|
test.suite(function(env) {
|
|
30
30
|
var driver;
|
|
31
31
|
|
|
32
|
-
test.before(function() {
|
|
33
|
-
driver = env.builder().build();
|
|
32
|
+
test.before(function*() {
|
|
33
|
+
driver = yield env.builder().build();
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
test.after(function() {
|
|
37
|
-
driver.quit();
|
|
37
|
+
return driver.quit();
|
|
38
38
|
});
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
// Cookie handling is broken.
|
|
41
|
+
test.ignore(env.browsers(Browser.PHANTOM_JS, Browser.SAFARI)).
|
|
41
42
|
describe('Cookie Management;', function() {
|
|
42
43
|
|
|
43
|
-
test.beforeEach(function() {
|
|
44
|
-
driver.get(fileserver.Pages.ajaxyPage);
|
|
45
|
-
driver.manage().deleteAllCookies();
|
|
46
|
-
assertHasCookies();
|
|
44
|
+
test.beforeEach(function*() {
|
|
45
|
+
yield driver.get(fileserver.Pages.ajaxyPage);
|
|
46
|
+
yield driver.manage().deleteAllCookies();
|
|
47
|
+
return assertHasCookies();
|
|
47
48
|
});
|
|
48
49
|
|
|
49
|
-
test.it('can add new cookies', function() {
|
|
50
|
+
test.it('can add new cookies', function*() {
|
|
50
51
|
var cookie = createCookieSpec();
|
|
51
52
|
|
|
52
|
-
driver.manage().addCookie(cookie);
|
|
53
|
-
driver.manage().getCookie(cookie.name).then(function(actual) {
|
|
53
|
+
yield driver.manage().addCookie(cookie);
|
|
54
|
+
yield driver.manage().getCookie(cookie.name).then(function(actual) {
|
|
54
55
|
assert.equal(actual.value, cookie.value);
|
|
55
56
|
});
|
|
56
57
|
});
|
|
57
58
|
|
|
58
|
-
test.it('can get all cookies', function() {
|
|
59
|
+
test.it('can get all cookies', function*() {
|
|
59
60
|
var cookie1 = createCookieSpec();
|
|
60
61
|
var cookie2 = createCookieSpec();
|
|
61
62
|
|
|
62
|
-
driver.manage().addCookie(cookie1);
|
|
63
|
-
driver.manage().addCookie(cookie2);
|
|
63
|
+
yield driver.manage().addCookie(cookie1);
|
|
64
|
+
yield driver.manage().addCookie(cookie2);
|
|
64
65
|
|
|
65
|
-
assertHasCookies(cookie1, cookie2);
|
|
66
|
+
return assertHasCookies(cookie1, cookie2);
|
|
66
67
|
});
|
|
67
68
|
|
|
68
69
|
test.ignore(env.browsers(Browser.IE)).
|
|
69
|
-
it('only returns cookies visible to the current page', function() {
|
|
70
|
+
it('only returns cookies visible to the current page', function*() {
|
|
70
71
|
var cookie1 = createCookieSpec();
|
|
71
72
|
|
|
72
|
-
driver.manage().addCookie(cookie1);
|
|
73
|
+
yield driver.manage().addCookie(cookie1);
|
|
73
74
|
|
|
74
75
|
var pageUrl = fileserver.whereIs('page/1');
|
|
75
76
|
var cookie2 = createCookieSpec({
|
|
76
77
|
path: url.parse(pageUrl).pathname
|
|
77
78
|
});
|
|
78
|
-
driver.get(pageUrl);
|
|
79
|
-
driver.manage().addCookie(cookie2);
|
|
80
|
-
assertHasCookies(cookie1, cookie2);
|
|
79
|
+
yield driver.get(pageUrl);
|
|
80
|
+
yield driver.manage().addCookie(cookie2);
|
|
81
|
+
yield assertHasCookies(cookie1, cookie2);
|
|
81
82
|
|
|
82
|
-
driver.get(fileserver.Pages.ajaxyPage);
|
|
83
|
-
assertHasCookies(cookie1);
|
|
83
|
+
yield driver.get(fileserver.Pages.ajaxyPage);
|
|
84
|
+
yield assertHasCookies(cookie1);
|
|
84
85
|
|
|
85
|
-
driver.get(pageUrl);
|
|
86
|
-
assertHasCookies(cookie1, cookie2);
|
|
86
|
+
yield driver.get(pageUrl);
|
|
87
|
+
yield assertHasCookies(cookie1, cookie2);
|
|
87
88
|
});
|
|
88
89
|
|
|
89
|
-
test.it('can delete all cookies', function() {
|
|
90
|
+
test.it('can delete all cookies', function*() {
|
|
90
91
|
var cookie1 = createCookieSpec();
|
|
91
92
|
var cookie2 = createCookieSpec();
|
|
92
93
|
|
|
93
|
-
driver.executeScript(
|
|
94
|
+
yield driver.executeScript(
|
|
94
95
|
'document.cookie = arguments[0] + "=" + arguments[1];' +
|
|
95
96
|
'document.cookie = arguments[2] + "=" + arguments[3];',
|
|
96
97
|
cookie1.name, cookie1.value, cookie2.name, cookie2.value);
|
|
97
|
-
assertHasCookies(cookie1, cookie2);
|
|
98
|
+
yield assertHasCookies(cookie1, cookie2);
|
|
98
99
|
|
|
99
|
-
driver.manage().deleteAllCookies();
|
|
100
|
-
assertHasCookies();
|
|
100
|
+
yield driver.manage().deleteAllCookies();
|
|
101
|
+
yield assertHasCookies();
|
|
101
102
|
});
|
|
102
103
|
|
|
103
|
-
test.it('can delete cookies by name', function() {
|
|
104
|
+
test.it('can delete cookies by name', function*() {
|
|
104
105
|
var cookie1 = createCookieSpec();
|
|
105
106
|
var cookie2 = createCookieSpec();
|
|
106
107
|
|
|
107
|
-
driver.executeScript(
|
|
108
|
+
yield driver.executeScript(
|
|
108
109
|
'document.cookie = arguments[0] + "=" + arguments[1];' +
|
|
109
110
|
'document.cookie = arguments[2] + "=" + arguments[3];',
|
|
110
111
|
cookie1.name, cookie1.value, cookie2.name, cookie2.value);
|
|
111
|
-
assertHasCookies(cookie1, cookie2);
|
|
112
|
+
yield assertHasCookies(cookie1, cookie2);
|
|
112
113
|
|
|
113
|
-
driver.manage().deleteCookie(cookie1.name);
|
|
114
|
-
assertHasCookies(cookie2);
|
|
114
|
+
yield driver.manage().deleteCookie(cookie1.name);
|
|
115
|
+
yield assertHasCookies(cookie2);
|
|
115
116
|
});
|
|
116
117
|
|
|
117
|
-
test.it('should only delete cookie with exact name', function() {
|
|
118
|
+
test.it('should only delete cookie with exact name', function*() {
|
|
118
119
|
var cookie1 = createCookieSpec();
|
|
119
120
|
var cookie2 = createCookieSpec();
|
|
120
121
|
var cookie3 = {name: cookie1.name + 'xx', value: cookie1.value};
|
|
121
122
|
|
|
122
|
-
driver.executeScript(
|
|
123
|
+
yield driver.executeScript(
|
|
123
124
|
'document.cookie = arguments[0] + "=" + arguments[1];' +
|
|
124
125
|
'document.cookie = arguments[2] + "=" + arguments[3];' +
|
|
125
126
|
'document.cookie = arguments[4] + "=" + arguments[5];',
|
|
126
127
|
cookie1.name, cookie1.value, cookie2.name, cookie2.value,
|
|
127
128
|
cookie3.name, cookie3.value);
|
|
128
|
-
assertHasCookies(cookie1, cookie2, cookie3);
|
|
129
|
+
yield assertHasCookies(cookie1, cookie2, cookie3);
|
|
129
130
|
|
|
130
|
-
driver.manage().deleteCookie(cookie1.name);
|
|
131
|
-
assertHasCookies(cookie2, cookie3);
|
|
131
|
+
yield driver.manage().deleteCookie(cookie1.name);
|
|
132
|
+
yield assertHasCookies(cookie2, cookie3);
|
|
132
133
|
});
|
|
133
134
|
|
|
134
|
-
test.it('can delete cookies set higher in the path', function() {
|
|
135
|
+
test.it('can delete cookies set higher in the path', function*() {
|
|
135
136
|
var cookie = createCookieSpec();
|
|
136
137
|
var childUrl = fileserver.whereIs('child/childPage.html');
|
|
137
138
|
var grandchildUrl = fileserver.whereIs(
|
|
138
139
|
'child/grandchild/grandchildPage.html');
|
|
139
140
|
|
|
140
|
-
driver.get(childUrl);
|
|
141
|
-
driver.manage().addCookie(cookie);
|
|
142
|
-
assertHasCookies(cookie);
|
|
141
|
+
yield driver.get(childUrl);
|
|
142
|
+
yield driver.manage().addCookie(cookie);
|
|
143
|
+
yield assertHasCookies(cookie);
|
|
143
144
|
|
|
144
|
-
driver.get(grandchildUrl);
|
|
145
|
-
assertHasCookies(cookie);
|
|
145
|
+
yield driver.get(grandchildUrl);
|
|
146
|
+
yield assertHasCookies(cookie);
|
|
146
147
|
|
|
147
|
-
driver.manage().deleteCookie(cookie.name);
|
|
148
|
-
assertHasCookies();
|
|
148
|
+
yield driver.manage().deleteCookie(cookie.name);
|
|
149
|
+
yield assertHasCookies();
|
|
149
150
|
|
|
150
|
-
driver.get(childUrl);
|
|
151
|
-
assertHasCookies();
|
|
151
|
+
yield driver.get(childUrl);
|
|
152
|
+
yield assertHasCookies();
|
|
152
153
|
});
|
|
153
154
|
|
|
154
155
|
test.ignore(env.browsers(
|
|
@@ -156,20 +157,20 @@ test.suite(function(env) {
|
|
|
156
157
|
Browser.FIREFOX,
|
|
157
158
|
'legacy-' + Browser.FIREFOX,
|
|
158
159
|
Browser.IE)).
|
|
159
|
-
it('should retain cookie expiry', function() {
|
|
160
|
+
it('should retain cookie expiry', function*() {
|
|
160
161
|
let expirationDelay = 5 * 1000;
|
|
161
162
|
let expiry = new Date(Date.now() + expirationDelay);
|
|
162
163
|
let cookie = createCookieSpec({expiry});
|
|
163
164
|
|
|
164
|
-
driver.manage().addCookie(cookie);
|
|
165
|
-
driver.manage().getCookie(cookie.name).then(function(actual) {
|
|
165
|
+
yield driver.manage().addCookie(cookie);
|
|
166
|
+
yield driver.manage().getCookie(cookie.name).then(function(actual) {
|
|
166
167
|
assert.equal(actual.value, cookie.value);
|
|
167
168
|
// expiry times are exchanged in seconds since January 1, 1970 UTC.
|
|
168
169
|
assert.equal(actual.expiry, Math.floor(expiry.getTime() / 1000));
|
|
169
170
|
});
|
|
170
171
|
|
|
171
|
-
driver.sleep(expirationDelay);
|
|
172
|
-
assertHasCookies();
|
|
172
|
+
yield driver.sleep(expirationDelay);
|
|
173
|
+
yield assertHasCookies();
|
|
173
174
|
});
|
|
174
175
|
});
|
|
175
176
|
|
|
@@ -192,9 +193,8 @@ test.suite(function(env) {
|
|
|
192
193
|
return map;
|
|
193
194
|
}
|
|
194
195
|
|
|
195
|
-
function assertHasCookies(
|
|
196
|
-
|
|
197
|
-
driver.manage().getCookies().then(function(cookies) {
|
|
196
|
+
function assertHasCookies(...expected) {
|
|
197
|
+
return driver.manage().getCookies().then(function(cookies) {
|
|
198
198
|
assert.equal(cookies.length, expected.length,
|
|
199
199
|
'Wrong # of cookies.' +
|
|
200
200
|
'\n Expected: ' + JSON.stringify(expected) +
|