@serenity-js/web 3.25.0 → 3.25.2
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 +19 -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 +5 -5
- 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
|
@@ -9,8 +9,8 @@ import { ByTagName } from './ByTagName';
|
|
|
9
9
|
import { ByXPath } from './ByXPath';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* `By` produces a
|
|
13
|
-
* Selectors can be defined using a static value or a
|
|
12
|
+
* `By` produces a [`Selector`](https://serenity-js.org/api/web/class/Selector/) used to locate a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) or [`PageElement`](https://serenity-js.org/api/web/class/PageElements/) on a web page.
|
|
13
|
+
* Selectors can be defined using a static value or a [`Question`](https://serenity-js.org/api/core/class/Question/) to be resolved at runtime.
|
|
14
14
|
*
|
|
15
15
|
* ### Defining a selector using a static value
|
|
16
16
|
*
|
|
@@ -30,11 +30,11 @@ import { ByXPath } from './ByXPath';
|
|
|
30
30
|
*
|
|
31
31
|
* ### Defining a selector using a Question
|
|
32
32
|
*
|
|
33
|
-
* Each method on this class accepts an
|
|
33
|
+
* Each method on this class accepts an [`Answerable`](https://serenity-js.org/api/core/#Answerable) to allow for dynamic resolution of the selector.
|
|
34
34
|
* This can be useful when the selector is not known at the time of writing the test, or when the selector
|
|
35
35
|
* needs to be calculated based on the state of the system under test.
|
|
36
36
|
*
|
|
37
|
-
* The example below demonstrates how to use
|
|
37
|
+
* The example below demonstrates how to use [`q`](https://serenity-js.org/api/core/function/q/) to define a selector that includes a dynamic value.
|
|
38
38
|
*
|
|
39
39
|
* ```typescript
|
|
40
40
|
* import { q } from '@serenity-js/core'
|
|
@@ -49,17 +49,17 @@ import { ByXPath } from './ByXPath';
|
|
|
49
49
|
* ```
|
|
50
50
|
*
|
|
51
51
|
* ### Learn more
|
|
52
|
-
* - [Page Element Query Language](/handbook/web-testing/page-element-query-language)
|
|
53
|
-
* -
|
|
54
|
-
* -
|
|
55
|
-
* -
|
|
52
|
+
* - [Page Element Query Language](https://serenity-js.org/handbook/web-testing/page-element-query-language)
|
|
53
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
54
|
+
* - [`PageElement`](https://serenity-js.org/api/web/class/PageElements/)
|
|
55
|
+
* - [`q`](https://serenity-js.org/api/core/function/q/)
|
|
56
56
|
*
|
|
57
57
|
* @group Models
|
|
58
58
|
*/
|
|
59
59
|
export class By {
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
|
-
* Locates a
|
|
62
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
|
|
63
63
|
*
|
|
64
64
|
* @param selector
|
|
65
65
|
*/
|
|
@@ -71,7 +71,7 @@ export class By {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
|
-
* Locates a
|
|
74
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) with a given [`innerText`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText)
|
|
75
75
|
* using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
|
|
76
76
|
*
|
|
77
77
|
* @param selector
|
|
@@ -86,7 +86,7 @@ export class By {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
/**
|
|
89
|
-
* Locates a
|
|
89
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors)
|
|
90
90
|
* capable of piercing [shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM)-piercing
|
|
91
91
|
*
|
|
92
92
|
* @param selector
|
|
@@ -99,7 +99,7 @@ export class By {
|
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
|
-
* Locates a
|
|
102
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) using its [id](https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors).
|
|
103
103
|
*
|
|
104
104
|
* @param selector
|
|
105
105
|
*/
|
|
@@ -111,7 +111,7 @@ export class By {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
/**
|
|
114
|
-
* Locates a
|
|
114
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) using the name of its [HTML tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element).
|
|
115
115
|
*
|
|
116
116
|
* @param selector
|
|
117
117
|
*/
|
|
@@ -123,7 +123,7 @@ export class By {
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
|
-
* Locates a
|
|
126
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) using an [XPath selector](https://developer.mozilla.org/en-US/docs/Web/XPath).
|
|
127
127
|
*
|
|
128
128
|
* @param selector
|
|
129
129
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Selector } from './Selector';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Locates a
|
|
4
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
|
|
5
5
|
*
|
|
6
|
-
* **Pro tip:** Instantiate using
|
|
6
|
+
* **Pro tip:** Instantiate using [`By.css`](https://serenity-js.org/api/web/class/By/#css)
|
|
7
7
|
*
|
|
8
8
|
* @group Models
|
|
9
9
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Selector } from './Selector';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Locates a
|
|
4
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) with a given [`innerText`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText)
|
|
5
5
|
* using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
|
|
6
6
|
*
|
|
7
|
-
* **Pro tip:** Instantiate using
|
|
7
|
+
* **Pro tip:** Instantiate using [`By.cssContainingText`](https://serenity-js.org/api/web/class/By/#cssContainingText)
|
|
8
8
|
*
|
|
9
9
|
* @group Models
|
|
10
10
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Selector } from './Selector';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Locates a
|
|
4
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors)
|
|
5
5
|
* capable of piercing [shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM)-piercing
|
|
6
6
|
*
|
|
7
|
-
* **Pro tip:** Instantiate using
|
|
7
|
+
* **Pro tip:** Instantiate using [`By.deepCss`](https://serenity-js.org/api/web/class/By/#deepCss)
|
|
8
8
|
*
|
|
9
9
|
* @group Models
|
|
10
10
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Selector } from './Selector';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Locates a
|
|
4
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) using its [id](https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors).
|
|
5
5
|
*
|
|
6
|
-
* **Pro tip:** Instantiate using
|
|
6
|
+
* **Pro tip:** Instantiate using [`By.id`](https://serenity-js.org/api/web/class/By/#id)
|
|
7
7
|
*
|
|
8
8
|
* @group Models
|
|
9
9
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Selector } from './Selector';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Locates a
|
|
4
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) using the name of its [HTML tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element).
|
|
5
5
|
*
|
|
6
|
-
* **Pro tip:** Instantiate using
|
|
6
|
+
* **Pro tip:** Instantiate using [`By.tagName`](https://serenity-js.org/api/web/class/By/#tagName)
|
|
7
7
|
*
|
|
8
8
|
* @group Models
|
|
9
9
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Selector } from './Selector';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Locates a
|
|
4
|
+
* Locates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) using an [XPath selector](https://developer.mozilla.org/en-US/docs/Web/XPath).
|
|
5
5
|
*
|
|
6
|
-
* **Pro tip:** Instantiate using
|
|
6
|
+
* **Pro tip:** Instantiate using [`By.xpath`](https://serenity-js.org/api/web/class/By/#xpath)
|
|
7
7
|
*
|
|
8
8
|
* @group Models
|
|
9
9
|
*/
|
|
@@ -2,7 +2,7 @@ import { f } from '@serenity-js/core';
|
|
|
2
2
|
import { TinyType } from 'tiny-types';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Describes a selector you use to identify a
|
|
5
|
+
* Describes a selector you use to identify a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) or a group of [`PageElement`](https://serenity-js.org/api/web/class/PageElements/).
|
|
6
6
|
*
|
|
7
7
|
* @group Models
|
|
8
8
|
*/
|
|
@@ -4,8 +4,8 @@ import { d, LogicError, Question, the } from '@serenity-js/core';
|
|
|
4
4
|
import { PageElement } from '../models';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Uses the
|
|
8
|
-
* the value of the specified HTML attribute of a given
|
|
7
|
+
* Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
8
|
+
* the value of the specified HTML attribute of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
9
9
|
*
|
|
10
10
|
* ## Example widget
|
|
11
11
|
*
|
|
@@ -17,7 +17,7 @@ import { PageElement } from '../models';
|
|
|
17
17
|
* </ul>
|
|
18
18
|
* ```
|
|
19
19
|
*
|
|
20
|
-
* ## Retrieve an HTML attribute of a given
|
|
20
|
+
* ## Retrieve an HTML attribute of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
21
21
|
*
|
|
22
22
|
* ```ts
|
|
23
23
|
* import { actorCalled } from '@serenity-js/core'
|
|
@@ -37,7 +37,7 @@ import { PageElement } from '../models';
|
|
|
37
37
|
* )
|
|
38
38
|
* ```
|
|
39
39
|
*
|
|
40
|
-
* ## Using `Attribute` as
|
|
40
|
+
* ## Using `Attribute` as [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
41
41
|
*
|
|
42
42
|
* ```ts
|
|
43
43
|
* import { actorCalled } from '@serenity-js/core'
|
|
@@ -57,7 +57,7 @@ import { PageElement } from '../models';
|
|
|
57
57
|
* )
|
|
58
58
|
* ```
|
|
59
59
|
*
|
|
60
|
-
* ## Using as filter in
|
|
60
|
+
* ## Using as filter in [Page Element Query Language](https://serenity-js.org/handbook/web-testing/page-element-query-language/)
|
|
61
61
|
*
|
|
62
62
|
* ```ts
|
|
63
63
|
* import { actorCalled } from '@serenity-js/core'
|
|
@@ -88,10 +88,10 @@ import { PageElement } from '../models';
|
|
|
88
88
|
* ```
|
|
89
89
|
*
|
|
90
90
|
* ## Learn more
|
|
91
|
-
* -
|
|
92
|
-
* -
|
|
93
|
-
* -
|
|
94
|
-
* -
|
|
91
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
92
|
+
* - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
|
|
93
|
+
* - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
94
|
+
* - [`Question`](https://serenity-js.org/api/core/class/Question/)
|
|
95
95
|
*
|
|
96
96
|
* @group Questions
|
|
97
97
|
*/
|
|
@@ -100,9 +100,9 @@ export class Attribute<Native_Element_Type>
|
|
|
100
100
|
implements MetaQuestion<PageElement<Native_Element_Type>, Question<Promise<string>>>, Optional
|
|
101
101
|
{
|
|
102
102
|
/**
|
|
103
|
-
* Instantiates a
|
|
104
|
-
* the
|
|
105
|
-
* the value of the specified HTML attribute of a given
|
|
103
|
+
* Instantiates a [`Question`](https://serenity-js.org/api/core/class/Question/) that uses
|
|
104
|
+
* the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
105
|
+
* the value of the specified HTML attribute of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
106
106
|
*
|
|
107
107
|
* @param name
|
|
108
108
|
* The name of the attribute to retrieve
|
|
@@ -125,7 +125,7 @@ export class Attribute<Native_Element_Type>
|
|
|
125
125
|
* Resolves to the value of an HTML attribute of the `pageElement`.
|
|
126
126
|
*
|
|
127
127
|
* #### Learn more
|
|
128
|
-
* -
|
|
128
|
+
* - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
|
|
129
129
|
*
|
|
130
130
|
* @param pageElement
|
|
131
131
|
*/
|
|
@@ -12,8 +12,8 @@ import { BrowseTheWeb } from '../abilities';
|
|
|
12
12
|
import { PageElement } from '../models';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
* Uses the
|
|
16
|
-
* the value of the specified computed style property of a given
|
|
15
|
+
* Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
16
|
+
* the value of the specified computed style property of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
17
17
|
*
|
|
18
18
|
* ## Example widget
|
|
19
19
|
*
|
|
@@ -25,7 +25,7 @@ import { PageElement } from '../models';
|
|
|
25
25
|
* </ul>
|
|
26
26
|
* ```
|
|
27
27
|
*
|
|
28
|
-
* ## Retrieve a computed style property of a given
|
|
28
|
+
* ## Retrieve a computed style property of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
29
29
|
*
|
|
30
30
|
* ```ts
|
|
31
31
|
* import { actorCalled } from '@serenity-js/core'
|
|
@@ -44,7 +44,7 @@ import { PageElement } from '../models';
|
|
|
44
44
|
* )
|
|
45
45
|
* ```
|
|
46
46
|
*
|
|
47
|
-
* ## Using `ComputedStyle` as
|
|
47
|
+
* ## Using `ComputedStyle` as [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
48
48
|
*
|
|
49
49
|
* ```ts
|
|
50
50
|
* import { actorCalled } from '@serenity-js/core'
|
|
@@ -63,7 +63,7 @@ import { PageElement } from '../models';
|
|
|
63
63
|
* )
|
|
64
64
|
* ```
|
|
65
65
|
*
|
|
66
|
-
* ## Using as filter in
|
|
66
|
+
* ## Using as filter in [Page Element Query Language](https://serenity-js.org/handbook/web-testing/page-element-query-language/)
|
|
67
67
|
*
|
|
68
68
|
* ```ts
|
|
69
69
|
* import { actorCalled } from '@serenity-js/core'
|
|
@@ -94,10 +94,10 @@ import { PageElement } from '../models';
|
|
|
94
94
|
* ```
|
|
95
95
|
*
|
|
96
96
|
* ## Learn more
|
|
97
|
-
* -
|
|
98
|
-
* -
|
|
99
|
-
* -
|
|
100
|
-
* -
|
|
97
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
98
|
+
* - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
|
|
99
|
+
* - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
100
|
+
* - [`Question`](https://serenity-js.org/api/core/class/Question/)
|
|
101
101
|
*
|
|
102
102
|
* @group Questions
|
|
103
103
|
*/
|
|
@@ -106,9 +106,9 @@ export class ComputedStyle<Native_Element_Type>
|
|
|
106
106
|
implements MetaQuestion<PageElement<Native_Element_Type>, Question<Promise<string>>>
|
|
107
107
|
{
|
|
108
108
|
/**
|
|
109
|
-
* Instantiates a
|
|
110
|
-
* the
|
|
111
|
-
* the value of the specified computed style property of a given
|
|
109
|
+
* Instantiates a [`Question`](https://serenity-js.org/api/core/class/Question/) that uses
|
|
110
|
+
* the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
111
|
+
* the value of the specified computed style property of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
112
112
|
*
|
|
113
113
|
* @param name
|
|
114
114
|
* The name of the computed style property to retrieve
|
|
@@ -130,9 +130,9 @@ export class ComputedStyle<Native_Element_Type>
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
/**
|
|
133
|
-
* Instantiates a
|
|
134
|
-
* the
|
|
135
|
-
* the value of the specified computed style property of the specified pseudo-element of a given
|
|
133
|
+
* Instantiates a [`Question`](https://serenity-js.org/api/core/class/Question/) that uses
|
|
134
|
+
* the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
135
|
+
* the value of the specified computed style property of the specified pseudo-element of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
136
136
|
*
|
|
137
137
|
* @param pseudoElement
|
|
138
138
|
* The pseudo-element to retrieve the computed style property from, such as `::before` or `::after`
|
|
@@ -151,7 +151,7 @@ export class ComputedStyle<Native_Element_Type>
|
|
|
151
151
|
* Resolves to the value of a computed style property of the `pageElement`.
|
|
152
152
|
*
|
|
153
153
|
* #### Learn more
|
|
154
|
-
* -
|
|
154
|
+
* - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
|
|
155
155
|
*
|
|
156
156
|
* @param pageElement
|
|
157
157
|
*/
|
|
@@ -4,9 +4,9 @@ import { Question, the } from '@serenity-js/core';
|
|
|
4
4
|
import { PageElement } from '../models';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Uses the
|
|
7
|
+
* Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
8
8
|
* a list of [CSS classes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-class)
|
|
9
|
-
* of a given
|
|
9
|
+
* of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
10
10
|
*
|
|
11
11
|
* ## Example widget
|
|
12
12
|
*
|
|
@@ -18,7 +18,7 @@ import { PageElement } from '../models';
|
|
|
18
18
|
* </ul>
|
|
19
19
|
* ```
|
|
20
20
|
*
|
|
21
|
-
* ## Retrieve CSS classes of a given
|
|
21
|
+
* ## Retrieve CSS classes of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
|
|
22
22
|
*
|
|
23
23
|
* ```ts
|
|
24
24
|
* import { actorCalled } from '@serenity-js/core'
|
|
@@ -38,7 +38,7 @@ import { PageElement } from '../models';
|
|
|
38
38
|
* )
|
|
39
39
|
* ```
|
|
40
40
|
*
|
|
41
|
-
* ## Using CssClasses as
|
|
41
|
+
* ## Using CssClasses as [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
42
42
|
*
|
|
43
43
|
* ```ts
|
|
44
44
|
* import { actorCalled } from '@serenity-js/core'
|
|
@@ -62,7 +62,7 @@ import { PageElement } from '../models';
|
|
|
62
62
|
* )
|
|
63
63
|
* ```
|
|
64
64
|
*
|
|
65
|
-
* ## Using as filter in
|
|
65
|
+
* ## Using as filter in [Page Element Query Language](https://serenity-js.org/handbook/web-testing/page-element-query-language/)
|
|
66
66
|
*
|
|
67
67
|
* ```ts
|
|
68
68
|
* import { actorCalled } from '@serenity-js/core'
|
|
@@ -89,23 +89,23 @@ import { PageElement } from '../models';
|
|
|
89
89
|
* ```
|
|
90
90
|
*
|
|
91
91
|
* ## Learn more
|
|
92
|
-
* -
|
|
93
|
-
* -
|
|
94
|
-
* -
|
|
95
|
-
* -
|
|
92
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
93
|
+
* - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
|
|
94
|
+
* - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
95
|
+
* - [`Question`](https://serenity-js.org/api/core/class/Question/)
|
|
96
96
|
*
|
|
97
97
|
* @group Questions
|
|
98
98
|
*/
|
|
99
99
|
export class CssClasses {
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
|
-
* Instantiates a
|
|
103
|
-
* the
|
|
102
|
+
* Instantiates a [`Question`](https://serenity-js.org/api/core/class/Question/) that uses
|
|
103
|
+
* the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
104
104
|
* a list of [CSS classes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-class)
|
|
105
|
-
* of a given
|
|
105
|
+
* of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
|
|
106
106
|
*
|
|
107
107
|
* #### Learn more
|
|
108
|
-
* -
|
|
108
|
+
* - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
|
|
109
109
|
*
|
|
110
110
|
* @param pageElement
|
|
111
111
|
*/
|
|
@@ -4,8 +4,8 @@ import { Question } from '@serenity-js/core';
|
|
|
4
4
|
import { BrowseTheWeb } from '../abilities';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Uses the
|
|
8
|
-
* a returns the result of the last script executed via
|
|
7
|
+
* Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
8
|
+
* a returns the result of the last script executed via [`ExecuteScript`](https://serenity-js.org/api/web/class/ExecuteScript/).
|
|
9
9
|
*
|
|
10
10
|
* ## Executing a script and reading the result
|
|
11
11
|
*
|
|
@@ -21,7 +21,7 @@ import { BrowseTheWeb } from '../abilities';
|
|
|
21
21
|
* )
|
|
22
22
|
* ```
|
|
23
23
|
*
|
|
24
|
-
* ## Using LastScriptExecution as
|
|
24
|
+
* ## Using LastScriptExecution as [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
25
25
|
*
|
|
26
26
|
* ```ts
|
|
27
27
|
* import { actorCalled } from '@serenity-js/core'
|
|
@@ -39,16 +39,16 @@ import { BrowseTheWeb } from '../abilities';
|
|
|
39
39
|
* ```
|
|
40
40
|
*
|
|
41
41
|
* ## Learn more
|
|
42
|
-
* -
|
|
43
|
-
* -
|
|
44
|
-
* -
|
|
42
|
+
* - [`ExecuteScript`](https://serenity-js.org/api/web/class/ExecuteScript/)
|
|
43
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
44
|
+
* - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
45
45
|
*
|
|
46
46
|
* @group Questions
|
|
47
47
|
*/
|
|
48
48
|
export class LastScriptExecution {
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
|
-
* Enables asserting on the result of a function executed via
|
|
51
|
+
* Enables asserting on the result of a function executed via [`ExecuteScript`](https://serenity-js.org/api/web/class/ExecuteScript/).
|
|
52
52
|
*/
|
|
53
53
|
static result<R>(): QuestionAdapter<R> {
|
|
54
54
|
return Question.about(`last script execution result`, async actor => {
|
|
@@ -4,22 +4,22 @@ import { Question, the } from '@serenity-js/core';
|
|
|
4
4
|
import type { PageElement } from '../models';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Uses the
|
|
7
|
+
* Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
8
8
|
* options and values selected in a
|
|
9
9
|
* [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).
|
|
10
10
|
*
|
|
11
11
|
* ## Learn more
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
14
|
-
* -
|
|
15
|
-
* -
|
|
12
|
+
* - [`Select`](https://serenity-js.org/api/web/class/Select/)
|
|
13
|
+
* - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
|
|
14
|
+
* - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
15
|
+
* - [`Question`](https://serenity-js.org/api/core/class/Question/)
|
|
16
16
|
*
|
|
17
17
|
* @group Questions
|
|
18
18
|
*/
|
|
19
19
|
export class Selected {
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
* Uses the
|
|
22
|
+
* Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
23
23
|
* a single [option](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
|
|
24
24
|
* selected in an [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).
|
|
25
25
|
*
|
|
@@ -61,10 +61,10 @@ export class Selected {
|
|
|
61
61
|
* ```
|
|
62
62
|
*
|
|
63
63
|
* #### Learn more
|
|
64
|
-
* -
|
|
64
|
+
* - [`Select.value`](https://serenity-js.org/api/web/class/Select/#value)
|
|
65
65
|
*
|
|
66
66
|
* @param pageElement
|
|
67
|
-
* A
|
|
67
|
+
* A [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) identifying the `<select>` element of interest
|
|
68
68
|
*/
|
|
69
69
|
static valueOf(pageElement: Answerable<PageElement>): QuestionAdapter<string> {
|
|
70
70
|
return Question.about(the`value selected in ${ pageElement }`, async actor => {
|
|
@@ -78,7 +78,7 @@ export class Selected {
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
/**
|
|
81
|
-
* Uses the
|
|
81
|
+
* Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
82
82
|
* values of [options](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
|
|
83
83
|
* selected in an [HTML `<select multiple>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
|
|
84
84
|
*
|
|
@@ -120,10 +120,10 @@ export class Selected {
|
|
|
120
120
|
* ```
|
|
121
121
|
*
|
|
122
122
|
* #### Learn more
|
|
123
|
-
* -
|
|
123
|
+
* - [`Select.values`](https://serenity-js.org/api/web/class/Select/#values)
|
|
124
124
|
*
|
|
125
125
|
* @param pageElement
|
|
126
|
-
* A
|
|
126
|
+
* A [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) identifying the `<select>` element of interest
|
|
127
127
|
*/
|
|
128
128
|
static valuesOf(pageElement: Answerable<PageElement>): QuestionAdapter<Array<string>> {
|
|
129
129
|
return Question.about(the`values selected in ${ pageElement }`, async actor => {
|
|
@@ -138,7 +138,7 @@ export class Selected {
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
|
-
* Uses the
|
|
141
|
+
* Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
142
142
|
* a single option selected in an [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
|
|
143
143
|
*
|
|
144
144
|
* #### Example widget
|
|
@@ -181,10 +181,10 @@ export class Selected {
|
|
|
181
181
|
* ```
|
|
182
182
|
*
|
|
183
183
|
* #### Learn more
|
|
184
|
-
* -
|
|
184
|
+
* - [`Select.option`](https://serenity-js.org/api/web/class/Select/#option)
|
|
185
185
|
*
|
|
186
186
|
* @param pageElement
|
|
187
|
-
* A
|
|
187
|
+
* A [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) identifying the `<select>` element of interest
|
|
188
188
|
*/
|
|
189
189
|
static optionIn(pageElement: Answerable<PageElement>): QuestionAdapter<string> {
|
|
190
190
|
return Question.about(the`option selected in ${ pageElement }`, async actor => {
|
|
@@ -199,7 +199,7 @@ export class Selected {
|
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
/**
|
|
202
|
-
* Uses the
|
|
202
|
+
* Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
|
|
203
203
|
* options selected in an [HTML `<select multiple>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
|
|
204
204
|
*
|
|
205
205
|
* #### Example widget
|
|
@@ -242,10 +242,10 @@ export class Selected {
|
|
|
242
242
|
* ```
|
|
243
243
|
*
|
|
244
244
|
* #### Learn more
|
|
245
|
-
* -
|
|
245
|
+
* - [`Select.options`](https://serenity-js.org/api/web/class/Select/#options)
|
|
246
246
|
*
|
|
247
247
|
* @param pageElement
|
|
248
|
-
* A
|
|
248
|
+
* A [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) identifying the `<select>` element of interest
|
|
249
249
|
*/
|
|
250
250
|
static optionsIn(pageElement: Answerable<PageElement>): QuestionAdapter<Array<string>> {
|
|
251
251
|
return Question.about(the`options selected in ${ pageElement }`, async actor => {
|