@serenity-js/web 3.0.0-rc.27 → 3.0.0-rc.29
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 +31 -0
- package/lib/expectations/ElementExpectation.d.ts +2 -2
- package/lib/expectations/ElementExpectation.js +2 -2
- package/lib/expectations/isSelected.d.ts +1 -1
- package/lib/expectations/isSelected.js +1 -1
- package/lib/screenplay/interactions/Clear.d.ts +1 -1
- package/lib/screenplay/interactions/Clear.d.ts.map +1 -1
- package/lib/screenplay/interactions/Clear.js.map +1 -1
- package/lib/screenplay/interactions/ExecuteScript.d.ts +1 -1
- package/lib/screenplay/interactions/ExecuteScript.d.ts.map +1 -1
- package/lib/screenplay/interactions/ExecuteScript.js +12 -30
- package/lib/screenplay/interactions/ExecuteScript.js.map +1 -1
- package/lib/screenplay/interactions/Navigate.js +1 -7
- package/lib/screenplay/interactions/Navigate.js.map +1 -1
- package/lib/screenplay/interactions/PageElementInteraction.d.ts +2 -11
- package/lib/screenplay/interactions/PageElementInteraction.d.ts.map +1 -1
- package/lib/screenplay/interactions/PageElementInteraction.js +2 -14
- package/lib/screenplay/interactions/PageElementInteraction.js.map +1 -1
- package/lib/screenplay/interactions/Press.d.ts +1 -1
- package/lib/screenplay/interactions/Press.d.ts.map +1 -1
- package/lib/screenplay/interactions/Press.js +1 -1
- package/lib/screenplay/interactions/Press.js.map +1 -1
- package/lib/screenplay/interactions/Scroll.d.ts +0 -4
- package/lib/screenplay/interactions/Scroll.d.ts.map +1 -1
- package/lib/screenplay/interactions/Scroll.js +1 -7
- package/lib/screenplay/interactions/Scroll.js.map +1 -1
- package/lib/screenplay/interactions/Switch.d.ts +0 -4
- package/lib/screenplay/interactions/Switch.d.ts.map +1 -1
- package/lib/screenplay/interactions/Switch.js +2 -14
- package/lib/screenplay/interactions/Switch.js.map +1 -1
- package/lib/screenplay/interactions/TakeScreenshot.d.ts +0 -4
- package/lib/screenplay/interactions/TakeScreenshot.d.ts.map +1 -1
- package/lib/screenplay/interactions/TakeScreenshot.js +1 -7
- package/lib/screenplay/interactions/TakeScreenshot.js.map +1 -1
- package/lib/screenplay/models/PageElement.d.ts +1 -1
- package/lib/screenplay/models/PageElement.d.ts.map +1 -1
- package/lib/screenplay/models/PageElement.js +8 -0
- package/lib/screenplay/models/PageElement.js.map +1 -1
- package/lib/screenplay/models/RootLocator.d.ts +3 -1
- package/lib/screenplay/models/RootLocator.d.ts.map +1 -1
- package/lib/screenplay/models/RootLocator.js.map +1 -1
- package/package.json +6 -5
- package/src/expectations/ElementExpectation.ts +2 -2
- package/src/expectations/isSelected.ts +1 -1
- package/src/screenplay/interactions/Clear.ts +1 -1
- package/src/screenplay/interactions/ExecuteScript.ts +26 -32
- package/src/screenplay/interactions/Navigate.ts +1 -8
- package/src/screenplay/interactions/PageElementInteraction.ts +3 -14
- package/src/screenplay/interactions/Press.ts +2 -2
- package/src/screenplay/interactions/Scroll.ts +1 -8
- package/src/screenplay/interactions/Switch.ts +2 -16
- package/src/screenplay/interactions/TakeScreenshot.ts +1 -8
- package/src/screenplay/models/PageElement.ts +3 -1
- package/src/screenplay/models/RootLocator.ts +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,37 @@
|
|
|
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.29](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.28...v3.0.0-rc.29) (2022-10-01)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @serenity-js/web
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.0.0-rc.28](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.27...v3.0.0-rc.28) (2022-09-30)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **core:** activity is now able to detect invocation location on Node 14 ([41f4776](https://github.com/serenity-js/serenity-js/commit/41f4776736620bc32d474d9b66f69c742f8eca96)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
|
|
20
|
+
* **playwright:** corrected not(isPresent()) for PlaywrightPageElement ([0693b2f](https://github.com/serenity-js/serenity-js/commit/0693b2f2666a8de327c990c72ecf42fc3d7da498)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
|
|
21
|
+
* **web:** question about Text.of(element) now trims newline and space characters ([c68bbe9](https://github.com/serenity-js/serenity-js/commit/c68bbe9bed082c84538983dd6233e684190c3c43))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Features
|
|
25
|
+
|
|
26
|
+
* **playwright-test:** improved Playwright Test reports ([6c6b537](https://github.com/serenity-js/serenity-js/commit/6c6b5379dfc324a4fb75d758daa7782109f1c5ab)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Reverts
|
|
30
|
+
|
|
31
|
+
* **web:** reverted the change to Text that would make it automatically trim the retrieved text ([f5a47b7](https://github.com/serenity-js/serenity-js/commit/f5a47b7e9e0be26522522b5a6647b24ffad6bee8))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
6
37
|
# [3.0.0-rc.27](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.26...v3.0.0-rc.27) (2022-08-26)
|
|
7
38
|
|
|
8
39
|
**Note:** Version bump only for package @serenity-js/web
|
|
@@ -10,7 +10,7 @@ import { PageElement } from '../screenplay';
|
|
|
10
10
|
* import { ElementExpectation, PageElement } from '@serenity-js/web'
|
|
11
11
|
*
|
|
12
12
|
* export function isEmpty(): Expectation<boolean, PageElement> {
|
|
13
|
-
* return ElementExpectation.forElementTo('have an empty value',
|
|
13
|
+
* return ElementExpectation.forElementTo('have an empty value', async actual => {
|
|
14
14
|
* const value = await actual.value();
|
|
15
15
|
* return value.length === 0;
|
|
16
16
|
* })
|
|
@@ -88,7 +88,7 @@ export declare class ElementExpectation extends Expectation<PageElement> {
|
|
|
88
88
|
* import { ElementExpectation, PageElement } from '@serenity-js/web'
|
|
89
89
|
*
|
|
90
90
|
* export function isEmpty(): Expectation<boolean, PageElement> {
|
|
91
|
-
* return ElementExpectation.forElementTo('have an empty value',
|
|
91
|
+
* return ElementExpectation.forElementTo('have an empty value', async actual => {
|
|
92
92
|
* const value = await actual.value();
|
|
93
93
|
* return value.length === 0;
|
|
94
94
|
* })
|
|
@@ -12,7 +12,7 @@ const core_1 = require("@serenity-js/core");
|
|
|
12
12
|
* import { ElementExpectation, PageElement } from '@serenity-js/web'
|
|
13
13
|
*
|
|
14
14
|
* export function isEmpty(): Expectation<boolean, PageElement> {
|
|
15
|
-
* return ElementExpectation.forElementTo('have an empty value',
|
|
15
|
+
* return ElementExpectation.forElementTo('have an empty value', async actual => {
|
|
16
16
|
* const value = await actual.value();
|
|
17
17
|
* return value.length === 0;
|
|
18
18
|
* })
|
|
@@ -99,7 +99,7 @@ class ElementExpectation extends core_1.Expectation {
|
|
|
99
99
|
* import { ElementExpectation, PageElement } from '@serenity-js/web'
|
|
100
100
|
*
|
|
101
101
|
* export function isEmpty(): Expectation<boolean, PageElement> {
|
|
102
|
-
* return ElementExpectation.forElementTo('have an empty value',
|
|
102
|
+
* return ElementExpectation.forElementTo('have an empty value', async actual => {
|
|
103
103
|
* const value = await actual.value();
|
|
104
104
|
* return value.length === 0;
|
|
105
105
|
* })
|
|
@@ -3,7 +3,7 @@ import { PageElement } from '../screenplay';
|
|
|
3
3
|
/**
|
|
4
4
|
* {@apilink Expectation} that an `<option>` or `<input>` element is selected, which means it resolves to `true` when:
|
|
5
5
|
* - the element {@apilink isPresent|is present} in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
|
|
6
|
-
* - {@apilink PageElement.
|
|
6
|
+
* - {@apilink PageElement.isSelected} resolves to `true`
|
|
7
7
|
*
|
|
8
8
|
* If the above conditions are not met, the expectation resolves to `false`.
|
|
9
9
|
*
|
|
@@ -7,7 +7,7 @@ const ElementExpectation_1 = require("./ElementExpectation");
|
|
|
7
7
|
/**
|
|
8
8
|
* {@apilink Expectation} that an `<option>` or `<input>` element is selected, which means it resolves to `true` when:
|
|
9
9
|
* - the element {@apilink isPresent|is present} in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
|
|
10
|
-
* - {@apilink PageElement.
|
|
10
|
+
* - {@apilink PageElement.isSelected} resolves to `true`
|
|
11
11
|
*
|
|
12
12
|
* If the above conditions are not met, the expectation resolves to `false`.
|
|
13
13
|
*
|
|
@@ -63,7 +63,7 @@ export declare class Clear extends PageElementInteraction {
|
|
|
63
63
|
* The field which value should be cleared
|
|
64
64
|
*/
|
|
65
65
|
static theValueOf(field: Answerable<PageElement>): Interaction;
|
|
66
|
-
constructor(field: Answerable<PageElement>);
|
|
66
|
+
protected constructor(field: Answerable<PageElement>);
|
|
67
67
|
/**
|
|
68
68
|
* @inheritDoc
|
|
69
69
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clear.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAK,WAAW,EAAc,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE5G,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,qBAAa,KAAM,SAAQ,sBAAsB;
|
|
1
|
+
{"version":3,"file":"Clear.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAK,WAAW,EAAc,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE5G,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,qBAAa,KAAM,SAAQ,sBAAsB;IAcvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAZ5C;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW;IAI9D,SAAS,aAA8B,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC;IAIrE;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAQzD,yBAAyB;IAmBvC,OAAO,CAAC,qBAAqB;CAGhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clear.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Clear.ts"],"names":[],"mappings":";;;AAAA,4CAA4G;AAG5G,qEAAkE;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAa,KAAM,SAAQ,+CAAsB;IAc7C,
|
|
1
|
+
{"version":3,"file":"Clear.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Clear.ts"],"names":[],"mappings":";;;AAAA,4CAA4G;AAG5G,qEAAkE;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAa,KAAM,SAAQ,+CAAsB;IAc7C,YAAuC,KAA8B;QACjE,KAAK,CAAC,IAAA,QAAC,EAAA,8BAA+B,KAAM,EAAE,CAAC,CAAC;QADb,UAAK,GAAL,KAAK,CAAyB;IAErE,CAAC;IAdD;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,KAA8B;QAC5C,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAMD;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAuC;QACnD,MAAM,OAAO,GAAK,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,OAAoB;QACxD,IAAI,UAAiB,EACjB,iBAAiB,GAAG,KAAK,CAAC;QAE9B,IAAI;YACA,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,iBAAiB,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;SAC7D;QAAC,OAAO,KAAK,EAAE;YACZ,UAAU,GAAG,KAAK,CAAC;SACtB;QAED,IAAI,CAAE,iBAAiB,IAAI,UAAU,EAAE;YACnC,MAAM,IAAI,iBAAU,CAChB,IAAI,CAAC,qBAAqB,CAAC,IAAA,QAAC,EAAA,GAAI,IAAI,CAAC,KAAM,kEAAkE,CAAC,EAC9G,UAAU,CACb,CAAC;SACL;IACL,CAAC;IAEO,qBAAqB,CAAC,IAAY;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;CACJ;AAnDD,sBAmDC"}
|
|
@@ -184,7 +184,7 @@ export declare class ExecuteScript {
|
|
|
184
184
|
export declare abstract class ExecuteScriptWithArguments extends Interaction {
|
|
185
185
|
protected readonly script: string | Function;
|
|
186
186
|
protected readonly args: Array<Answerable<any>>;
|
|
187
|
-
constructor(script: string | Function, // eslint-disable-line @typescript-eslint/ban-types
|
|
187
|
+
constructor(description: string, script: string | Function, // eslint-disable-line @typescript-eslint/ban-types
|
|
188
188
|
args?: Array<Answerable<any>>);
|
|
189
189
|
/**
|
|
190
190
|
* Instantiates this {@apilink Interaction}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecuteScript.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/ExecuteScript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAK,WAAW,EAAc,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAM/H;;;;;;;;;;GAUG;AACH,qBAAa,aAAa;IAEtB;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW;IAI3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,0BAA0B;
|
|
1
|
+
{"version":3,"file":"ExecuteScript.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/ExecuteScript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAK,WAAW,EAAc,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAM/H;;;;;;;;;;GAUG;AACH,qBAAa,aAAa;IAEtB;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW;IAI3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,0BAA0B;IAOnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqDG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,0BAA0B;CAMrE;AAED;;;;;;;GAOG;AACH,8BAAsB,0BAA2B,SAAQ,WAAW;IAI5D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAC5C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAF/C,WAAW,EAAE,MAAM,EACA,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAY,mDAAmD;IACxF,IAAI,GAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAM;IAKxD;;;;;OAKG;aACa,aAAa,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW;IAE3E;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3F,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CACnG"}
|
|
@@ -125,7 +125,7 @@ class ExecuteScript {
|
|
|
125
125
|
* The script to be executed
|
|
126
126
|
*/
|
|
127
127
|
static async(script) {
|
|
128
|
-
return new ExecuteAsynchronousScript(script);
|
|
128
|
+
return new ExecuteAsynchronousScript(`#actor executes an asynchronous script`, script);
|
|
129
129
|
}
|
|
130
130
|
/**
|
|
131
131
|
* Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
|
|
@@ -182,7 +182,7 @@ class ExecuteScript {
|
|
|
182
182
|
* The script to be executed
|
|
183
183
|
*/
|
|
184
184
|
static sync(script) {
|
|
185
|
-
return new ExecuteSynchronousScript(script);
|
|
185
|
+
return new ExecuteSynchronousScript(`#actor executes a synchronous script`, script);
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
exports.ExecuteScript = ExecuteScript;
|
|
@@ -195,9 +195,9 @@ exports.ExecuteScript = ExecuteScript;
|
|
|
195
195
|
* @group Interactions
|
|
196
196
|
*/
|
|
197
197
|
class ExecuteScriptWithArguments extends core_1.Interaction {
|
|
198
|
-
constructor(script, // eslint-disable-line @typescript-eslint/ban-types
|
|
198
|
+
constructor(description, script, // eslint-disable-line @typescript-eslint/ban-types
|
|
199
199
|
args = []) {
|
|
200
|
-
super();
|
|
200
|
+
super(description, core_1.Interaction.callerLocation(5));
|
|
201
201
|
this.script = script;
|
|
202
202
|
this.args = args;
|
|
203
203
|
}
|
|
@@ -219,20 +219,14 @@ exports.ExecuteScriptWithArguments = ExecuteScriptWithArguments;
|
|
|
219
219
|
*/
|
|
220
220
|
class ExecuteAsynchronousScript extends ExecuteScriptWithArguments {
|
|
221
221
|
withArguments(...args) {
|
|
222
|
-
return new ExecuteAsynchronousScript(
|
|
222
|
+
return new ExecuteAsynchronousScript(args.length > 0
|
|
223
|
+
? (0, core_1.d) `#actor executes an asynchronous script with arguments: ${args}`
|
|
224
|
+
: this.description, this.script, args);
|
|
223
225
|
}
|
|
224
226
|
async executeAs(actor, args) {
|
|
225
227
|
const page = await abilities_1.BrowseTheWeb.as(actor).currentPage();
|
|
226
228
|
return page.executeAsyncScript(this.script, ...args); // todo: fix types
|
|
227
229
|
}
|
|
228
|
-
/**
|
|
229
|
-
* @inheritDoc
|
|
230
|
-
*/
|
|
231
|
-
toString() {
|
|
232
|
-
return this.args.length > 0
|
|
233
|
-
? (0, core_1.d) `#actor executes an asynchronous script with arguments: ${this.args}`
|
|
234
|
-
: `#actor executes an asynchronous script`;
|
|
235
|
-
}
|
|
236
230
|
}
|
|
237
231
|
/**
|
|
238
232
|
* @package
|
|
@@ -242,7 +236,7 @@ class ExecuteAsynchronousScript extends ExecuteScriptWithArguments {
|
|
|
242
236
|
*/
|
|
243
237
|
class ExecuteScriptFromUrl extends core_1.Interaction {
|
|
244
238
|
constructor(sourceUrl) {
|
|
245
|
-
super();
|
|
239
|
+
super(`#actor executes a script from ${sourceUrl}`);
|
|
246
240
|
this.sourceUrl = sourceUrl;
|
|
247
241
|
}
|
|
248
242
|
/**
|
|
@@ -264,7 +258,7 @@ class ExecuteScriptFromUrl extends core_1.Interaction {
|
|
|
264
258
|
callback();
|
|
265
259
|
});
|
|
266
260
|
script.addEventListener('error', function () {
|
|
267
|
-
return callback(
|
|
261
|
+
return callback(`Couldn't load script from ${sourceUrl}`);
|
|
268
262
|
});
|
|
269
263
|
script.src = sourceUrl;
|
|
270
264
|
script.async = true;
|
|
@@ -276,31 +270,19 @@ class ExecuteScriptFromUrl extends core_1.Interaction {
|
|
|
276
270
|
}
|
|
277
271
|
});
|
|
278
272
|
}
|
|
279
|
-
/**
|
|
280
|
-
* @inheritDoc
|
|
281
|
-
*/
|
|
282
|
-
toString() {
|
|
283
|
-
return `#actor executes a script from ${this.sourceUrl}`;
|
|
284
|
-
}
|
|
285
273
|
}
|
|
286
274
|
/**
|
|
287
275
|
* @package
|
|
288
276
|
*/
|
|
289
277
|
class ExecuteSynchronousScript extends ExecuteScriptWithArguments {
|
|
290
278
|
withArguments(...args) {
|
|
291
|
-
return new ExecuteSynchronousScript(
|
|
279
|
+
return new ExecuteSynchronousScript(args.length > 0
|
|
280
|
+
? (0, core_1.d) `#actor executes a synchronous script with arguments: ${args}`
|
|
281
|
+
: this.description, this.script, args);
|
|
292
282
|
}
|
|
293
283
|
async executeAs(actor, args) {
|
|
294
284
|
const page = await abilities_1.BrowseTheWeb.as(actor).currentPage();
|
|
295
285
|
return page.executeScript(this.script, ...args); // todo fix type
|
|
296
286
|
}
|
|
297
|
-
/**
|
|
298
|
-
* @inheritDoc
|
|
299
|
-
*/
|
|
300
|
-
toString() {
|
|
301
|
-
return this.args.length > 0
|
|
302
|
-
? (0, core_1.d) `#actor executes a synchronous script with arguments: ${this.args}`
|
|
303
|
-
: `#actor executes a synchronous script`;
|
|
304
|
-
}
|
|
305
287
|
}
|
|
306
288
|
//# sourceMappingURL=ExecuteScript.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecuteScript.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/ExecuteScript.ts"],"names":[],"mappings":";;;AAAA,4CAA+H;AAC/H,iDAAoD;AACpD,uDAA6D;AAE7D,4CAA4C;AAE5C;;;;;;;;;;GAUG;AACH,MAAa,aAAa;IAEtB;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,SAAiB;QACzB,OAAO,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAyB;QAClC,OAAO,IAAI,yBAAyB,
|
|
1
|
+
{"version":3,"file":"ExecuteScript.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/ExecuteScript.ts"],"names":[],"mappings":"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"}
|
|
@@ -159,7 +159,7 @@ exports.Navigate = Navigate;
|
|
|
159
159
|
*/
|
|
160
160
|
class NavigateToUrl extends core_1.Interaction {
|
|
161
161
|
constructor(url) {
|
|
162
|
-
super();
|
|
162
|
+
super((0, core_1.d) `#actor navigates to ${url}`);
|
|
163
163
|
this.url = url;
|
|
164
164
|
}
|
|
165
165
|
/**
|
|
@@ -172,11 +172,5 @@ class NavigateToUrl extends core_1.Interaction {
|
|
|
172
172
|
throw new core_1.TestCompromisedError(`Couldn't navigate to ${url}`, error);
|
|
173
173
|
});
|
|
174
174
|
}
|
|
175
|
-
/**
|
|
176
|
-
* @inheritDoc
|
|
177
|
-
*/
|
|
178
|
-
toString() {
|
|
179
|
-
return (0, core_1.d) `#actor navigates to ${this.url}`;
|
|
180
|
-
}
|
|
181
175
|
}
|
|
182
176
|
//# sourceMappingURL=Navigate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigate.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Navigate.ts"],"names":[],"mappings":";;;AAAA,4CAAsH;AAEtH,4CAA4C;AAE5C;;;;;;;;;;GAUG;AACH,MAAa,QAAQ;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,MAAM,CAAC,EAAE,CAAC,GAAuB;QAC7B,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,IAAI;QACP,OAAO,kBAAW,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACnF,MAAM,IAAI,GAAG,MAAM,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAExD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,OAAO;QACV,OAAO,kBAAW,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACtF,MAAM,IAAI,GAAG,MAAM,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAExD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,UAAU;QACb,OAAO,kBAAW,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,MAAM,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAExD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAjJD,4BAiJC;AAED;;GAEG;AACH,MAAM,aAAc,SAAQ,kBAAW;IACnC,YAA6B,GAAuB;QAChD,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Navigate.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Navigate.ts"],"names":[],"mappings":";;;AAAA,4CAAsH;AAEtH,4CAA4C;AAE5C;;;;;;;;;;GAUG;AACH,MAAa,QAAQ;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,MAAM,CAAC,EAAE,CAAC,GAAuB;QAC7B,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,IAAI;QACP,OAAO,kBAAW,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACnF,MAAM,IAAI,GAAG,MAAM,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAExD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,OAAO;QACV,OAAO,kBAAW,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACtF,MAAM,IAAI,GAAG,MAAM,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAExD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,UAAU;QACb,OAAO,kBAAW,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,MAAM,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAExD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAjJD,4BAiJC;AAED;;GAEG;AACH,MAAM,aAAc,SAAQ,kBAAW;IACnC,YAA6B,GAAuB;QAChD,KAAK,CAAC,IAAA,QAAC,EAAA,uBAAwB,GAAI,EAAE,CAAC,CAAC;QADd,QAAG,GAAH,GAAG,CAAoB;IAEpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAuC;QACnD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAExD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACtC,MAAM,IAAI,2BAAoB,CAAC,wBAAyB,GAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Answerable, AnswersQuestions, Interaction } from '@serenity-js/core';
|
|
2
|
+
import { FileSystemLocation } from '@serenity-js/core/lib/io';
|
|
2
3
|
import { PageElement } from '../models';
|
|
3
4
|
/**
|
|
4
5
|
* A base class for interactions with {@apilink PageElement} objects.
|
|
@@ -9,13 +10,7 @@ import { PageElement } from '../models';
|
|
|
9
10
|
* @group Interactions
|
|
10
11
|
*/
|
|
11
12
|
export declare abstract class PageElementInteraction extends Interaction {
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @param description
|
|
15
|
-
* A human-readable description to be used when reporting
|
|
16
|
-
* this {@apilink Interaction}.
|
|
17
|
-
*/
|
|
18
|
-
protected constructor(description: string);
|
|
13
|
+
protected constructor(description: string, location?: FileSystemLocation);
|
|
19
14
|
/**
|
|
20
15
|
* Returns the resolved {@apilink PageElement}, or throws a {@apilink LogicError}
|
|
21
16
|
* if the element is `undefined`.
|
|
@@ -24,9 +19,5 @@ export declare abstract class PageElementInteraction extends Interaction {
|
|
|
24
19
|
* @param element
|
|
25
20
|
*/
|
|
26
21
|
protected resolve(actor: AnswersQuestions, element: Answerable<PageElement>): Promise<PageElement>;
|
|
27
|
-
/**
|
|
28
|
-
* @inheritDoc
|
|
29
|
-
*/
|
|
30
|
-
toString(): string;
|
|
31
22
|
}
|
|
32
23
|
//# sourceMappingURL=PageElementInteraction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageElementInteraction.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/PageElementInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAK,WAAW,EAAc,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"PageElementInteraction.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/PageElementInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAK,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;GAOG;AACH,8BAAsB,sBAAuB,SAAQ,WAAW;IAE5D,SAAS,aAAa,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,kBAAkD;IAIvG;;;;;;OAMG;cACa,OAAO,CACnB,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC;CAS1B"}
|
|
@@ -11,14 +11,8 @@ const core_1 = require("@serenity-js/core");
|
|
|
11
11
|
* @group Interactions
|
|
12
12
|
*/
|
|
13
13
|
class PageElementInteraction extends core_1.Interaction {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* A human-readable description to be used when reporting
|
|
17
|
-
* this {@apilink Interaction}.
|
|
18
|
-
*/
|
|
19
|
-
constructor(description) {
|
|
20
|
-
super();
|
|
21
|
-
this.description = description;
|
|
14
|
+
constructor(description, location = core_1.Interaction.callerLocation(4)) {
|
|
15
|
+
super(description, location);
|
|
22
16
|
}
|
|
23
17
|
/**
|
|
24
18
|
* Returns the resolved {@apilink PageElement}, or throws a {@apilink LogicError}
|
|
@@ -34,12 +28,6 @@ class PageElementInteraction extends core_1.Interaction {
|
|
|
34
28
|
}
|
|
35
29
|
return resolved;
|
|
36
30
|
}
|
|
37
|
-
/**
|
|
38
|
-
* @inheritDoc
|
|
39
|
-
*/
|
|
40
|
-
toString() {
|
|
41
|
-
return this.description;
|
|
42
|
-
}
|
|
43
31
|
}
|
|
44
32
|
exports.PageElementInteraction = PageElementInteraction;
|
|
45
33
|
//# sourceMappingURL=PageElementInteraction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageElementInteraction.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/PageElementInteraction.ts"],"names":[],"mappings":";;;AAAA,4CAA6F;
|
|
1
|
+
{"version":3,"file":"PageElementInteraction.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/PageElementInteraction.ts"],"names":[],"mappings":";;;AAAA,4CAA6F;AAK7F;;;;;;;GAOG;AACH,MAAsB,sBAAuB,SAAQ,kBAAW;IAE5D,YAAsB,WAAmB,EAAE,WAA+B,kBAAW,CAAC,cAAc,CAAC,CAAC,CAAC;QACnG,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,OAAO,CACnB,KAAuB,EACvB,OAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAE,QAAQ,EAAE;YACZ,MAAM,IAAI,iBAAU,CAAC,IAAA,QAAC,EAAC,iBAAkB,OAAQ,EAAE,CAAC,CAAC;SACxD;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAzBD,wDAyBC"}
|
|
@@ -81,7 +81,7 @@ export declare class Press extends PageElementInteraction {
|
|
|
81
81
|
* @param keys
|
|
82
82
|
* A sequence of one or more keys to press
|
|
83
83
|
*/
|
|
84
|
-
constructor(keys: Answerable<Array<Key | string>>);
|
|
84
|
+
protected constructor(keys: Answerable<Array<Key | string>>);
|
|
85
85
|
/**
|
|
86
86
|
* @inheritDoc
|
|
87
87
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Press.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Press.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAK,WAAW,EAAY,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIpH,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,qBAAa,KAAM,SAAQ,sBAAsB;IA+BzC,OAAO,CAAC,QAAQ,CAAC,IAAI;IA7BzB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,QAAQ,GAAG;QAAE,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,WAAW,CAAA;KAAE;IAI3I;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW;IAI/C;;;OAGG;
|
|
1
|
+
{"version":3,"file":"Press.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Press.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAK,WAAW,EAAY,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIpH,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,qBAAa,KAAM,SAAQ,sBAAsB;IA+BzC,OAAO,CAAC,QAAQ,CAAC,IAAI;IA7BzB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,QAAQ,GAAG;QAAE,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,WAAW,CAAA;KAAE;IAI3I;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW;IAI/C;;;OAGG;IACH,SAAS,aACY,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;IAK1D;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1E"}
|
|
@@ -110,7 +110,7 @@ class PressKeyInField extends PageElementInteraction_1.PageElementInteraction {
|
|
|
110
110
|
* Web element to send the keys to
|
|
111
111
|
*/
|
|
112
112
|
constructor(keys, field /* todo | Question<AlertPromise> | AlertPromise */) {
|
|
113
|
-
super((0, core_1.d) `#actor presses ${keys} in ${field}
|
|
113
|
+
super((0, core_1.d) `#actor presses ${keys} in ${field}`, core_1.Interaction.callerLocation(3));
|
|
114
114
|
this.keys = keys;
|
|
115
115
|
this.field = field;
|
|
116
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Press.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Press.ts"],"names":[],"mappings":";;;AAAA,4CAAoH;AACpH,iDAAoD;AAEpD,4CAA4C;AAC5C,sCAA6C;AAC7C,qEAAkE;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAa,KAAM,SAAQ,+CAAsB;IA0B7C;;;OAGG;IACH,YACqB,IAAqC;QAEtD,KAAK,CAAC,IAAA,QAAC,EAAC,kBAAmB,IAAK,EAAE,CAAC,CAAC;QAFnB,SAAI,GAAJ,IAAI,CAAiC;IAG1D,CAAC;IAhCD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAwD;QAClE,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,EAAE,CAAC,KAA8B;QAC7B,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;IAYD;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAuC;QACnD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACJ;AA5CD,sBA4CC;AAED,MAAM,eAAgB,SAAQ,+CAAsB;IAChD;;;;;;OAMG;IACH,YACqB,IAAqC,EACrC,KAA8B,CAAC,kDAAkD;QAElG,KAAK,CAAC,IAAA,QAAC,EAAC,kBAAmB,IAAK,OAAQ,KAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Press.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Press.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scroll.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAK,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,MAAO,SAAQ,WAAW;IAYb,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV9C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM;IAIvD,SAAS,aAA8B,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;IAIvE;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Scroll.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAK,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,MAAO,SAAQ,WAAW;IAYb,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV9C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM;IAIvD,SAAS,aAA8B,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;IAIvE;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1E"}
|
|
@@ -51,7 +51,7 @@ const core_1 = require("@serenity-js/core");
|
|
|
51
51
|
*/
|
|
52
52
|
class Scroll extends core_1.Interaction {
|
|
53
53
|
constructor(element) {
|
|
54
|
-
super();
|
|
54
|
+
super((0, core_1.d) `#actor scrolls to ${element}`);
|
|
55
55
|
this.element = element;
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
@@ -70,12 +70,6 @@ class Scroll extends core_1.Interaction {
|
|
|
70
70
|
const target = await actor.answer(this.element);
|
|
71
71
|
return target.scrollIntoView();
|
|
72
72
|
}
|
|
73
|
-
/**
|
|
74
|
-
* @inheritDoc
|
|
75
|
-
*/
|
|
76
|
-
toString() {
|
|
77
|
-
return (0, core_1.d) `#actor scrolls to ${this.element}`;
|
|
78
|
-
}
|
|
79
73
|
}
|
|
80
74
|
exports.Scroll = Scroll;
|
|
81
75
|
//# sourceMappingURL=Scroll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scroll.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Scroll.ts"],"names":[],"mappings":";;;AAAA,4CAAgG;AAIhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAa,MAAO,SAAQ,kBAAW;IAYnC,YAAuC,OAAgC;QACnE,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Scroll.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Scroll.ts"],"names":[],"mappings":";;;AAAA,4CAAgG;AAIhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAa,MAAO,SAAQ,kBAAW;IAYnC,YAAuC,OAAgC;QACnE,KAAK,CAAC,IAAA,QAAC,EAAA,qBAAsB,OAAQ,EAAE,CAAC,CAAC;QADN,YAAO,GAAP,OAAO,CAAyB;IAEvE,CAAC;IAZD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,WAAoC;QAC1C,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAMD;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAuC;QACnD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,CAAC;CACJ;AAxBD,wBAwBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEpH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AACH,qBAAa,MAAO,SAAQ,WAAW;IAab,OAAO,CAAC,QAAQ,CAAC,UAAU;IAXjD;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,MAAM;IAIrD,SAAS,aAA8B,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC;IAIzE;;;;;;;;OAQG;IACH,GAAG,CAAC,GAAG,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI;IAIpC;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEpH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AACH,qBAAa,MAAO,SAAQ,WAAW;IAab,OAAO,CAAC,QAAQ,CAAC,UAAU;IAXjD;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,MAAM;IAIrD,SAAS,aAA8B,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC;IAIzE;;;;;;;;OAQG;IACH,GAAG,CAAC,GAAG,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI;IAIpC;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1E"}
|
|
@@ -102,7 +102,7 @@ const core_1 = require("@serenity-js/core");
|
|
|
102
102
|
*/
|
|
103
103
|
class Switch extends core_1.Interaction {
|
|
104
104
|
constructor(switchable) {
|
|
105
|
-
super();
|
|
105
|
+
super(`#actor switches to ${switchable}`);
|
|
106
106
|
this.switchable = switchable;
|
|
107
107
|
}
|
|
108
108
|
/**
|
|
@@ -134,12 +134,6 @@ class Switch extends core_1.Interaction {
|
|
|
134
134
|
const switchable = await actor.answer(this.switchable);
|
|
135
135
|
await switchable.switchTo();
|
|
136
136
|
}
|
|
137
|
-
/**
|
|
138
|
-
* @inheritDoc
|
|
139
|
-
*/
|
|
140
|
-
toString() {
|
|
141
|
-
return `#actor switches to ${this.switchable}`;
|
|
142
|
-
}
|
|
143
137
|
}
|
|
144
138
|
exports.Switch = Switch;
|
|
145
139
|
/**
|
|
@@ -147,7 +141,7 @@ exports.Switch = Switch;
|
|
|
147
141
|
*/
|
|
148
142
|
class SwitchAndPerformActivities extends core_1.Task {
|
|
149
143
|
constructor(switchable, activities) {
|
|
150
|
-
super();
|
|
144
|
+
super(`#actor switches to ${switchable}`);
|
|
151
145
|
this.switchable = switchable;
|
|
152
146
|
this.activities = activities;
|
|
153
147
|
}
|
|
@@ -160,11 +154,5 @@ class SwitchAndPerformActivities extends core_1.Task {
|
|
|
160
154
|
await actor.attemptsTo(...this.activities);
|
|
161
155
|
await origin.switchBack();
|
|
162
156
|
}
|
|
163
|
-
/**
|
|
164
|
-
* @inheritDoc
|
|
165
|
-
*/
|
|
166
|
-
toString() {
|
|
167
|
-
return `#actor switches to ${this.switchable}`;
|
|
168
|
-
}
|
|
169
157
|
}
|
|
170
158
|
//# sourceMappingURL=Switch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Switch.ts"],"names":[],"mappings":";;;AAAA,4CAAoH;AAIpH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AACH,MAAa,MAAO,SAAQ,kBAAW;IAanC,YAAuC,UAAkC;QACrE,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Switch.ts"],"names":[],"mappings":";;;AAAA,4CAAoH;AAIpH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AACH,MAAa,MAAO,SAAQ,kBAAW;IAanC,YAAuC,UAAkC;QACrE,KAAK,CAAC,sBAAuB,UAAW,EAAE,CAAC,CAAC;QADT,eAAU,GAAV,UAAU,CAAwB;IAEzE,CAAC;IAbD;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,UAAkC;QACxC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAMD;;;;;;;;OAQG;IACH,GAAG,CAAC,GAAG,UAAsB;QACzB,OAAO,IAAI,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAuC;QACnD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvD,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;CACJ;AAtCD,wBAsCC;AAED;;GAEG;AACH,MAAM,0BAA2B,SAAQ,WAAI;IACzC,YACqB,UAAkC,EAClC,UAAsB;QAEvC,KAAK,CAAC,sBAAuB,UAAW,EAAE,CAAC,CAAC;QAH3B,eAAU,GAAV,UAAU,CAAwB;QAClC,eAAU,GAAV,UAAU,CAAY;IAG3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAY;QAExB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;QAE3C,MAAM,KAAK,CAAC,UAAU,CAClB,GAAG,IAAI,CAAC,UAAU,CACrB,CAAA;QAED,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;CACJ"}
|
|
@@ -41,9 +41,5 @@ export declare class TakeScreenshot extends Interaction {
|
|
|
41
41
|
* @inheritDoc
|
|
42
42
|
*/
|
|
43
43
|
performAs(actor: UsesAbilities & AnswersQuestions & CollectsArtifacts): Promise<void>;
|
|
44
|
-
/**
|
|
45
|
-
* @inheritDoc
|
|
46
|
-
*/
|
|
47
|
-
toString(): string;
|
|
48
44
|
}
|
|
49
45
|
//# sourceMappingURL=TakeScreenshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TakeScreenshot.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/TakeScreenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAK,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKnH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAYrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAV3C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW;IAIhD,SAAS,aAA8B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;IAI/D;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"TakeScreenshot.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/TakeScreenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAK,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKnH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAYrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAV3C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW;IAIhD,SAAS,aAA8B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;IAI/D;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAU9F"}
|
|
@@ -34,7 +34,7 @@ const abilities_1 = require("../abilities");
|
|
|
34
34
|
*/
|
|
35
35
|
class TakeScreenshot extends core_1.Interaction {
|
|
36
36
|
constructor(name) {
|
|
37
|
-
super();
|
|
37
|
+
super((0, core_1.d) `#actor takes a screenshot of ${name}`);
|
|
38
38
|
this.name = name;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
@@ -55,12 +55,6 @@ class TakeScreenshot extends core_1.Interaction {
|
|
|
55
55
|
const name = await actor.answer(this.name);
|
|
56
56
|
actor.collect(model_1.Photo.fromBase64(screenshot), new model_1.Name(name));
|
|
57
57
|
}
|
|
58
|
-
/**
|
|
59
|
-
* @inheritDoc
|
|
60
|
-
*/
|
|
61
|
-
toString() {
|
|
62
|
-
return (0, core_1.d) `#actor takes a screenshot of ${this.name}`;
|
|
63
|
-
}
|
|
64
58
|
}
|
|
65
59
|
exports.TakeScreenshot = TakeScreenshot;
|
|
66
60
|
//# sourceMappingURL=TakeScreenshot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TakeScreenshot.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/TakeScreenshot.ts"],"names":[],"mappings":";;;AAAA,4CAAmH;AACnH,uDAA0D;AAE1D,4CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,cAAe,SAAQ,kBAAW;IAY3C,YAAuC,IAAwB;QAC3D,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"TakeScreenshot.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/TakeScreenshot.ts"],"names":[],"mappings":";;;AAAA,4CAAmH;AACnH,uDAA0D;AAE1D,4CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,cAAe,SAAQ,kBAAW;IAY3C,YAAuC,IAAwB;QAC3D,KAAK,CAAC,IAAA,QAAC,EAAA,gCAAiC,IAAK,EAAE,CAAC,CAAC;QADd,SAAI,GAAJ,IAAI,CAAoB;IAE/D,CAAC;IAZD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,IAAwB;QAC9B,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAMD;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAA2D;QACvE,MAAM,IAAI,GAAY,MAAM,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,UAAU,GAAM,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,IAAI,GAAY,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpD,KAAK,CAAC,OAAO,CACT,aAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAC5B,IAAI,YAAI,CAAC,IAAI,CAAC,CACjB,CAAC;IACN,CAAC;CACJ;AA7BD,wCA6BC"}
|
|
@@ -78,7 +78,7 @@ export declare abstract class PageElement<Native_Element_Type = any> implements
|
|
|
78
78
|
* is present in the [Document Object Model (DOM)](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model),
|
|
79
79
|
* `false` otherwise.
|
|
80
80
|
*/
|
|
81
|
-
|
|
81
|
+
isPresent(): Promise<boolean>;
|
|
82
82
|
/**
|
|
83
83
|
* Resolves to `true` when the underlying element:
|
|
84
84
|
* - has a [`selected` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option#attr-selected) for `<option />` elements
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageElement.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/PageElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAK,QAAQ,EAAY,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIvF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,8BAAsB,WAAW,CAAC,mBAAmB,GAAG,GAAG,CAAE,YAAW,QAAQ,EAAE,UAAU;aAoB5D,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAlBjE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAStF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAS9G,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAIjE,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC,mBAAmB,CAAC;IAE9F;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAInD,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACnF,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/B,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IACrC,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACtE,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAExD,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjD,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAEjC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAE9C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAErC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAEtC;;;;OAIG;
|
|
1
|
+
{"version":3,"file":"PageElement.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/PageElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAK,QAAQ,EAAY,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIvF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,8BAAsB,WAAW,CAAC,mBAAmB,GAAG,GAAG,CAAE,YAAW,QAAQ,EAAE,UAAU;aAoB5D,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAlBjE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAStF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAS9G,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAIjE,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC,mBAAmB,CAAC;IAE9F;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAInD,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACnF,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/B,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IACrC,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACtE,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAExD,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjD,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAEjC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAE9C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAErC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAEtC;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAEvC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CACzC"}
|
|
@@ -43,6 +43,14 @@ class PageElement {
|
|
|
43
43
|
toString() {
|
|
44
44
|
return `PageElement located ${this.locator.toString()}`;
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Returns a {@apilink Promise} that resolves to `true` when the element
|
|
48
|
+
* is present in the [Document Object Model (DOM)](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model),
|
|
49
|
+
* `false` otherwise.
|
|
50
|
+
*/
|
|
51
|
+
async isPresent() {
|
|
52
|
+
return this.locator.isPresent();
|
|
53
|
+
}
|
|
46
54
|
}
|
|
47
55
|
exports.PageElement = PageElement;
|
|
48
56
|
//# sourceMappingURL=PageElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageElement.js","sourceRoot":"","sources":["../../../src/screenplay/models/PageElement.ts"],"names":[],"mappings":";;;AAAA,4CAAuF;AACvF,2CAA+C;AAE/C,4CAA4C;AAO5C;;;;;;;;;;GAUG;AACH,MAAsB,WAAW;IAoB7B,YAA4B,OAAqC;QAArC,YAAO,GAAP,OAAO,CAA8B;QAC7D,IAAA,mBAAM,EAAC,wBAAwB,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IAC3D,CAAC;IApBD,MAAM,CAAC,OAAO,CAAM,QAA8B;QAC9C,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,wBAAyB,QAAS,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACvE,MAAM,UAAU,GAAI,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,MAAM,wBAAY,CAAC,EAAE,CAAM,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpE,OAAO,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,EAAE,CAAM,YAA0C,EAAE,aAA2C;QAClG,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,GAAI,YAAa,OAAQ,aAAc,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC5E,MAAM,KAAK,GAAO,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,MAAM,GAAM,MAAM,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAEpD,OAAO,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAQD;;OAEG;IACH,KAAK,CAAC,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAED,QAAQ;QACJ,OAAO,uBAAwB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAG,EAAE,CAAC;IAC9D,CAAC;
|
|
1
|
+
{"version":3,"file":"PageElement.js","sourceRoot":"","sources":["../../../src/screenplay/models/PageElement.ts"],"names":[],"mappings":";;;AAAA,4CAAuF;AACvF,2CAA+C;AAE/C,4CAA4C;AAO5C;;;;;;;;;;GAUG;AACH,MAAsB,WAAW;IAoB7B,YAA4B,OAAqC;QAArC,YAAO,GAAP,OAAO,CAA8B;QAC7D,IAAA,mBAAM,EAAC,wBAAwB,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IAC3D,CAAC;IApBD,MAAM,CAAC,OAAO,CAAM,QAA8B;QAC9C,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,wBAAyB,QAAS,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACvE,MAAM,UAAU,GAAI,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,MAAM,wBAAY,CAAC,EAAE,CAAM,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpE,OAAO,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,EAAE,CAAM,YAA0C,EAAE,aAA2C;QAClG,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,GAAI,YAAa,OAAQ,aAAc,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC5E,MAAM,KAAK,GAAO,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,MAAM,GAAM,MAAM,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAEpD,OAAO,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAQD;;OAEG;IACH,KAAK,CAAC,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAED,QAAQ;QACJ,OAAO,uBAAwB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAG,EAAE,CAAC;IAC9D,CAAC;IAuDD;;;;OAIG;IACH,KAAK,CAAC,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IACpC,CAAC;CAoBJ;AArHD,kCAqHC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Optional } from '@serenity-js/core';
|
|
1
2
|
/**
|
|
2
3
|
* {@apilink RootLocator} represents the context in which {@apilink Locator} looks for {@apilink PageElement} or {@apilink PageElements}.
|
|
3
4
|
* This context is either a parent element, or some representation of the top-level browsing context.
|
|
@@ -10,10 +11,11 @@
|
|
|
10
11
|
*
|
|
11
12
|
* @group Models
|
|
12
13
|
*/
|
|
13
|
-
export declare abstract class RootLocator<Native_Element_Type> {
|
|
14
|
+
export declare abstract class RootLocator<Native_Element_Type> implements Optional {
|
|
14
15
|
abstract switchToFrame(element: Native_Element_Type): Promise<void>;
|
|
15
16
|
abstract switchToParentFrame(): Promise<void>;
|
|
16
17
|
abstract switchToMainFrame(): Promise<void>;
|
|
18
|
+
abstract isPresent(): Promise<boolean>;
|
|
17
19
|
abstract nativeElement(): Promise<Partial<Native_Element_Type>>;
|
|
18
20
|
toString(): string;
|
|
19
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootLocator.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/RootLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,8BAAsB,WAAW,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"RootLocator.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/RootLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,8BAAsB,WAAW,CAAC,mBAAmB,CAAE,YAAW,QAAQ;aACtD,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;aAC1D,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;aACpC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;aAClC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;aAE7B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEtE,QAAQ,IAAI,MAAM;CAGrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootLocator.js","sourceRoot":"","sources":["../../../src/screenplay/models/RootLocator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"RootLocator.js","sourceRoot":"","sources":["../../../src/screenplay/models/RootLocator.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;GAWG;AACH,MAAsB,WAAW;IAQ7B,QAAQ;QACJ,OAAO,cAAc,CAAC;IAC1B,CAAC;CACJ;AAXD,kCAWC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serenity-js/web",
|
|
3
|
-
"version": "3.0.0-rc.
|
|
3
|
+
"version": "3.0.0-rc.29",
|
|
4
4
|
"description": "Serenity/JS Screenplay Pattern APIs for the Web",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"npm": "^6 || ^7 || ^8"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@serenity-js/assertions": "3.0.0-rc.
|
|
48
|
-
"@serenity-js/core": "3.0.0-rc.
|
|
47
|
+
"@serenity-js/assertions": "3.0.0-rc.29",
|
|
48
|
+
"@serenity-js/core": "3.0.0-rc.29",
|
|
49
49
|
"tiny-types": "^1.19.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
@@ -53,8 +53,9 @@
|
|
|
53
53
|
"@types/chai": "^4.3.3",
|
|
54
54
|
"@types/mocha": "^9.1.1",
|
|
55
55
|
"mocha": "^10.0.0",
|
|
56
|
+
"nyc": "15.1.0",
|
|
56
57
|
"ts-node": "^10.9.1",
|
|
57
|
-
"typescript": "^4.
|
|
58
|
+
"typescript": "^4.8.4"
|
|
58
59
|
},
|
|
59
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "c7db9619128025b61ab99fc530f3b0ae731374a7"
|
|
60
61
|
}
|
|
@@ -12,7 +12,7 @@ import { PageElement } from '../screenplay';
|
|
|
12
12
|
* import { ElementExpectation, PageElement } from '@serenity-js/web'
|
|
13
13
|
*
|
|
14
14
|
* export function isEmpty(): Expectation<boolean, PageElement> {
|
|
15
|
-
* return ElementExpectation.forElementTo('have an empty value',
|
|
15
|
+
* return ElementExpectation.forElementTo('have an empty value', async actual => {
|
|
16
16
|
* const value = await actual.value();
|
|
17
17
|
* return value.length === 0;
|
|
18
18
|
* })
|
|
@@ -90,7 +90,7 @@ export class ElementExpectation extends Expectation<PageElement> {
|
|
|
90
90
|
* import { ElementExpectation, PageElement } from '@serenity-js/web'
|
|
91
91
|
*
|
|
92
92
|
* export function isEmpty(): Expectation<boolean, PageElement> {
|
|
93
|
-
* return ElementExpectation.forElementTo('have an empty value',
|
|
93
|
+
* return ElementExpectation.forElementTo('have an empty value', async actual => {
|
|
94
94
|
* const value = await actual.value();
|
|
95
95
|
* return value.length === 0;
|
|
96
96
|
* })
|
|
@@ -7,7 +7,7 @@ import { ElementExpectation } from './ElementExpectation';
|
|
|
7
7
|
/**
|
|
8
8
|
* {@apilink Expectation} that an `<option>` or `<input>` element is selected, which means it resolves to `true` when:
|
|
9
9
|
* - the element {@apilink isPresent|is present} in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
|
|
10
|
-
* - {@apilink PageElement.
|
|
10
|
+
* - {@apilink PageElement.isSelected} resolves to `true`
|
|
11
11
|
*
|
|
12
12
|
* If the above conditions are not met, the expectation resolves to `false`.
|
|
13
13
|
*
|
|
@@ -68,7 +68,7 @@ export class Clear extends PageElementInteraction {
|
|
|
68
68
|
return new Clear(field);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
constructor(private readonly field: Answerable<PageElement>) {
|
|
71
|
+
protected constructor(private readonly field: Answerable<PageElement>) {
|
|
72
72
|
super(d`#actor clears the value of ${ field }`);
|
|
73
73
|
}
|
|
74
74
|
|
|
@@ -126,7 +126,10 @@ export class ExecuteScript {
|
|
|
126
126
|
* The script to be executed
|
|
127
127
|
*/
|
|
128
128
|
static async(script: string | Function): ExecuteScriptWithArguments { // eslint-disable-line @typescript-eslint/ban-types
|
|
129
|
-
return new ExecuteAsynchronousScript(
|
|
129
|
+
return new ExecuteAsynchronousScript(
|
|
130
|
+
`#actor executes an asynchronous script`,
|
|
131
|
+
script,
|
|
132
|
+
);
|
|
130
133
|
}
|
|
131
134
|
|
|
132
135
|
/**
|
|
@@ -184,7 +187,10 @@ export class ExecuteScript {
|
|
|
184
187
|
* The script to be executed
|
|
185
188
|
*/
|
|
186
189
|
static sync(script: string | Function): ExecuteScriptWithArguments { // eslint-disable-line @typescript-eslint/ban-types
|
|
187
|
-
return new ExecuteSynchronousScript(
|
|
190
|
+
return new ExecuteSynchronousScript(
|
|
191
|
+
`#actor executes a synchronous script`,
|
|
192
|
+
script,
|
|
193
|
+
);
|
|
188
194
|
}
|
|
189
195
|
}
|
|
190
196
|
|
|
@@ -199,10 +205,11 @@ export class ExecuteScript {
|
|
|
199
205
|
export abstract class ExecuteScriptWithArguments extends Interaction {
|
|
200
206
|
|
|
201
207
|
constructor(
|
|
208
|
+
description: string,
|
|
202
209
|
protected readonly script: string | Function, // eslint-disable-line @typescript-eslint/ban-types
|
|
203
210
|
protected readonly args: Array<Answerable<any>> = [],
|
|
204
211
|
) {
|
|
205
|
-
super();
|
|
212
|
+
super(description, Interaction.callerLocation(5));
|
|
206
213
|
}
|
|
207
214
|
|
|
208
215
|
/**
|
|
@@ -238,22 +245,19 @@ export abstract class ExecuteScriptWithArguments extends Interaction {
|
|
|
238
245
|
*/
|
|
239
246
|
class ExecuteAsynchronousScript extends ExecuteScriptWithArguments {
|
|
240
247
|
withArguments(...args: Array<Answerable<any>>): Interaction {
|
|
241
|
-
return new ExecuteAsynchronousScript(
|
|
248
|
+
return new ExecuteAsynchronousScript(
|
|
249
|
+
args.length > 0
|
|
250
|
+
? d `#actor executes an asynchronous script with arguments: ${ args }`
|
|
251
|
+
: this.description,
|
|
252
|
+
this.script,
|
|
253
|
+
args,
|
|
254
|
+
);
|
|
242
255
|
}
|
|
243
256
|
|
|
244
257
|
protected async executeAs(actor: UsesAbilities & AnswersQuestions, args: any[]): Promise<any> {
|
|
245
258
|
const page = await BrowseTheWeb.as(actor).currentPage();
|
|
246
259
|
return page.executeAsyncScript(this.script as unknown as any, ...args); // todo: fix types
|
|
247
260
|
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* @inheritDoc
|
|
251
|
-
*/
|
|
252
|
-
toString(): string {
|
|
253
|
-
return this.args.length > 0
|
|
254
|
-
? d `#actor executes an asynchronous script with arguments: ${ this.args }`
|
|
255
|
-
: `#actor executes an asynchronous script`;
|
|
256
|
-
}
|
|
257
261
|
}
|
|
258
262
|
|
|
259
263
|
/**
|
|
@@ -264,7 +268,7 @@ class ExecuteAsynchronousScript extends ExecuteScriptWithArguments {
|
|
|
264
268
|
*/
|
|
265
269
|
class ExecuteScriptFromUrl extends Interaction {
|
|
266
270
|
constructor(private readonly sourceUrl: string) {
|
|
267
|
-
super();
|
|
271
|
+
super(`#actor executes a script from ${ sourceUrl }`);
|
|
268
272
|
}
|
|
269
273
|
|
|
270
274
|
/**
|
|
@@ -289,7 +293,7 @@ class ExecuteScriptFromUrl extends Interaction {
|
|
|
289
293
|
callback();
|
|
290
294
|
});
|
|
291
295
|
script.addEventListener('error', function () {
|
|
292
|
-
return callback(
|
|
296
|
+
return callback(`Couldn't load script from ${ sourceUrl }`);
|
|
293
297
|
});
|
|
294
298
|
|
|
295
299
|
script.src = sourceUrl;
|
|
@@ -304,13 +308,6 @@ class ExecuteScriptFromUrl extends Interaction {
|
|
|
304
308
|
}
|
|
305
309
|
});
|
|
306
310
|
}
|
|
307
|
-
|
|
308
|
-
/**
|
|
309
|
-
* @inheritDoc
|
|
310
|
-
*/
|
|
311
|
-
toString(): string {
|
|
312
|
-
return `#actor executes a script from ${ this.sourceUrl }`;
|
|
313
|
-
}
|
|
314
311
|
}
|
|
315
312
|
|
|
316
313
|
/**
|
|
@@ -319,20 +316,17 @@ class ExecuteScriptFromUrl extends Interaction {
|
|
|
319
316
|
class ExecuteSynchronousScript extends ExecuteScriptWithArguments {
|
|
320
317
|
|
|
321
318
|
withArguments(...args: Array<Answerable<any>>): Interaction {
|
|
322
|
-
return new ExecuteSynchronousScript(
|
|
319
|
+
return new ExecuteSynchronousScript(
|
|
320
|
+
args.length > 0
|
|
321
|
+
? d `#actor executes a synchronous script with arguments: ${ args }`
|
|
322
|
+
: this.description,
|
|
323
|
+
this.script,
|
|
324
|
+
args,
|
|
325
|
+
);
|
|
323
326
|
}
|
|
324
327
|
|
|
325
328
|
protected async executeAs(actor: UsesAbilities & AnswersQuestions, args: any[]): Promise<any> {
|
|
326
329
|
const page = await BrowseTheWeb.as(actor).currentPage();
|
|
327
330
|
return page.executeScript(this.script as unknown as any, ...args); // todo fix type
|
|
328
331
|
}
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* @inheritDoc
|
|
332
|
-
*/
|
|
333
|
-
toString(): string {
|
|
334
|
-
return this.args.length > 0
|
|
335
|
-
? d `#actor executes a synchronous script with arguments: ${ this.args }`
|
|
336
|
-
: `#actor executes a synchronous script`;
|
|
337
|
-
}
|
|
338
332
|
}
|
|
@@ -165,7 +165,7 @@ export class Navigate {
|
|
|
165
165
|
*/
|
|
166
166
|
class NavigateToUrl extends Interaction {
|
|
167
167
|
constructor(private readonly url: Answerable<string>) {
|
|
168
|
-
super();
|
|
168
|
+
super(d`#actor navigates to ${ url }`);
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
/**
|
|
@@ -179,11 +179,4 @@ class NavigateToUrl extends Interaction {
|
|
|
179
179
|
throw new TestCompromisedError(`Couldn't navigate to ${ url }`, error);
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* @inheritDoc
|
|
185
|
-
*/
|
|
186
|
-
toString(): string {
|
|
187
|
-
return d `#actor navigates to ${ this.url }`;
|
|
188
|
-
}
|
|
189
182
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Answerable, AnswersQuestions, d, Interaction, LogicError } from '@serenity-js/core';
|
|
2
|
+
import { FileSystemLocation } from '@serenity-js/core/lib/io';
|
|
2
3
|
|
|
3
4
|
import { PageElement } from '../models';
|
|
4
5
|
|
|
@@ -12,13 +13,8 @@ import { PageElement } from '../models';
|
|
|
12
13
|
*/
|
|
13
14
|
export abstract class PageElementInteraction extends Interaction {
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* A human-readable description to be used when reporting
|
|
18
|
-
* this {@apilink Interaction}.
|
|
19
|
-
*/
|
|
20
|
-
protected constructor(private readonly description: string) {
|
|
21
|
-
super();
|
|
16
|
+
protected constructor(description: string, location: FileSystemLocation = Interaction.callerLocation(4)) {
|
|
17
|
+
super(description, location);
|
|
22
18
|
}
|
|
23
19
|
|
|
24
20
|
/**
|
|
@@ -40,11 +36,4 @@ export abstract class PageElementInteraction extends Interaction {
|
|
|
40
36
|
|
|
41
37
|
return resolved;
|
|
42
38
|
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* @inheritDoc
|
|
46
|
-
*/
|
|
47
|
-
toString(): string {
|
|
48
|
-
return this.description;
|
|
49
|
-
}
|
|
50
39
|
}
|
|
@@ -89,7 +89,7 @@ export class Press extends PageElementInteraction {
|
|
|
89
89
|
* @param keys
|
|
90
90
|
* A sequence of one or more keys to press
|
|
91
91
|
*/
|
|
92
|
-
constructor(
|
|
92
|
+
protected constructor(
|
|
93
93
|
private readonly keys: Answerable<Array<Key | string>>
|
|
94
94
|
) {
|
|
95
95
|
super(d `#actor presses ${ keys }`);
|
|
@@ -117,7 +117,7 @@ class PressKeyInField extends PageElementInteraction {
|
|
|
117
117
|
private readonly keys: Answerable<Array<Key | string>>,
|
|
118
118
|
private readonly field: Answerable<PageElement> /* todo | Question<AlertPromise> | AlertPromise */,
|
|
119
119
|
) {
|
|
120
|
-
super(d `#actor presses ${ keys } in ${ field }
|
|
120
|
+
super(d `#actor presses ${ keys } in ${ field }`, Interaction.callerLocation(3));
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
/**
|
|
@@ -62,7 +62,7 @@ export class Scroll extends Interaction {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
protected constructor(private readonly element: Answerable<PageElement>) {
|
|
65
|
-
super();
|
|
65
|
+
super(d`#actor scrolls to ${ element }`);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
/**
|
|
@@ -73,11 +73,4 @@ export class Scroll extends Interaction {
|
|
|
73
73
|
|
|
74
74
|
return target.scrollIntoView();
|
|
75
75
|
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* @inheritDoc
|
|
79
|
-
*/
|
|
80
|
-
toString(): string {
|
|
81
|
-
return d`#actor scrolls to ${ this.element }`;
|
|
82
|
-
}
|
|
83
76
|
}
|
|
@@ -114,7 +114,7 @@ export class Switch extends Interaction {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
protected constructor(private readonly switchable: Answerable<Switchable>) {
|
|
117
|
-
super();
|
|
117
|
+
super(`#actor switches to ${ switchable }`);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
/**
|
|
@@ -138,13 +138,6 @@ export class Switch extends Interaction {
|
|
|
138
138
|
|
|
139
139
|
await switchable.switchTo();
|
|
140
140
|
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* @inheritDoc
|
|
144
|
-
*/
|
|
145
|
-
toString(): string {
|
|
146
|
-
return `#actor switches to ${ this.switchable }`;
|
|
147
|
-
}
|
|
148
141
|
}
|
|
149
142
|
|
|
150
143
|
/**
|
|
@@ -155,7 +148,7 @@ class SwitchAndPerformActivities extends Task {
|
|
|
155
148
|
private readonly switchable: Answerable<Switchable>,
|
|
156
149
|
private readonly activities: Activity[]
|
|
157
150
|
) {
|
|
158
|
-
super();
|
|
151
|
+
super(`#actor switches to ${ switchable }`);
|
|
159
152
|
}
|
|
160
153
|
|
|
161
154
|
/**
|
|
@@ -173,11 +166,4 @@ class SwitchAndPerformActivities extends Task {
|
|
|
173
166
|
|
|
174
167
|
await origin.switchBack();
|
|
175
168
|
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* @inheritDoc
|
|
179
|
-
*/
|
|
180
|
-
toString(): string {
|
|
181
|
-
return `#actor switches to ${ this.switchable }`;
|
|
182
|
-
}
|
|
183
169
|
}
|
|
@@ -44,7 +44,7 @@ export class TakeScreenshot extends Interaction {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
protected constructor(private readonly name: Answerable<string>) {
|
|
47
|
-
super();
|
|
47
|
+
super(d`#actor takes a screenshot of ${ name }`);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
/**
|
|
@@ -60,11 +60,4 @@ export class TakeScreenshot extends Interaction {
|
|
|
60
60
|
new Name(name),
|
|
61
61
|
);
|
|
62
62
|
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* @inheritDoc
|
|
66
|
-
*/
|
|
67
|
-
toString(): string {
|
|
68
|
-
return d `#actor takes a screenshot of ${this.name}`;
|
|
69
|
-
}
|
|
70
63
|
}
|
|
@@ -114,7 +114,9 @@ export abstract class PageElement<Native_Element_Type = any> implements Optional
|
|
|
114
114
|
* is present in the [Document Object Model (DOM)](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model),
|
|
115
115
|
* `false` otherwise.
|
|
116
116
|
*/
|
|
117
|
-
|
|
117
|
+
async isPresent(): Promise<boolean> {
|
|
118
|
+
return this.locator.isPresent();
|
|
119
|
+
}
|
|
118
120
|
|
|
119
121
|
/**
|
|
120
122
|
* Resolves to `true` when the underlying element:
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Optional } from '@serenity-js/core';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* {@apilink RootLocator} represents the context in which {@apilink Locator} looks for {@apilink PageElement} or {@apilink PageElements}.
|
|
3
5
|
* This context is either a parent element, or some representation of the top-level browsing context.
|
|
@@ -10,10 +12,11 @@
|
|
|
10
12
|
*
|
|
11
13
|
* @group Models
|
|
12
14
|
*/
|
|
13
|
-
export abstract class RootLocator<Native_Element_Type> {
|
|
15
|
+
export abstract class RootLocator<Native_Element_Type> implements Optional {
|
|
14
16
|
public abstract switchToFrame(element: Native_Element_Type): Promise<void>;
|
|
15
17
|
public abstract switchToParentFrame(): Promise<void>;
|
|
16
18
|
public abstract switchToMainFrame(): Promise<void>;
|
|
19
|
+
public abstract isPresent(): Promise<boolean>;
|
|
17
20
|
|
|
18
21
|
public abstract nativeElement(): Promise<Partial<Native_Element_Type>>;
|
|
19
22
|
|