@serenity-js/protractor 3.0.0-rc.30 → 3.0.0-rc.32
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/CHANGELOG.md +20 -0
- package/lib/screenplay/models/ProtractorCookie.d.ts.map +1 -1
- package/lib/screenplay/models/ProtractorCookie.js +2 -2
- package/lib/screenplay/models/ProtractorCookie.js.map +1 -1
- package/lib/screenplay/models/ProtractorPage.d.ts.map +1 -1
- package/lib/screenplay/models/ProtractorPage.js +26 -26
- package/lib/screenplay/models/ProtractorPage.js.map +1 -1
- package/lib/screenplay/models/ProtractorPageElement.d.ts.map +1 -1
- package/lib/screenplay/models/ProtractorPageElement.js +29 -22
- package/lib/screenplay/models/ProtractorPageElement.js.map +1 -1
- package/package.json +10 -10
- package/src/screenplay/models/ProtractorCookie.ts +2 -2
- package/src/screenplay/models/ProtractorPage.ts +26 -26
- package/src/screenplay/models/ProtractorPageElement.ts +32 -24
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.0.0-rc.32](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.31...v3.0.0-rc.32) (2022-10-12)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @serenity-js/protractor
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.0.0-rc.31](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.30...v3.0.0-rc.31) (2022-10-07)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **protractor:** standardised Web model APIs to always use async/await ([e8298dd](https://github.com/serenity-js/serenity-js/commit/e8298dd5e3c5da72695f356c225f7141039e0401))
|
|
20
|
+
* **web:** interaction to Clear.theValueOf(field) triggers compatible events for all web tools ([ee6c112](https://github.com/serenity-js/serenity-js/commit/ee6c112f0dbfd4fe78ee1a8793ef6be49be803f5)), closes [#1329](https://github.com/serenity-js/serenity-js/issues/1329)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
6
26
|
# [3.0.0-rc.30](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.29...v3.0.0-rc.30) (2022-10-05)
|
|
7
27
|
|
|
8
28
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorCookie.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorCookie.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAsB,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAK/C;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,MAAM;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"ProtractorCookie.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorCookie.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAsB,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAK/C;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,MAAM;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM;IAKrE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B;;OAEG;cACa,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;CAmB9C"}
|
|
@@ -16,8 +16,8 @@ class ProtractorCookie extends web_1.Cookie {
|
|
|
16
16
|
this.browser = browser;
|
|
17
17
|
(0, tiny_types_1.ensure)('browser', browser, (0, tiny_types_1.isDefined)());
|
|
18
18
|
}
|
|
19
|
-
delete() {
|
|
20
|
-
return (0, promised_1.promised)(this.browser.manage().deleteCookie(this.cookieName));
|
|
19
|
+
async delete() {
|
|
20
|
+
return await (0, promised_1.promised)(this.browser.manage().deleteCookie(this.cookieName));
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* @protected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorCookie.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorCookie.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,0CAA0E;AAE1E,2CAA+C;AAE/C,0CAAuC;AAEvC;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,YAAM;IAExC,YAA6B,OAA0B,EAAE,UAAkB;QACvE,KAAK,CAAC,UAAU,CAAC,CAAC;QADO,YAAO,GAAP,OAAO,CAAmB;QAEnD,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM;
|
|
1
|
+
{"version":3,"file":"ProtractorCookie.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorCookie.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,0CAA0E;AAE1E,2CAA+C;AAE/C,0CAAuC;AAEvC;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,YAAM;IAExC,YAA6B,OAA0B,EAAE,UAAkB;QACvE,KAAK,CAAC,UAAU,CAAC,CAAC;QADO,YAAO,GAAP,OAAO,CAAmB;QAEnD,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM;QACR,OAAO,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,IAAI;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,CAAE,MAAM,EAAE;YACV,MAAM,IAAI,wBAAkB,CAAC,WAAY,IAAI,CAAC,UAAW,WAAW,CAAC,CAAC;SACzE;QAED,OAAO;YACH,IAAI,EAAQ,MAAM,CAAC,IAAI;YACvB,KAAK,EAAO,MAAM,CAAC,KAAK;YACxB,MAAM,EAAM,MAAM,CAAC,MAAM;YACzB,IAAI,EAAQ,MAAM,CAAC,IAAI;YACvB,MAAM,EAAM,MAAM,CAAC,MAAM,KAAK,SAAS;gBACnC,CAAC,CAAC,gBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7D,CAAC,CAAC,SAAS;YACf,QAAQ,EAAI,MAAM,CAAC,QAAQ;YAC3B,MAAM,EAAM,MAAM,CAAC,MAAM;SAC5B,CAAA;IACL,CAAC;CACJ;AAjCD,4CAiCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorPage.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPage.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAA4B,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpJ,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,IAAI,CAAC,aAAa,CAAC;IAS/C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,YAAY;IATjC;;OAEG;IACH,OAAO,CAAC,0BAA0B,CAA6B;gBAG3D,OAAO,EAAE,yBAAyB,EACjB,OAAO,EAAE,iBAAiB,EAC3C,kBAAkB,EAAE,kBAAkB,EACrB,YAAY,EAAE,sBAAsB,EACrD,MAAM,EAAE,aAAa;IAUzB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC;IAMtD,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC;IAM1D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;
|
|
1
|
+
{"version":3,"file":"ProtractorPage.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPage.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,28 +49,28 @@ class ProtractorPage extends web_1.Page {
|
|
|
49
49
|
*
|
|
50
50
|
* @param enable
|
|
51
51
|
*/
|
|
52
|
-
enableAngularSynchronisation(enable) {
|
|
53
|
-
return this.inContextOfThisPage(() => {
|
|
52
|
+
async enableAngularSynchronisation(enable) {
|
|
53
|
+
return await this.inContextOfThisPage(() => {
|
|
54
54
|
return (0, promised_1.promised)(this.browser.waitForAngularEnabled(enable));
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
-
navigateTo(destination) {
|
|
58
|
-
return this.inContextOfThisPage(() => {
|
|
57
|
+
async navigateTo(destination) {
|
|
58
|
+
return await this.inContextOfThisPage(() => {
|
|
59
59
|
return (0, promised_1.promised)(this.browser.get(destination));
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
-
navigateBack() {
|
|
63
|
-
return this.inContextOfThisPage(() => {
|
|
62
|
+
async navigateBack() {
|
|
63
|
+
return await this.inContextOfThisPage(() => {
|
|
64
64
|
return (0, promised_1.promised)(this.browser.navigate().back());
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
|
-
navigateForward() {
|
|
68
|
-
return this.inContextOfThisPage(() => {
|
|
67
|
+
async navigateForward() {
|
|
68
|
+
return await this.inContextOfThisPage(() => {
|
|
69
69
|
return (0, promised_1.promised)(this.browser.navigate().forward());
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
-
reload() {
|
|
73
|
-
return this.inContextOfThisPage(() => {
|
|
72
|
+
async reload() {
|
|
73
|
+
return await this.inContextOfThisPage(() => {
|
|
74
74
|
return (0, promised_1.promised)(this.browser.navigate().refresh());
|
|
75
75
|
});
|
|
76
76
|
}
|
|
@@ -84,7 +84,7 @@ class ProtractorPage extends web_1.Page {
|
|
|
84
84
|
}
|
|
85
85
|
return maybeKey.utf16codePoint;
|
|
86
86
|
}
|
|
87
|
-
return this.inContextOfThisPage(() => {
|
|
87
|
+
return await this.inContextOfThisPage(() => {
|
|
88
88
|
// keyDown for any modifier keys and sendKeys otherwise
|
|
89
89
|
const keyDownActions = keys.reduce((actions, key) => {
|
|
90
90
|
return isModifier(key)
|
|
@@ -138,10 +138,10 @@ class ProtractorPage extends web_1.Page {
|
|
|
138
138
|
? this.lastScriptExecutionSummary.result
|
|
139
139
|
: undefined;
|
|
140
140
|
}
|
|
141
|
-
takeScreenshot() {
|
|
142
|
-
return this.inContextOfThisPage(
|
|
141
|
+
async takeScreenshot() {
|
|
142
|
+
return await this.inContextOfThisPage(() => {
|
|
143
143
|
try {
|
|
144
|
-
return
|
|
144
|
+
return (0, promised_1.promised)(this.browser.takeScreenshot());
|
|
145
145
|
}
|
|
146
146
|
catch (error) {
|
|
147
147
|
if (error.name && error.name === 'NoSuchSessionError') {
|
|
@@ -155,7 +155,7 @@ class ProtractorPage extends web_1.Page {
|
|
|
155
155
|
return new ProtractorCookie_1.ProtractorCookie(this.browser, name);
|
|
156
156
|
}
|
|
157
157
|
async setCookie(cookieData) {
|
|
158
|
-
return this.inContextOfThisPage(() => {
|
|
158
|
+
return await this.inContextOfThisPage(() => {
|
|
159
159
|
return (0, promised_1.promised)(this.browser.manage().addCookie({
|
|
160
160
|
name: cookieData.name,
|
|
161
161
|
value: cookieData.value,
|
|
@@ -169,28 +169,28 @@ class ProtractorPage extends web_1.Page {
|
|
|
169
169
|
}));
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
|
-
deleteAllCookies() {
|
|
173
|
-
return this.inContextOfThisPage(() => {
|
|
172
|
+
async deleteAllCookies() {
|
|
173
|
+
return await this.inContextOfThisPage(() => {
|
|
174
174
|
return (0, promised_1.promised)(this.browser.manage().deleteAllCookies());
|
|
175
175
|
});
|
|
176
176
|
}
|
|
177
|
-
title() {
|
|
178
|
-
return this.inContextOfThisPage(() => {
|
|
177
|
+
async title() {
|
|
178
|
+
return await this.inContextOfThisPage(() => {
|
|
179
179
|
return (0, promised_1.promised)(this.browser.getTitle());
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
|
-
name() {
|
|
183
|
-
return this.inContextOfThisPage(() => {
|
|
182
|
+
async name() {
|
|
183
|
+
return await this.inContextOfThisPage(() => {
|
|
184
184
|
return (0, promised_1.promised)(this.browser.executeScript('return window.name'));
|
|
185
185
|
});
|
|
186
186
|
}
|
|
187
|
-
url() {
|
|
188
|
-
return this.inContextOfThisPage(async () => {
|
|
187
|
+
async url() {
|
|
188
|
+
return await this.inContextOfThisPage(async () => {
|
|
189
189
|
return new url_1.URL(await (0, promised_1.promised)(this.browser.getCurrentUrl()));
|
|
190
190
|
});
|
|
191
191
|
}
|
|
192
192
|
async viewportSize() {
|
|
193
|
-
return this.inContextOfThisPage(async () => {
|
|
193
|
+
return await this.inContextOfThisPage(async () => {
|
|
194
194
|
const calculatedViewportSize = await (0, promised_1.promised)(this.browser.executeScript(`return {
|
|
195
195
|
width: Math.max(document.documentElement.clientWidth, window.innerWidth || 0),
|
|
196
196
|
height: Math.max(document.documentElement.clientHeight, window.innerHeight || 0)
|
|
@@ -199,11 +199,11 @@ class ProtractorPage extends web_1.Page {
|
|
|
199
199
|
return calculatedViewportSize;
|
|
200
200
|
}
|
|
201
201
|
// Chrome headless hard-codes window.innerWidth and window.innerHeight to 0
|
|
202
|
-
return (0, promised_1.promised)(this.browser.manage().window().getSize());
|
|
202
|
+
return await (0, promised_1.promised)(this.browser.manage().window().getSize());
|
|
203
203
|
});
|
|
204
204
|
}
|
|
205
205
|
async setViewportSize(size) {
|
|
206
|
-
return this.inContextOfThisPage(async () => {
|
|
206
|
+
return await this.inContextOfThisPage(async () => {
|
|
207
207
|
const desiredWindowSize = await (0, promised_1.promised)(this.browser.executeScript(`
|
|
208
208
|
var currentViewportWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)
|
|
209
209
|
var currentViewportHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorPage.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPage.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAE/C,0CAAoJ;AAEpJ,6BAA0B;AAE1B,0CAAuC;AACvC,yCAAsE;AAEtE,yDAAsD;AAEtD,mEAAgE;AAEhE;;;;GAIG;AACH,MAAa,cAAe,SAAQ,UAAmB;IAOnD,YACI,OAAkC,EACjB,OAA0B,EAC3C,kBAAsC,EACrB,YAAoC,EACrD,MAAqB;QAErB,KAAK,CACD,OAAO,EACP,IAAI,gCAAqB,CAAC,OAAO,CAAC,EAClC,kBAAkB,EAClB,MAAM,CACT,CAAC;QAVe,YAAO,GAAP,OAAO,CAAmB;QAE1B,iBAAY,GAAZ,YAAY,CAAwB;IASzD,CAAC;IAED,MAAM,CAAC,QAAkB;QACrB,OAAO,IAAI,6CAAqB,CAC5B,IAAI,4BAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CACvE,CAAA;IACL,CAAC;IAED,SAAS,CAAC,QAAkB;QACxB,OAAO,IAAI,kBAAY,CACnB,IAAI,4BAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CACvE,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,4BAA4B,CAAC,MAAe;
|
|
1
|
+
{"version":3,"file":"ProtractorPage.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorPageElement.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPageElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAM,aAAa,EAAc,MAAM,YAAY,CAAC;AAM3D;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,WAAW,CAAC,aAAa,CAAC;IAEjE,EAAE,CAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW,CAAC,aAAa,CAAC;IAIvD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ProtractorPageElement.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPageElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAM,aAAa,EAAc,MAAM,YAAY,CAAC;AAM3D;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,WAAW,CAAC,aAAa,CAAC;IAEjE,EAAE,CAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW,CAAC,aAAa,CAAC;IAIvD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1E,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,aAAa,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxD,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IA8B1C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMxC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAMvB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAaxB,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAoCrC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAM7B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAM7B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAM9B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAyBtC"}
|
|
@@ -39,15 +39,22 @@ class ProtractorPageElement extends web_1.PageElement {
|
|
|
39
39
|
return new ProtractorPageElement(this.locator.of(parent.locator));
|
|
40
40
|
}
|
|
41
41
|
async clearValue() {
|
|
42
|
-
async function removeCharactersFrom(elf, numberOfCharacters) {
|
|
43
|
-
if (numberOfCharacters > 0) {
|
|
44
|
-
await elf.sendKeys(protractor_1.protractor.Key.END, ...times(numberOfCharacters, protractor_1.protractor.Key.BACK_SPACE));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
42
|
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
48
43
|
function times(length, key) {
|
|
49
44
|
return Array.from({ length }).map(() => key);
|
|
50
45
|
}
|
|
46
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
47
|
+
async function focusOn(element) {
|
|
48
|
+
const webElement = await element.getWebElement();
|
|
49
|
+
await (0, promised_1.promised)(webElement.getDriver().executeScript(`arguments[0].focus()`, webElement));
|
|
50
|
+
}
|
|
51
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
52
|
+
async function removeCharactersFrom(elf, numberOfCharacters) {
|
|
53
|
+
if (numberOfCharacters > 0) {
|
|
54
|
+
await focusOn(elf);
|
|
55
|
+
await elf.sendKeys(protractor_1.protractor.Key.HOME, ...times(numberOfCharacters, protractor_1.protractor.Key.DELETE));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
51
58
|
const value = await this.value();
|
|
52
59
|
const hasValue = value !== null && value !== undefined;
|
|
53
60
|
const element = await this.nativeElement();
|
|
@@ -63,36 +70,36 @@ class ProtractorPageElement extends web_1.PageElement {
|
|
|
63
70
|
}
|
|
64
71
|
async click() {
|
|
65
72
|
const element = await this.nativeElement();
|
|
66
|
-
|
|
73
|
+
await (0, promised_1.promised)(element.click());
|
|
67
74
|
}
|
|
68
75
|
async doubleClick() {
|
|
69
76
|
const element = await this.nativeElement();
|
|
70
77
|
const webElement = await element.getWebElement();
|
|
71
|
-
|
|
78
|
+
await (0, promised_1.promised)(webElement.getDriver().actions()
|
|
72
79
|
.mouseMove(webElement)
|
|
73
80
|
.doubleClick()
|
|
74
81
|
.perform());
|
|
75
82
|
}
|
|
76
83
|
async enterValue(value) {
|
|
77
84
|
const element = await this.nativeElement();
|
|
78
|
-
|
|
85
|
+
await (0, promised_1.promised)(element.sendKeys([].concat(value).join('')));
|
|
79
86
|
}
|
|
80
87
|
async scrollIntoView() {
|
|
81
88
|
const element = await this.nativeElement();
|
|
82
89
|
const webElement = await element.getWebElement();
|
|
83
|
-
|
|
90
|
+
await (0, promised_1.promised)(webElement.getDriver().executeScript('arguments[0].scrollIntoView(true);', webElement));
|
|
84
91
|
}
|
|
85
92
|
async hoverOver() {
|
|
86
93
|
const element = await this.nativeElement();
|
|
87
94
|
const webElement = await element.getWebElement();
|
|
88
|
-
|
|
95
|
+
await (0, promised_1.promised)(webElement.getDriver().actions()
|
|
89
96
|
.mouseMove(webElement)
|
|
90
97
|
.perform());
|
|
91
98
|
}
|
|
92
99
|
async rightClick() {
|
|
93
100
|
const element = await this.nativeElement();
|
|
94
101
|
const webElement = await element.getWebElement();
|
|
95
|
-
|
|
102
|
+
await (0, promised_1.promised)(webElement.getDriver().actions()
|
|
96
103
|
.mouseMove(webElement)
|
|
97
104
|
.click(protractor_1.protractor.Button.RIGHT)
|
|
98
105
|
.perform());
|
|
@@ -130,16 +137,16 @@ class ProtractorPageElement extends web_1.PageElement {
|
|
|
130
137
|
}
|
|
131
138
|
async attribute(name) {
|
|
132
139
|
const element = await this.nativeElement();
|
|
133
|
-
return (0, promised_1.promised)(element.getAttribute(name));
|
|
140
|
+
return await (0, promised_1.promised)(element.getAttribute(name));
|
|
134
141
|
}
|
|
135
142
|
async text() {
|
|
136
143
|
const element = await this.nativeElement();
|
|
137
|
-
return (0, promised_1.promised)(element.getText());
|
|
144
|
+
return await (0, promised_1.promised)(element.getText());
|
|
138
145
|
}
|
|
139
146
|
async value() {
|
|
140
147
|
const element = await this.nativeElement();
|
|
141
148
|
const webElement = await element.getWebElement();
|
|
142
|
-
return (0, promised_1.promised)(webElement.getDriver().executeScript(
|
|
149
|
+
return await (0, promised_1.promised)(webElement.getDriver().executeScript(
|
|
143
150
|
/* istanbul ignore next */
|
|
144
151
|
function getValue(webElement) {
|
|
145
152
|
return webElement.value;
|
|
@@ -162,8 +169,8 @@ class ProtractorPageElement extends web_1.PageElement {
|
|
|
162
169
|
// https://github.com/angular/protractor/issues/1846#issuecomment-82634739;
|
|
163
170
|
const webElement = await element.getWebElement();
|
|
164
171
|
// focus on element
|
|
165
|
-
const previouslyFocusedElement = await webElement.getDriver().switchTo().activeElement();
|
|
166
|
-
await webElement.getDriver().executeScript(`arguments[0].focus()`, webElement);
|
|
172
|
+
const previouslyFocusedElement = await (0, promised_1.promised)(webElement.getDriver().switchTo().activeElement());
|
|
173
|
+
await (0, promised_1.promised)(webElement.getDriver().executeScript(`arguments[0].focus()`, webElement));
|
|
167
174
|
return {
|
|
168
175
|
switchBack: async () => {
|
|
169
176
|
await (0, promised_1.promised)(webElement.getDriver().executeScript(`arguments[0].focus()`, previouslyFocusedElement));
|
|
@@ -178,22 +185,22 @@ class ProtractorPageElement extends web_1.PageElement {
|
|
|
178
185
|
async isActive() {
|
|
179
186
|
const element = await this.nativeElement();
|
|
180
187
|
const webElement = await element.getWebElement();
|
|
181
|
-
return (0, promised_1.promised)(webElement.getDriver().switchTo().activeElement().then((active) => element.equals(active)));
|
|
188
|
+
return await (0, promised_1.promised)(webElement.getDriver().switchTo().activeElement().then((active) => element.equals(active)));
|
|
182
189
|
}
|
|
183
190
|
async isClickable() {
|
|
184
|
-
return this.isEnabled();
|
|
191
|
+
return await this.isEnabled();
|
|
185
192
|
}
|
|
186
193
|
async isEnabled() {
|
|
187
194
|
const element = await this.nativeElement();
|
|
188
|
-
return (0, promised_1.promised)(element.isEnabled());
|
|
195
|
+
return await (0, promised_1.promised)(element.isEnabled());
|
|
189
196
|
}
|
|
190
197
|
async isPresent() {
|
|
191
198
|
const element = await this.nativeElement();
|
|
192
|
-
return (0, promised_1.promised)(element.isPresent());
|
|
199
|
+
return await (0, promised_1.promised)(element.isPresent());
|
|
193
200
|
}
|
|
194
201
|
async isSelected() {
|
|
195
202
|
const element = await this.nativeElement();
|
|
196
|
-
return (0, promised_1.promised)(element.isSelected());
|
|
203
|
+
return await (0, promised_1.promised)(element.isSelected());
|
|
197
204
|
}
|
|
198
205
|
async isVisible() {
|
|
199
206
|
try {
|
|
@@ -203,7 +210,7 @@ class ProtractorPageElement extends web_1.PageElement {
|
|
|
203
210
|
}
|
|
204
211
|
const webElement = await element.getWebElement();
|
|
205
212
|
// get element at cx/cy and see if the element we found is our element, and therefore it's visible.
|
|
206
|
-
return (0, promised_1.promised)(webElement.getDriver().executeScript(scripts.isVisible, webElement));
|
|
213
|
+
return await (0, promised_1.promised)(webElement.getDriver().executeScript(scripts.isVisible, webElement));
|
|
207
214
|
}
|
|
208
215
|
catch (error) {
|
|
209
216
|
if (error.name === 'NoSuchElementError') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtractorPageElement.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPageElement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA+C;AAC/C,0CAA+E;AAC/E,sEAAwD;AACxD,2CAA2D;AAG3D,0CAAuC;AAGvC;;;;GAIG;AACH,MAAa,qBAAsB,SAAQ,iBAA0B;IAEjE,EAAE,CAAC,MAA6B;QAC5B,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,KAAK,
|
|
1
|
+
{"version":3,"file":"ProtractorPageElement.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPageElement.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serenity-js/protractor",
|
|
3
|
-
"version": "3.0.0-rc.
|
|
3
|
+
"version": "3.0.0-rc.32",
|
|
4
4
|
"description": "Test your web apps with Serenity/JS",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"npm": "^6 || ^7 || ^8"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@serenity-js/assertions": "3.0.0-rc.
|
|
52
|
-
"@serenity-js/core": "3.0.0-rc.
|
|
51
|
+
"@serenity-js/assertions": "3.0.0-rc.32",
|
|
52
|
+
"@serenity-js/core": "3.0.0-rc.32",
|
|
53
53
|
"deepmerge": "^4.2.2",
|
|
54
54
|
"query-selector-shadow-dom": "^1.0.0",
|
|
55
55
|
"selenium-webdriver": "^3.6.0",
|
|
@@ -74,12 +74,12 @@
|
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@integration/testing-tools": "3.0.0",
|
|
77
|
-
"@serenity-js/cucumber": "3.0.0-rc.
|
|
78
|
-
"@serenity-js/jasmine": "3.0.0-rc.
|
|
79
|
-
"@serenity-js/local-server": "3.0.0-rc.
|
|
80
|
-
"@serenity-js/mocha": "3.0.0-rc.
|
|
81
|
-
"@serenity-js/rest": "3.0.0-rc.
|
|
82
|
-
"@serenity-js/web": "3.0.0-rc.
|
|
77
|
+
"@serenity-js/cucumber": "3.0.0-rc.32",
|
|
78
|
+
"@serenity-js/jasmine": "3.0.0-rc.32",
|
|
79
|
+
"@serenity-js/local-server": "3.0.0-rc.32",
|
|
80
|
+
"@serenity-js/mocha": "3.0.0-rc.32",
|
|
81
|
+
"@serenity-js/rest": "3.0.0-rc.32",
|
|
82
|
+
"@serenity-js/web": "3.0.0-rc.32",
|
|
83
83
|
"@types/chai": "^4.3.3",
|
|
84
84
|
"@types/express": "^4.17.14",
|
|
85
85
|
"@types/html-minifier": "^4.0.2",
|
|
@@ -98,5 +98,5 @@
|
|
|
98
98
|
"ts-node": "^10.9.1",
|
|
99
99
|
"typescript": "^4.8.4"
|
|
100
100
|
},
|
|
101
|
-
"gitHead": "
|
|
101
|
+
"gitHead": "3480ba44d83ff663a6a7c3e51ab1f977776cc9d0"
|
|
102
102
|
}
|
|
@@ -17,8 +17,8 @@ export class ProtractorCookie extends Cookie {
|
|
|
17
17
|
ensure('browser', browser, isDefined());
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
delete(): Promise<void> {
|
|
21
|
-
return promised(this.browser.manage().deleteCookie(this.cookieName));
|
|
20
|
+
async delete(): Promise<void> {
|
|
21
|
+
return await promised(this.browser.manage().deleteCookie(this.cookieName));
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
/**
|
|
@@ -74,32 +74,32 @@ export class ProtractorPage extends Page<ElementFinder> {
|
|
|
74
74
|
*
|
|
75
75
|
* @param enable
|
|
76
76
|
*/
|
|
77
|
-
enableAngularSynchronisation(enable: boolean): Promise<boolean> {
|
|
78
|
-
return this.inContextOfThisPage(() => {
|
|
77
|
+
async enableAngularSynchronisation(enable: boolean): Promise<boolean> {
|
|
78
|
+
return await this.inContextOfThisPage(() => {
|
|
79
79
|
return promised(this.browser.waitForAngularEnabled(enable));
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
navigateTo(destination: string): Promise<void> {
|
|
84
|
-
return this.inContextOfThisPage(() => {
|
|
83
|
+
async navigateTo(destination: string): Promise<void> {
|
|
84
|
+
return await this.inContextOfThisPage(() => {
|
|
85
85
|
return promised(this.browser.get(destination));
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
navigateBack(): Promise<void> {
|
|
90
|
-
return this.inContextOfThisPage(() => {
|
|
89
|
+
async navigateBack(): Promise<void> {
|
|
90
|
+
return await this.inContextOfThisPage(() => {
|
|
91
91
|
return promised(this.browser.navigate().back());
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
navigateForward(): Promise<void> {
|
|
96
|
-
return this.inContextOfThisPage(() => {
|
|
95
|
+
async navigateForward(): Promise<void> {
|
|
96
|
+
return await this.inContextOfThisPage(() => {
|
|
97
97
|
return promised(this.browser.navigate().forward());
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
reload(): Promise<void> {
|
|
102
|
-
return this.inContextOfThisPage(() => {
|
|
101
|
+
async reload(): Promise<void> {
|
|
102
|
+
return await this.inContextOfThisPage(() => {
|
|
103
103
|
return promised(this.browser.navigate().refresh());
|
|
104
104
|
});
|
|
105
105
|
}
|
|
@@ -117,7 +117,7 @@ export class ProtractorPage extends Page<ElementFinder> {
|
|
|
117
117
|
return maybeKey.utf16codePoint;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
return this.inContextOfThisPage(() => {
|
|
120
|
+
return await this.inContextOfThisPage(() => {
|
|
121
121
|
// keyDown for any modifier keys and sendKeys otherwise
|
|
122
122
|
const keyDownActions = keys.reduce((actions, key) => {
|
|
123
123
|
return isModifier(key)
|
|
@@ -192,10 +192,10 @@ export class ProtractorPage extends Page<ElementFinder> {
|
|
|
192
192
|
: undefined;
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
-
takeScreenshot(): Promise<string> {
|
|
196
|
-
return this.inContextOfThisPage(
|
|
195
|
+
async takeScreenshot(): Promise<string> {
|
|
196
|
+
return await this.inContextOfThisPage(() => {
|
|
197
197
|
try {
|
|
198
|
-
return
|
|
198
|
+
return promised(this.browser.takeScreenshot());
|
|
199
199
|
}
|
|
200
200
|
catch (error) {
|
|
201
201
|
|
|
@@ -216,7 +216,7 @@ export class ProtractorPage extends Page<ElementFinder> {
|
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
async setCookie(cookieData: CookieData): Promise<void> {
|
|
219
|
-
return this.inContextOfThisPage(() => {
|
|
219
|
+
return await this.inContextOfThisPage(() => {
|
|
220
220
|
return promised(this.browser.manage().addCookie({
|
|
221
221
|
name: cookieData.name,
|
|
222
222
|
value: cookieData.value,
|
|
@@ -231,32 +231,32 @@ export class ProtractorPage extends Page<ElementFinder> {
|
|
|
231
231
|
});
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
-
deleteAllCookies(): Promise<void> {
|
|
235
|
-
return this.inContextOfThisPage(() => {
|
|
234
|
+
async deleteAllCookies(): Promise<void> {
|
|
235
|
+
return await this.inContextOfThisPage(() => {
|
|
236
236
|
return promised(this.browser.manage().deleteAllCookies());
|
|
237
237
|
});
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
title(): Promise<string> {
|
|
241
|
-
return this.inContextOfThisPage(() => {
|
|
240
|
+
async title(): Promise<string> {
|
|
241
|
+
return await this.inContextOfThisPage(() => {
|
|
242
242
|
return promised(this.browser.getTitle());
|
|
243
243
|
});
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
-
name(): Promise<string> {
|
|
247
|
-
return this.inContextOfThisPage(() => {
|
|
246
|
+
async name(): Promise<string> {
|
|
247
|
+
return await this.inContextOfThisPage(() => {
|
|
248
248
|
return promised(this.browser.executeScript('return window.name'));
|
|
249
249
|
});
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
-
url(): Promise<URL> {
|
|
253
|
-
return this.inContextOfThisPage(async () => {
|
|
252
|
+
async url(): Promise<URL> {
|
|
253
|
+
return await this.inContextOfThisPage(async () => {
|
|
254
254
|
return new URL(await promised(this.browser.getCurrentUrl()));
|
|
255
255
|
});
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
async viewportSize(): Promise<{ width: number, height: number }> {
|
|
259
|
-
return this.inContextOfThisPage(async () => {
|
|
259
|
+
return await this.inContextOfThisPage(async () => {
|
|
260
260
|
const calculatedViewportSize = await promised(this.browser.executeScript(
|
|
261
261
|
`return {
|
|
262
262
|
width: Math.max(document.documentElement.clientWidth, window.innerWidth || 0),
|
|
@@ -269,12 +269,12 @@ export class ProtractorPage extends Page<ElementFinder> {
|
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
// Chrome headless hard-codes window.innerWidth and window.innerHeight to 0
|
|
272
|
-
return promised(this.browser.manage().window().getSize());
|
|
272
|
+
return await promised(this.browser.manage().window().getSize());
|
|
273
273
|
});
|
|
274
274
|
}
|
|
275
275
|
|
|
276
276
|
async setViewportSize(size: { width: number, height: number }): Promise<void> {
|
|
277
|
-
return this.inContextOfThisPage(async () => {
|
|
277
|
+
return await this.inContextOfThisPage(async () => {
|
|
278
278
|
const desiredWindowSize: { width: number, height: number } = await promised(this.browser.executeScript(`
|
|
279
279
|
var currentViewportWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)
|
|
280
280
|
var currentViewportHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0)
|
|
@@ -19,20 +19,28 @@ export class ProtractorPageElement extends PageElement<ElementFinder> {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
async clearValue(): Promise<void> {
|
|
22
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
23
|
+
function times(length: number, key: string) {
|
|
24
|
+
return Array.from({ length }).map(() => key);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
28
|
+
async function focusOn(element: ElementFinder) {
|
|
29
|
+
const webElement = await element.getWebElement();
|
|
30
|
+
await promised(webElement.getDriver().executeScript(`arguments[0].focus()`, webElement));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
22
34
|
async function removeCharactersFrom(elf: ElementFinder, numberOfCharacters: number): Promise<void> {
|
|
23
35
|
if (numberOfCharacters > 0) {
|
|
36
|
+
await focusOn(elf);
|
|
24
37
|
await elf.sendKeys(
|
|
25
|
-
protractor.Key.
|
|
26
|
-
...times(numberOfCharacters, protractor.Key.
|
|
38
|
+
protractor.Key.HOME,
|
|
39
|
+
...times(numberOfCharacters, protractor.Key.DELETE),
|
|
27
40
|
);
|
|
28
41
|
}
|
|
29
42
|
}
|
|
30
43
|
|
|
31
|
-
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
32
|
-
function times(length: number, key: string) {
|
|
33
|
-
return Array.from({ length }).map(() => key);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
44
|
const value = await this.value();
|
|
37
45
|
const hasValue = value !== null && value !== undefined;
|
|
38
46
|
|
|
@@ -54,14 +62,14 @@ export class ProtractorPageElement extends PageElement<ElementFinder> {
|
|
|
54
62
|
async click(): Promise<void> {
|
|
55
63
|
const element: ElementFinder = await this.nativeElement();
|
|
56
64
|
|
|
57
|
-
|
|
65
|
+
await promised(element.click());
|
|
58
66
|
}
|
|
59
67
|
|
|
60
68
|
async doubleClick(): Promise<void> {
|
|
61
69
|
const element: ElementFinder = await this.nativeElement();
|
|
62
70
|
const webElement: WebElement = await element.getWebElement();
|
|
63
71
|
|
|
64
|
-
|
|
72
|
+
await promised(
|
|
65
73
|
webElement.getDriver().actions()
|
|
66
74
|
.mouseMove(webElement)
|
|
67
75
|
.doubleClick()
|
|
@@ -72,7 +80,7 @@ export class ProtractorPageElement extends PageElement<ElementFinder> {
|
|
|
72
80
|
async enterValue(value: string | number | Array<string | number>): Promise<void> {
|
|
73
81
|
const element: ElementFinder = await this.nativeElement();
|
|
74
82
|
|
|
75
|
-
|
|
83
|
+
await promised(element.sendKeys(
|
|
76
84
|
[].concat(value).join(''),
|
|
77
85
|
));
|
|
78
86
|
}
|
|
@@ -81,7 +89,7 @@ export class ProtractorPageElement extends PageElement<ElementFinder> {
|
|
|
81
89
|
const element: ElementFinder = await this.nativeElement();
|
|
82
90
|
const webElement: WebElement = await element.getWebElement();
|
|
83
91
|
|
|
84
|
-
|
|
92
|
+
await promised(
|
|
85
93
|
webElement.getDriver().executeScript('arguments[0].scrollIntoView(true);', webElement),
|
|
86
94
|
);
|
|
87
95
|
}
|
|
@@ -90,7 +98,7 @@ export class ProtractorPageElement extends PageElement<ElementFinder> {
|
|
|
90
98
|
const element: ElementFinder = await this.nativeElement();
|
|
91
99
|
const webElement: WebElement = await element.getWebElement();
|
|
92
100
|
|
|
93
|
-
|
|
101
|
+
await promised(
|
|
94
102
|
webElement.getDriver().actions()
|
|
95
103
|
.mouseMove(webElement)
|
|
96
104
|
.perform(),
|
|
@@ -101,7 +109,7 @@ export class ProtractorPageElement extends PageElement<ElementFinder> {
|
|
|
101
109
|
const element: ElementFinder = await this.nativeElement();
|
|
102
110
|
const webElement: WebElement = await element.getWebElement();
|
|
103
111
|
|
|
104
|
-
|
|
112
|
+
await promised(
|
|
105
113
|
webElement.getDriver().actions()
|
|
106
114
|
.mouseMove(webElement)
|
|
107
115
|
.click(protractor.Button.RIGHT)
|
|
@@ -155,20 +163,20 @@ export class ProtractorPageElement extends PageElement<ElementFinder> {
|
|
|
155
163
|
async attribute(name: string): Promise<string> {
|
|
156
164
|
const element: ElementFinder = await this.nativeElement();
|
|
157
165
|
|
|
158
|
-
return promised(element.getAttribute(name));
|
|
166
|
+
return await promised(element.getAttribute(name));
|
|
159
167
|
}
|
|
160
168
|
|
|
161
169
|
async text(): Promise<string> {
|
|
162
170
|
const element: ElementFinder = await this.nativeElement();
|
|
163
171
|
|
|
164
|
-
return promised(element.getText());
|
|
172
|
+
return await promised(element.getText());
|
|
165
173
|
}
|
|
166
174
|
|
|
167
175
|
async value(): Promise<string> {
|
|
168
176
|
const element: ElementFinder = await this.nativeElement();
|
|
169
177
|
const webElement: WebElement = await element.getWebElement();
|
|
170
178
|
|
|
171
|
-
return promised(webElement.getDriver().executeScript(
|
|
179
|
+
return await promised(webElement.getDriver().executeScript(
|
|
172
180
|
/* istanbul ignore next */
|
|
173
181
|
function getValue(webElement) {
|
|
174
182
|
return webElement.value;
|
|
@@ -198,9 +206,9 @@ export class ProtractorPageElement extends PageElement<ElementFinder> {
|
|
|
198
206
|
const webElement = await element.getWebElement();
|
|
199
207
|
|
|
200
208
|
// focus on element
|
|
201
|
-
const previouslyFocusedElement = await webElement.getDriver().switchTo().activeElement();
|
|
209
|
+
const previouslyFocusedElement = await promised(webElement.getDriver().switchTo().activeElement());
|
|
202
210
|
|
|
203
|
-
await webElement.getDriver().executeScript(`arguments[0].focus()`, webElement);
|
|
211
|
+
await promised(webElement.getDriver().executeScript(`arguments[0].focus()`, webElement));
|
|
204
212
|
|
|
205
213
|
return {
|
|
206
214
|
switchBack: async (): Promise<void> => {
|
|
@@ -217,31 +225,31 @@ export class ProtractorPageElement extends PageElement<ElementFinder> {
|
|
|
217
225
|
const element: ElementFinder = await this.nativeElement();
|
|
218
226
|
const webElement: WebElement = await element.getWebElement();
|
|
219
227
|
|
|
220
|
-
return promised(webElement.getDriver().switchTo().activeElement().then((active: WebElement) =>
|
|
228
|
+
return await promised(webElement.getDriver().switchTo().activeElement().then((active: WebElement) =>
|
|
221
229
|
element.equals(active),
|
|
222
230
|
));
|
|
223
231
|
}
|
|
224
232
|
|
|
225
233
|
async isClickable(): Promise<boolean> {
|
|
226
|
-
return this.isEnabled();
|
|
234
|
+
return await this.isEnabled();
|
|
227
235
|
}
|
|
228
236
|
|
|
229
237
|
async isEnabled(): Promise<boolean> {
|
|
230
238
|
const element: ElementFinder = await this.nativeElement();
|
|
231
239
|
|
|
232
|
-
return promised(element.isEnabled());
|
|
240
|
+
return await promised(element.isEnabled());
|
|
233
241
|
}
|
|
234
242
|
|
|
235
243
|
async isPresent(): Promise<boolean> {
|
|
236
244
|
const element: ElementFinder = await this.nativeElement();
|
|
237
245
|
|
|
238
|
-
return promised(element.isPresent());
|
|
246
|
+
return await promised(element.isPresent());
|
|
239
247
|
}
|
|
240
248
|
|
|
241
249
|
async isSelected(): Promise<boolean> {
|
|
242
250
|
const element: ElementFinder = await this.nativeElement();
|
|
243
251
|
|
|
244
|
-
return promised(element.isSelected());
|
|
252
|
+
return await promised(element.isSelected());
|
|
245
253
|
}
|
|
246
254
|
|
|
247
255
|
async isVisible(): Promise<boolean> {
|
|
@@ -255,7 +263,7 @@ export class ProtractorPageElement extends PageElement<ElementFinder> {
|
|
|
255
263
|
const webElement: WebElement = await element.getWebElement();
|
|
256
264
|
|
|
257
265
|
// get element at cx/cy and see if the element we found is our element, and therefore it's visible.
|
|
258
|
-
return promised(webElement.getDriver().executeScript(
|
|
266
|
+
return await promised(webElement.getDriver().executeScript(
|
|
259
267
|
scripts.isVisible,
|
|
260
268
|
webElement,
|
|
261
269
|
));
|