@serenity-js/web 3.25.0 → 3.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +1 -1
- package/lib/errors/BrowserWindowClosedError.d.ts +2 -2
- package/lib/errors/BrowserWindowClosedError.js +2 -2
- package/lib/errors/CookieMissingError.d.ts +2 -2
- package/lib/errors/CookieMissingError.js +2 -2
- package/lib/errors/ModalDialogObstructsScreenshotError.d.ts +3 -3
- package/lib/errors/ModalDialogObstructsScreenshotError.js +3 -3
- package/lib/expectations/isActive.d.ts +8 -8
- package/lib/expectations/isActive.js +8 -8
- package/lib/expectations/isClickable.d.ts +8 -8
- package/lib/expectations/isClickable.js +8 -8
- package/lib/expectations/isEnabled.d.ts +8 -8
- package/lib/expectations/isEnabled.js +8 -8
- package/lib/expectations/isSelected.d.ts +8 -8
- package/lib/expectations/isSelected.js +8 -8
- package/lib/expectations/isVisible.d.ts +8 -8
- package/lib/expectations/isVisible.js +8 -8
- package/lib/screenplay/abilities/BrowseTheWeb.d.ts +25 -23
- package/lib/screenplay/abilities/BrowseTheWeb.d.ts.map +1 -1
- package/lib/screenplay/abilities/BrowseTheWeb.js +25 -23
- package/lib/screenplay/abilities/BrowseTheWeb.js.map +1 -1
- package/lib/screenplay/interactions/Clear.d.ts +7 -7
- package/lib/screenplay/interactions/Clear.js +7 -7
- package/lib/screenplay/interactions/Click.d.ts +5 -5
- package/lib/screenplay/interactions/Click.js +5 -5
- package/lib/screenplay/interactions/DoubleClick.d.ts +5 -5
- package/lib/screenplay/interactions/DoubleClick.js +5 -5
- package/lib/screenplay/interactions/Enter.d.ts +5 -5
- package/lib/screenplay/interactions/Enter.js +5 -5
- package/lib/screenplay/interactions/ExecuteScript.d.ts +19 -19
- package/lib/screenplay/interactions/ExecuteScript.js +18 -18
- package/lib/screenplay/interactions/Hover.d.ts +5 -5
- package/lib/screenplay/interactions/Hover.js +5 -5
- package/lib/screenplay/interactions/Navigate.d.ts +8 -8
- package/lib/screenplay/interactions/Navigate.js +8 -8
- package/lib/screenplay/interactions/PageElementInteraction.d.ts +3 -3
- package/lib/screenplay/interactions/PageElementInteraction.js +3 -3
- package/lib/screenplay/interactions/Press.d.ts +10 -10
- package/lib/screenplay/interactions/Press.js +10 -10
- package/lib/screenplay/interactions/RightClick.d.ts +5 -5
- package/lib/screenplay/interactions/RightClick.js +5 -5
- package/lib/screenplay/interactions/Scroll.d.ts +5 -5
- package/lib/screenplay/interactions/Scroll.js +5 -5
- package/lib/screenplay/interactions/Select.d.ts +22 -22
- package/lib/screenplay/interactions/Select.js +22 -22
- package/lib/screenplay/interactions/Switch.d.ts +16 -16
- package/lib/screenplay/interactions/Switch.js +16 -16
- package/lib/screenplay/interactions/TakeScreenshot.d.ts +11 -10
- package/lib/screenplay/interactions/TakeScreenshot.d.ts.map +1 -1
- package/lib/screenplay/interactions/TakeScreenshot.js +11 -10
- package/lib/screenplay/interactions/TakeScreenshot.js.map +1 -1
- package/lib/screenplay/models/BrowserCapabilities.d.ts +1 -1
- package/lib/screenplay/models/BrowsingSession.d.ts +8 -8
- package/lib/screenplay/models/BrowsingSession.js +6 -6
- package/lib/screenplay/models/Cookie.d.ts +10 -10
- package/lib/screenplay/models/Cookie.js +9 -9
- package/lib/screenplay/models/CookieData.d.ts +4 -4
- package/lib/screenplay/models/Key.d.ts +4 -4
- package/lib/screenplay/models/Key.js +4 -4
- package/lib/screenplay/models/Locator.d.ts +8 -8
- package/lib/screenplay/models/Locator.js +8 -8
- package/lib/screenplay/models/Page.d.ts +32 -32
- package/lib/screenplay/models/Page.js +14 -14
- package/lib/screenplay/models/PageElement.d.ts +13 -13
- package/lib/screenplay/models/PageElement.js +7 -7
- package/lib/screenplay/models/PageElements.d.ts +6 -6
- package/lib/screenplay/models/PageElements.js +6 -6
- package/lib/screenplay/models/RootLocator.d.ts +5 -5
- package/lib/screenplay/models/RootLocator.js +5 -5
- package/lib/screenplay/models/SelectOption.d.ts +4 -4
- package/lib/screenplay/models/SelectOption.js +4 -4
- package/lib/screenplay/models/Switchable.d.ts +6 -6
- package/lib/screenplay/models/SwitchableOrigin.d.ts +4 -4
- package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts +2 -2
- package/lib/screenplay/models/dialogs/AbsentModalDialog.js +2 -2
- package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts +3 -3
- package/lib/screenplay/models/dialogs/AcceptedModalDialog.js +3 -3
- package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts +3 -3
- package/lib/screenplay/models/dialogs/DismissedModalDialog.js +3 -3
- package/lib/screenplay/models/dialogs/ModalDialog.d.ts +12 -9
- package/lib/screenplay/models/dialogs/ModalDialog.d.ts.map +1 -1
- package/lib/screenplay/models/dialogs/ModalDialog.js +10 -7
- package/lib/screenplay/models/dialogs/ModalDialog.js.map +1 -1
- package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts +5 -5
- package/lib/screenplay/models/dialogs/ModalDialogHandler.js +5 -5
- package/lib/screenplay/models/selectors/By.d.ts +14 -14
- package/lib/screenplay/models/selectors/By.js +14 -14
- package/lib/screenplay/models/selectors/ByCss.d.ts +2 -2
- package/lib/screenplay/models/selectors/ByCss.js +2 -2
- package/lib/screenplay/models/selectors/ByCssContainingText.d.ts +2 -2
- package/lib/screenplay/models/selectors/ByCssContainingText.js +2 -2
- package/lib/screenplay/models/selectors/ByDeepCss.d.ts +2 -2
- package/lib/screenplay/models/selectors/ByDeepCss.js +2 -2
- package/lib/screenplay/models/selectors/ById.d.ts +2 -2
- package/lib/screenplay/models/selectors/ById.js +2 -2
- package/lib/screenplay/models/selectors/ByTagName.d.ts +2 -2
- package/lib/screenplay/models/selectors/ByTagName.js +2 -2
- package/lib/screenplay/models/selectors/ByXPath.d.ts +2 -2
- package/lib/screenplay/models/selectors/ByXPath.js +2 -2
- package/lib/screenplay/models/selectors/Selector.d.ts +1 -1
- package/lib/screenplay/models/selectors/Selector.js +1 -1
- package/lib/screenplay/questions/Attribute.d.ts +13 -13
- package/lib/screenplay/questions/Attribute.js +13 -13
- package/lib/screenplay/questions/ComputedStyle.d.ts +16 -16
- package/lib/screenplay/questions/ComputedStyle.js +16 -16
- package/lib/screenplay/questions/CssClasses.d.ts +13 -13
- package/lib/screenplay/questions/CssClasses.js +13 -13
- package/lib/screenplay/questions/LastScriptExecution.d.ts +7 -7
- package/lib/screenplay/questions/LastScriptExecution.js +7 -7
- package/lib/screenplay/questions/Selected.d.ts +17 -17
- package/lib/screenplay/questions/Selected.js +17 -17
- package/lib/screenplay/questions/Text.d.ts +18 -18
- package/lib/screenplay/questions/Text.js +14 -14
- package/lib/screenplay/questions/Value.d.ts +12 -12
- package/lib/screenplay/questions/Value.js +12 -12
- package/lib/stage/crew/photographer/Photographer.d.ts +18 -17
- package/lib/stage/crew/photographer/Photographer.d.ts.map +1 -1
- package/lib/stage/crew/photographer/Photographer.js +18 -17
- package/lib/stage/crew/photographer/Photographer.js.map +1 -1
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +6 -6
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +6 -6
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +3 -3
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +3 -3
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +3 -3
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +3 -3
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +3 -3
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +3 -3
- package/package.json +4 -4
- package/src/errors/BrowserWindowClosedError.ts +2 -2
- package/src/errors/CookieMissingError.ts +2 -2
- package/src/errors/ModalDialogObstructsScreenshotError.ts +3 -3
- package/src/expectations/isActive.ts +8 -8
- package/src/expectations/isClickable.ts +8 -8
- package/src/expectations/isEnabled.ts +8 -8
- package/src/expectations/isSelected.ts +8 -8
- package/src/expectations/isVisible.ts +8 -8
- package/src/screenplay/abilities/BrowseTheWeb.ts +25 -23
- package/src/screenplay/interactions/Clear.ts +7 -7
- package/src/screenplay/interactions/Click.ts +5 -5
- package/src/screenplay/interactions/DoubleClick.ts +5 -5
- package/src/screenplay/interactions/Enter.ts +5 -5
- package/src/screenplay/interactions/ExecuteScript.ts +19 -19
- package/src/screenplay/interactions/Hover.ts +5 -5
- package/src/screenplay/interactions/Navigate.ts +8 -8
- package/src/screenplay/interactions/PageElementInteraction.ts +3 -3
- package/src/screenplay/interactions/Press.ts +10 -10
- package/src/screenplay/interactions/RightClick.ts +5 -5
- package/src/screenplay/interactions/Scroll.ts +5 -5
- package/src/screenplay/interactions/Select.ts +22 -22
- package/src/screenplay/interactions/Switch.ts +16 -16
- package/src/screenplay/interactions/TakeScreenshot.ts +11 -10
- package/src/screenplay/models/BrowserCapabilities.ts +1 -1
- package/src/screenplay/models/BrowsingSession.ts +8 -8
- package/src/screenplay/models/Cookie.ts +10 -10
- package/src/screenplay/models/CookieData.ts +4 -4
- package/src/screenplay/models/Key.ts +4 -4
- package/src/screenplay/models/Locator.ts +8 -8
- package/src/screenplay/models/Page.ts +32 -32
- package/src/screenplay/models/PageElement.ts +13 -13
- package/src/screenplay/models/PageElements.ts +6 -6
- package/src/screenplay/models/RootLocator.ts +5 -5
- package/src/screenplay/models/SelectOption.ts +4 -4
- package/src/screenplay/models/Switchable.ts +6 -6
- package/src/screenplay/models/SwitchableOrigin.ts +4 -4
- package/src/screenplay/models/dialogs/AbsentModalDialog.ts +2 -2
- package/src/screenplay/models/dialogs/AcceptedModalDialog.ts +3 -3
- package/src/screenplay/models/dialogs/DismissedModalDialog.ts +3 -3
- package/src/screenplay/models/dialogs/ModalDialog.ts +12 -9
- package/src/screenplay/models/dialogs/ModalDialogHandler.ts +5 -5
- package/src/screenplay/models/selectors/By.ts +14 -14
- package/src/screenplay/models/selectors/ByCss.ts +2 -2
- package/src/screenplay/models/selectors/ByCssContainingText.ts +2 -2
- package/src/screenplay/models/selectors/ByDeepCss.ts +2 -2
- package/src/screenplay/models/selectors/ById.ts +2 -2
- package/src/screenplay/models/selectors/ByTagName.ts +2 -2
- package/src/screenplay/models/selectors/ByXPath.ts +2 -2
- package/src/screenplay/models/selectors/Selector.ts +1 -1
- package/src/screenplay/questions/Attribute.ts +13 -13
- package/src/screenplay/questions/ComputedStyle.ts +16 -16
- package/src/screenplay/questions/CssClasses.ts +13 -13
- package/src/screenplay/questions/LastScriptExecution.ts +7 -7
- package/src/screenplay/questions/Selected.ts +17 -17
- package/src/screenplay/questions/Text.ts +18 -18
- package/src/screenplay/questions/Value.ts +12 -12
- package/src/stage/crew/photographer/Photographer.ts +18 -17
- package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +6 -6
- package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +3 -3
- package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +3 -3
- package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +3 -3
|
@@ -5,8 +5,8 @@ import type { PageElement } from '../models';
|
|
|
5
5
|
import { PageElementInteraction } from './PageElementInteraction';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Instructs an
|
|
9
|
-
* to scroll the given
|
|
8
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
9
|
+
* to scroll the given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) into view and then [click](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event) on it.
|
|
10
10
|
*
|
|
11
11
|
* ## Example widget
|
|
12
12
|
*
|
|
@@ -44,15 +44,15 @@ import { PageElementInteraction } from './PageElementInteraction';
|
|
|
44
44
|
*
|
|
45
45
|
* ## Learn more
|
|
46
46
|
*
|
|
47
|
-
* -
|
|
48
|
-
* -
|
|
47
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
48
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
49
49
|
*
|
|
50
50
|
* @group Activities
|
|
51
51
|
*/
|
|
52
52
|
export class Click extends PageElementInteraction {
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
|
-
* Instantiates this
|
|
55
|
+
* Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
|
|
56
56
|
*
|
|
57
57
|
* @param pageElement
|
|
58
58
|
* The element to be clicked on
|
|
@@ -5,8 +5,8 @@ import type { PageElement } from '../models';
|
|
|
5
5
|
import { PageElementInteraction } from './PageElementInteraction';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Instructs an
|
|
9
|
-
* to perform a double click on a given
|
|
8
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
9
|
+
* to perform a double click on a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
10
10
|
*
|
|
11
11
|
* ## Example widget
|
|
12
12
|
* ```html
|
|
@@ -67,15 +67,15 @@ import { PageElementInteraction } from './PageElementInteraction';
|
|
|
67
67
|
*
|
|
68
68
|
* ## Learn more
|
|
69
69
|
*
|
|
70
|
-
* -
|
|
71
|
-
* -
|
|
70
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
71
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
72
72
|
*
|
|
73
73
|
* @group Activities
|
|
74
74
|
*/
|
|
75
75
|
export class DoubleClick extends PageElementInteraction {
|
|
76
76
|
|
|
77
77
|
/**
|
|
78
|
-
* Instantiates this
|
|
78
|
+
* Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
|
|
79
79
|
*
|
|
80
80
|
* @param pageElement
|
|
81
81
|
* The element to be double-clicked on
|
|
@@ -6,7 +6,7 @@ import type { PageElement } from '../models';
|
|
|
6
6
|
import { PageElementInteraction } from './PageElementInteraction';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Instructs an
|
|
9
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
10
10
|
* to enter a value into a [form `input`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input) field.
|
|
11
11
|
*
|
|
12
12
|
* ## Example widget
|
|
@@ -43,7 +43,7 @@ import { PageElementInteraction } from './PageElementInteraction';
|
|
|
43
43
|
* ## Handling sensitive information
|
|
44
44
|
*
|
|
45
45
|
* By design, any data handled by an actor appears in Serenity/JS reports.
|
|
46
|
-
* To prevent the exposure of any sensitive information, such as passwords or tokens, you should use
|
|
46
|
+
* To prevent the exposure of any sensitive information, such as passwords or tokens, you should use [`Masked`](https://serenity-js.org/api/core/class/Masked/).
|
|
47
47
|
*
|
|
48
48
|
* ```ts
|
|
49
49
|
* import { actorCalled, Masked } from '@serenity-js/core'
|
|
@@ -59,15 +59,15 @@ import { PageElementInteraction } from './PageElementInteraction';
|
|
|
59
59
|
*
|
|
60
60
|
* ## Learn more
|
|
61
61
|
*
|
|
62
|
-
* -
|
|
63
|
-
* -
|
|
62
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
63
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
64
64
|
*
|
|
65
65
|
* @group Activities
|
|
66
66
|
*/
|
|
67
67
|
export class Enter extends PageElementInteraction {
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
|
-
* Instantiates this
|
|
70
|
+
* Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
|
|
71
71
|
*
|
|
72
72
|
* @param values
|
|
73
73
|
* The text value to be entered
|
|
@@ -6,20 +6,20 @@ import { Name, TextData } from '@serenity-js/core/lib/model';
|
|
|
6
6
|
import { BrowseTheWeb } from '../abilities';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Instructs an
|
|
9
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
10
10
|
* to inject a script into the browser and execute it in the context of the current browser tab.
|
|
11
11
|
*
|
|
12
12
|
* ## Learn more
|
|
13
13
|
*
|
|
14
|
-
* -
|
|
15
|
-
* -
|
|
14
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
15
|
+
* - [`LastScriptExecution.result`](https://serenity-js.org/api/web/class/LastScriptExecution/#result)
|
|
16
16
|
*
|
|
17
17
|
* @group Activities
|
|
18
18
|
*/
|
|
19
19
|
export class ExecuteScript {
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
* Instantiates a version of this
|
|
22
|
+
* Instantiates a version of this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
|
|
23
23
|
* configured to load a script from `sourceUrl`.
|
|
24
24
|
*
|
|
25
25
|
* @param sourceUrl
|
|
@@ -30,7 +30,7 @@ export class ExecuteScript {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
|
-
* Instructs an
|
|
33
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
34
34
|
* to execute an asynchronous script within the context of the current browser tab.
|
|
35
35
|
*
|
|
36
36
|
* The script fragment will be executed as the body of an anonymous function.
|
|
@@ -39,20 +39,20 @@ export class ExecuteScript {
|
|
|
39
39
|
*
|
|
40
40
|
* Any arguments provided in addition to the script will be included as script arguments and may be referenced
|
|
41
41
|
* using the `arguments` object. Arguments may be a `boolean`, `number`, `string`
|
|
42
|
-
* or
|
|
42
|
+
* or [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
43
43
|
* Arrays and objects may also be used as script arguments as long as each item adheres
|
|
44
44
|
* to the types previously mentioned.
|
|
45
45
|
*
|
|
46
|
-
* Unlike executing synchronous JavaScript with
|
|
46
|
+
* Unlike executing synchronous JavaScript with [`ExecuteScript.sync`](https://serenity-js.org/api/web/class/ExecuteScript/#sync),
|
|
47
47
|
* scripts executed with this function must explicitly signal they are finished by invoking the provided callback.
|
|
48
48
|
*
|
|
49
49
|
* This callback will always be injected into the executed function as the last argument,
|
|
50
50
|
* and thus may be referenced with `arguments[arguments.length - 1]`.
|
|
51
51
|
*
|
|
52
52
|
* If the script invokes the `callback` with a return value, this will be made available
|
|
53
|
-
* via the
|
|
53
|
+
* via the [`LastScriptExecution.result`](https://serenity-js.org/api/web/class/LastScriptExecution/#result).
|
|
54
54
|
*
|
|
55
|
-
* **Please note** that in order to signal an error in the `script` you need to throw an
|
|
55
|
+
* **Please note** that in order to signal an error in the `script` you need to throw an [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error)
|
|
56
56
|
* instead of passing it to the callback function.
|
|
57
57
|
*
|
|
58
58
|
* #### Executing an async script
|
|
@@ -111,7 +111,7 @@ export class ExecuteScript {
|
|
|
111
111
|
*
|
|
112
112
|
* #### Passing PageElement arguments to an async script
|
|
113
113
|
*
|
|
114
|
-
* Serenity/JS automatically converts
|
|
114
|
+
* Serenity/JS automatically converts [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects passed as arguments to the script
|
|
115
115
|
* into their corresponding DOM elements.
|
|
116
116
|
*
|
|
117
117
|
* ```ts
|
|
@@ -135,7 +135,7 @@ export class ExecuteScript {
|
|
|
135
135
|
*
|
|
136
136
|
* #### Using nested data structures containing PageElement objects
|
|
137
137
|
*
|
|
138
|
-
* Serenity/JS automatically converts any
|
|
138
|
+
* Serenity/JS automatically converts any [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects
|
|
139
139
|
* contained in nested data structures passed to the script
|
|
140
140
|
* into their corresponding DOM elements.
|
|
141
141
|
*
|
|
@@ -165,7 +165,7 @@ export class ExecuteScript {
|
|
|
165
165
|
* ```
|
|
166
166
|
*
|
|
167
167
|
* #### Learn more
|
|
168
|
-
* -
|
|
168
|
+
* - [`LastScriptExecution.result`](https://serenity-js.org/api/web/class/LastScriptExecution/#result)
|
|
169
169
|
*
|
|
170
170
|
* @param script
|
|
171
171
|
* The script to be executed
|
|
@@ -178,10 +178,10 @@ export class ExecuteScript {
|
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
/**
|
|
181
|
-
* Instructs an
|
|
181
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
182
182
|
* to execute a synchronous script within the context of the current browser tab.
|
|
183
183
|
*
|
|
184
|
-
* If the script returns a value, it will be made available via
|
|
184
|
+
* If the script returns a value, it will be made available via [`LastScriptExecution.result`](https://serenity-js.org/api/web/class/LastScriptExecution/#result).
|
|
185
185
|
*
|
|
186
186
|
* #### Executing a sync script as string and reading the result
|
|
187
187
|
*
|
|
@@ -229,7 +229,7 @@ export class ExecuteScript {
|
|
|
229
229
|
*
|
|
230
230
|
* #### Passing PageElement arguments to a sync script
|
|
231
231
|
*
|
|
232
|
-
* Serenity/JS automatically converts
|
|
232
|
+
* Serenity/JS automatically converts [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects passed as arguments to the script
|
|
233
233
|
* into their corresponding DOM elements.
|
|
234
234
|
*
|
|
235
235
|
* ```ts
|
|
@@ -250,7 +250,7 @@ export class ExecuteScript {
|
|
|
250
250
|
*
|
|
251
251
|
* #### Using nested data structures containing PageElement objects
|
|
252
252
|
*
|
|
253
|
-
* Serenity/JS automatically converts any
|
|
253
|
+
* Serenity/JS automatically converts any [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects
|
|
254
254
|
* contained in nested data structures passed to the script
|
|
255
255
|
* into their corresponding DOM elements.
|
|
256
256
|
*
|
|
@@ -277,7 +277,7 @@ export class ExecuteScript {
|
|
|
277
277
|
* ```
|
|
278
278
|
*
|
|
279
279
|
* #### Learn more
|
|
280
|
-
* -
|
|
280
|
+
* - [`LastScriptExecution.result`](https://serenity-js.org/api/web/class/LastScriptExecution/#result)
|
|
281
281
|
*
|
|
282
282
|
* @param script
|
|
283
283
|
* The script to be executed
|
|
@@ -294,7 +294,7 @@ export class ExecuteScript {
|
|
|
294
294
|
* Allows for a script to be executed to be parametrised.
|
|
295
295
|
*
|
|
296
296
|
* ## Learn more
|
|
297
|
-
* -
|
|
297
|
+
* - [`ExecuteScript`](https://serenity-js.org/api/web/class/ExecuteScript/)
|
|
298
298
|
*
|
|
299
299
|
* @group Activities
|
|
300
300
|
*/
|
|
@@ -309,7 +309,7 @@ export abstract class ExecuteScriptWithArguments extends Interaction {
|
|
|
309
309
|
}
|
|
310
310
|
|
|
311
311
|
/**
|
|
312
|
-
* Instantiates this
|
|
312
|
+
* Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
|
|
313
313
|
*
|
|
314
314
|
* @param args
|
|
315
315
|
* Arguments to parametrise the script with
|
|
@@ -5,8 +5,8 @@ import type { PageElement } from '../models';
|
|
|
5
5
|
import { PageElementInteraction } from './PageElementInteraction';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Instructs an
|
|
9
|
-
* to hover the mouse pointer over a given
|
|
8
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
9
|
+
* to hover the mouse pointer over a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
10
10
|
*
|
|
11
11
|
* ## Example widget
|
|
12
12
|
* ```html
|
|
@@ -48,15 +48,15 @@ import { PageElementInteraction } from './PageElementInteraction';
|
|
|
48
48
|
*
|
|
49
49
|
* ## Learn more
|
|
50
50
|
*
|
|
51
|
-
* -
|
|
52
|
-
* -
|
|
51
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
52
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
53
53
|
*
|
|
54
54
|
* @group Activities
|
|
55
55
|
*/
|
|
56
56
|
export class Hover extends PageElementInteraction {
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
|
-
* Instantiates this
|
|
59
|
+
* Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
|
|
60
60
|
*
|
|
61
61
|
* @param pageElement
|
|
62
62
|
* The element to be hovered over
|
|
@@ -4,20 +4,20 @@ import { Interaction, TestCompromisedError, the } from '@serenity-js/core';
|
|
|
4
4
|
import { BrowseTheWeb } from '../abilities';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Instructs an
|
|
7
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
8
8
|
* to navigate to a specific destination, as well as back and forth in the browser history,
|
|
9
9
|
* or reload the current page.
|
|
10
10
|
*
|
|
11
11
|
* ## Learn more
|
|
12
12
|
*
|
|
13
|
-
* -
|
|
13
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
14
14
|
*
|
|
15
15
|
* @group Activities
|
|
16
16
|
*/
|
|
17
17
|
export class Navigate {
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* Instructs an
|
|
20
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
21
21
|
* to navigate to a given URL.
|
|
22
22
|
*
|
|
23
23
|
* The URL can be:
|
|
@@ -55,14 +55,14 @@ export class Navigate {
|
|
|
55
55
|
*
|
|
56
56
|
* #### Learn more
|
|
57
57
|
*
|
|
58
|
-
* -
|
|
58
|
+
* - [`Page.navigateTo`](https://serenity-js.org/api/web/class/Page/#navigateTo)
|
|
59
59
|
* - [WebdriverIO: Configuration Options](https://webdriver.io/docs/options/#baseurl)
|
|
60
60
|
* - [Playwright: Browser](https://playwright.dev/docs/api/class-browser#browser-new-context)
|
|
61
61
|
* - [Playwright: Test Options](https://playwright.dev/docs/api/class-testoptions#test-options-base-url)
|
|
62
62
|
* - [Protractor: Configuration](https://github.com/angular/protractor/blob/master/lib/config.ts)
|
|
63
63
|
*
|
|
64
64
|
* @param url
|
|
65
|
-
* An absolute URL or path an
|
|
65
|
+
* An absolute URL or path an [`Actor`](https://serenity-js.org/api/core/class/Actor/)
|
|
66
66
|
* should navigate to
|
|
67
67
|
*/
|
|
68
68
|
static to(url: Answerable<string>): Interaction {
|
|
@@ -70,7 +70,7 @@ export class Navigate {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
|
-
* Instructs an
|
|
73
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
74
74
|
* to navigate back one page in the joint session history of the current top-level browsing context.
|
|
75
75
|
*
|
|
76
76
|
* #### Navigate back in browsing history
|
|
@@ -101,7 +101,7 @@ export class Navigate {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
/**
|
|
104
|
-
* Instructs an
|
|
104
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
105
105
|
* to navigate forward one page in the joint session history of the current top-level browsing context.
|
|
106
106
|
*
|
|
107
107
|
* #### Navigate forward in browsing history
|
|
@@ -133,7 +133,7 @@ export class Navigate {
|
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
/**
|
|
136
|
-
* Instructs an
|
|
136
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
137
137
|
* to reload the current page.
|
|
138
138
|
*
|
|
139
139
|
* #### Navigate to path relative to baseUrl
|
|
@@ -5,10 +5,10 @@ import type { FileSystemLocation } from '@serenity-js/core/lib/io';
|
|
|
5
5
|
import type { PageElement } from '../models';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* A base class for interactions with
|
|
8
|
+
* A base class for interactions with [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects.
|
|
9
9
|
*
|
|
10
10
|
* **Note:** The recommended way to implement custom interactions
|
|
11
|
-
* in your code is to use the
|
|
11
|
+
* in your code is to use the [`Interaction.where`](https://serenity-js.org/api/core/class/Interaction/#where) factory method.
|
|
12
12
|
*
|
|
13
13
|
* @group Activities
|
|
14
14
|
*/
|
|
@@ -19,7 +19,7 @@ export abstract class PageElementInteraction extends Interaction {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
* Returns the resolved
|
|
22
|
+
* Returns the resolved [`PageElement`](https://serenity-js.org/api/web/class/PageElement/), or throws a [`LogicError`](https://serenity-js.org/api/core/class/LogicError/)
|
|
23
23
|
* if the element is `undefined`.
|
|
24
24
|
*
|
|
25
25
|
* @param actor
|
|
@@ -8,16 +8,16 @@ import { Key } from '../models';
|
|
|
8
8
|
import { PageElementInteraction } from './PageElementInteraction';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Instructs an
|
|
11
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
12
12
|
* to send a key press or a sequence of keys to a Web element.
|
|
13
13
|
*
|
|
14
14
|
* **Note:** On macOS, some keyboard shortcuts might not work
|
|
15
15
|
* with the [`devtools` protocol](https://webdriver.io/docs/automationProtocols/#devtools-protocol).
|
|
16
16
|
*
|
|
17
17
|
* For example:
|
|
18
|
-
* - to *copy*, instead of
|
|
19
|
-
* - to *cut*, instead of
|
|
20
|
-
* - to *paste*, instead of
|
|
18
|
+
* - to *copy*, instead of [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta)+`C`, use [`Key.Control`](https://serenity-js.org/api/web/class/Key/#Control)+[`Key.Insert`](https://serenity-js.org/api/web/class/Key/#Insert)
|
|
19
|
+
* - to *cut*, instead of [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta)+`X`, use [`Key.Control`](https://serenity-js.org/api/web/class/Key/#Control)+[`Key.Delete`](https://serenity-js.org/api/web/class/Key/#Delete)
|
|
20
|
+
* - to *paste*, instead of [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta)+`V`, use [`Key.Shift`](https://serenity-js.org/api/web/class/Key/#Shift)+[`Key.Insert`](https://serenity-js.org/api/web/class/Key/#Insert)
|
|
21
21
|
*
|
|
22
22
|
* ## Example widget
|
|
23
23
|
*
|
|
@@ -55,18 +55,18 @@ import { PageElementInteraction } from './PageElementInteraction';
|
|
|
55
55
|
*
|
|
56
56
|
* ## Learn more
|
|
57
57
|
*
|
|
58
|
-
* -
|
|
59
|
-
* -
|
|
60
|
-
* -
|
|
58
|
+
* - [`Key`](https://serenity-js.org/api/web/class/Key/)
|
|
59
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
60
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
61
61
|
*
|
|
62
62
|
* @group Activities
|
|
63
63
|
*/
|
|
64
64
|
export class Press extends PageElementInteraction {
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
|
-
* Instantiates an
|
|
68
|
-
* that instructs the
|
|
69
|
-
* to press a sequence of
|
|
67
|
+
* Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
|
|
68
|
+
* that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
|
|
69
|
+
* to press a sequence of [keys](https://serenity-js.org/api/web/class/Key/),
|
|
70
70
|
*
|
|
71
71
|
* When no `field` is specified, the key sequence will be sent to the currently focused element,
|
|
72
72
|
* and if no element is focused - to the `document.body` to handle.
|
|
@@ -5,8 +5,8 @@ import type { PageElement } from '../models';
|
|
|
5
5
|
import { PageElementInteraction } from './PageElementInteraction';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Instructs an
|
|
9
|
-
* to perform a right click on a given
|
|
8
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
9
|
+
* to perform a right click on a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
10
10
|
*
|
|
11
11
|
* This is typically used to open a [custom context menu](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event)
|
|
12
12
|
* on a given Web element, since it's not possible to interact with the standard context menu offered by your browser.
|
|
@@ -63,14 +63,14 @@ import { PageElementInteraction } from './PageElementInteraction';
|
|
|
63
63
|
*
|
|
64
64
|
* ## Learn more
|
|
65
65
|
*
|
|
66
|
-
* -
|
|
67
|
-
* -
|
|
66
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
67
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
68
68
|
*
|
|
69
69
|
* @group Activities
|
|
70
70
|
*/
|
|
71
71
|
export class RightClick extends PageElementInteraction {
|
|
72
72
|
/**
|
|
73
|
-
* Instantiates this
|
|
73
|
+
* Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
|
|
74
74
|
*
|
|
75
75
|
* @param pageElement
|
|
76
76
|
* The element to be right-clicked on
|
|
@@ -4,8 +4,8 @@ import { Interaction, the } from '@serenity-js/core';
|
|
|
4
4
|
import type { PageElement } from '../models';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Instructs an
|
|
8
|
-
* to scroll until a given
|
|
7
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
8
|
+
* to scroll until a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) comes into view.
|
|
9
9
|
*
|
|
10
10
|
* ## Example widget
|
|
11
11
|
*
|
|
@@ -45,15 +45,15 @@ import type { PageElement } from '../models';
|
|
|
45
45
|
*
|
|
46
46
|
* ## Learn more
|
|
47
47
|
*
|
|
48
|
-
* -
|
|
49
|
-
* -
|
|
48
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
49
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
50
50
|
*
|
|
51
51
|
* @group Activities
|
|
52
52
|
*/
|
|
53
53
|
export class Scroll extends Interaction {
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
|
-
* Instantiates this
|
|
56
|
+
* Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
|
|
57
57
|
*
|
|
58
58
|
* @param pageElement
|
|
59
59
|
* The element to scroll to
|
|
@@ -6,20 +6,20 @@ import type { PageElement } from '../models';
|
|
|
6
6
|
import { SelectOption } from '../models';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Instructs an
|
|
9
|
+
* Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
10
10
|
* to select an option from a [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select),
|
|
11
11
|
* either by its display name, or by value.
|
|
12
12
|
*
|
|
13
13
|
* ## Learn more
|
|
14
|
-
* -
|
|
14
|
+
* - [`Selected`](https://serenity-js.org/api/web/class/Selected/)
|
|
15
15
|
*
|
|
16
16
|
* @group Activities
|
|
17
17
|
*/
|
|
18
18
|
export class Select {
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* Instantiates an
|
|
22
|
-
* that instructs the
|
|
21
|
+
* Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
|
|
22
|
+
* that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
|
|
23
23
|
* to select a single [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
|
|
24
24
|
* with a given [`value`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option#attr-value).,
|
|
25
25
|
*
|
|
@@ -60,12 +60,12 @@ export class Select {
|
|
|
60
60
|
* ```
|
|
61
61
|
*
|
|
62
62
|
* #### Learn more
|
|
63
|
-
* -
|
|
64
|
-
* -
|
|
63
|
+
* - [`Selected.valueOf`](https://serenity-js.org/api/web/class/Selected/#valueOf)
|
|
64
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
65
65
|
*
|
|
66
66
|
* @param value
|
|
67
67
|
* A value of the [`option` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
|
|
68
|
-
* for the
|
|
68
|
+
* for the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to select
|
|
69
69
|
*/
|
|
70
70
|
static value(value: Answerable<string>): { from: (pageElement: Answerable<PageElement>) => Interaction } {
|
|
71
71
|
return {
|
|
@@ -80,8 +80,8 @@ export class Select {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
/**
|
|
83
|
-
* Instantiates an
|
|
84
|
-
* that instructs the
|
|
83
|
+
* Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
|
|
84
|
+
* that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
|
|
85
85
|
* to select multiple [`<option>` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
|
|
86
86
|
* identified by their [`value`s](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option#attr-value).
|
|
87
87
|
*
|
|
@@ -123,12 +123,12 @@ export class Select {
|
|
|
123
123
|
*
|
|
124
124
|
* #### Learn more
|
|
125
125
|
*
|
|
126
|
-
* -
|
|
127
|
-
* -
|
|
126
|
+
* - [`Selected.valuesOf`](https://serenity-js.org/api/web/class/Selected/#valuesOf)
|
|
127
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
128
128
|
*
|
|
129
129
|
* @param values
|
|
130
130
|
* Values of the [`option` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
|
|
131
|
-
* for the
|
|
131
|
+
* for the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to select
|
|
132
132
|
*/
|
|
133
133
|
static values(...values: Array<Answerable<string[] | string>>): { from: (pageElement: Answerable<PageElement>) => Interaction } {
|
|
134
134
|
return {
|
|
@@ -146,8 +146,8 @@ export class Select {
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
/**
|
|
149
|
-
* Instantiates an
|
|
150
|
-
* that instructs the
|
|
149
|
+
* Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
|
|
150
|
+
* that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
|
|
151
151
|
* to select a single [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
|
|
152
152
|
* with a given description.
|
|
153
153
|
*
|
|
@@ -191,12 +191,12 @@ export class Select {
|
|
|
191
191
|
* ```
|
|
192
192
|
*
|
|
193
193
|
* #### Learn more
|
|
194
|
-
* -
|
|
195
|
-
* -
|
|
194
|
+
* - [`Selected.optionIn`](https://serenity-js.org/api/web/class/Selected/#optionIn)
|
|
195
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
196
196
|
*
|
|
197
197
|
* @param value
|
|
198
198
|
* Text of the [`option` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
|
|
199
|
-
* for the
|
|
199
|
+
* for the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to select
|
|
200
200
|
*/
|
|
201
201
|
static option(value: Answerable<string>): { from: (pageElement: Answerable<PageElement>) => Interaction } {
|
|
202
202
|
return {
|
|
@@ -211,8 +211,8 @@ export class Select {
|
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
/**
|
|
214
|
-
* Instantiates an
|
|
215
|
-
* that instructs the
|
|
214
|
+
* Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
|
|
215
|
+
* that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
|
|
216
216
|
* to select multiple [`<option>` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
|
|
217
217
|
* identified by their descriptions.
|
|
218
218
|
*
|
|
@@ -257,12 +257,12 @@ export class Select {
|
|
|
257
257
|
* ```
|
|
258
258
|
*
|
|
259
259
|
* #### Learn more
|
|
260
|
-
* -
|
|
261
|
-
* -
|
|
260
|
+
* - [`Selected.optionsIn`](https://serenity-js.org/api/web/class/Selected/#optionsIn)
|
|
261
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
262
262
|
*
|
|
263
263
|
* @param values
|
|
264
264
|
* Text of the [`option` elements ](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
|
|
265
|
-
* for the
|
|
265
|
+
* for the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to select
|
|
266
266
|
*/
|
|
267
267
|
static options(...values: Array<Answerable<string[] | string>>): { from: (pageElement: Answerable<PageElement>) => Interaction } {
|
|
268
268
|
return {
|