@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.
Files changed (190) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +1 -1
  3. package/lib/errors/BrowserWindowClosedError.d.ts +2 -2
  4. package/lib/errors/BrowserWindowClosedError.js +2 -2
  5. package/lib/errors/CookieMissingError.d.ts +2 -2
  6. package/lib/errors/CookieMissingError.js +2 -2
  7. package/lib/errors/ModalDialogObstructsScreenshotError.d.ts +3 -3
  8. package/lib/errors/ModalDialogObstructsScreenshotError.js +3 -3
  9. package/lib/expectations/isActive.d.ts +8 -8
  10. package/lib/expectations/isActive.js +8 -8
  11. package/lib/expectations/isClickable.d.ts +8 -8
  12. package/lib/expectations/isClickable.js +8 -8
  13. package/lib/expectations/isEnabled.d.ts +8 -8
  14. package/lib/expectations/isEnabled.js +8 -8
  15. package/lib/expectations/isSelected.d.ts +8 -8
  16. package/lib/expectations/isSelected.js +8 -8
  17. package/lib/expectations/isVisible.d.ts +8 -8
  18. package/lib/expectations/isVisible.js +8 -8
  19. package/lib/screenplay/abilities/BrowseTheWeb.d.ts +25 -23
  20. package/lib/screenplay/abilities/BrowseTheWeb.d.ts.map +1 -1
  21. package/lib/screenplay/abilities/BrowseTheWeb.js +25 -23
  22. package/lib/screenplay/abilities/BrowseTheWeb.js.map +1 -1
  23. package/lib/screenplay/interactions/Clear.d.ts +7 -7
  24. package/lib/screenplay/interactions/Clear.js +7 -7
  25. package/lib/screenplay/interactions/Click.d.ts +5 -5
  26. package/lib/screenplay/interactions/Click.js +5 -5
  27. package/lib/screenplay/interactions/DoubleClick.d.ts +5 -5
  28. package/lib/screenplay/interactions/DoubleClick.js +5 -5
  29. package/lib/screenplay/interactions/Enter.d.ts +5 -5
  30. package/lib/screenplay/interactions/Enter.js +5 -5
  31. package/lib/screenplay/interactions/ExecuteScript.d.ts +19 -19
  32. package/lib/screenplay/interactions/ExecuteScript.js +18 -18
  33. package/lib/screenplay/interactions/Hover.d.ts +5 -5
  34. package/lib/screenplay/interactions/Hover.js +5 -5
  35. package/lib/screenplay/interactions/Navigate.d.ts +8 -8
  36. package/lib/screenplay/interactions/Navigate.js +8 -8
  37. package/lib/screenplay/interactions/PageElementInteraction.d.ts +3 -3
  38. package/lib/screenplay/interactions/PageElementInteraction.js +3 -3
  39. package/lib/screenplay/interactions/Press.d.ts +10 -10
  40. package/lib/screenplay/interactions/Press.js +10 -10
  41. package/lib/screenplay/interactions/RightClick.d.ts +5 -5
  42. package/lib/screenplay/interactions/RightClick.js +5 -5
  43. package/lib/screenplay/interactions/Scroll.d.ts +5 -5
  44. package/lib/screenplay/interactions/Scroll.js +5 -5
  45. package/lib/screenplay/interactions/Select.d.ts +22 -22
  46. package/lib/screenplay/interactions/Select.js +22 -22
  47. package/lib/screenplay/interactions/Switch.d.ts +16 -16
  48. package/lib/screenplay/interactions/Switch.js +16 -16
  49. package/lib/screenplay/interactions/TakeScreenshot.d.ts +11 -10
  50. package/lib/screenplay/interactions/TakeScreenshot.d.ts.map +1 -1
  51. package/lib/screenplay/interactions/TakeScreenshot.js +11 -10
  52. package/lib/screenplay/interactions/TakeScreenshot.js.map +1 -1
  53. package/lib/screenplay/models/BrowserCapabilities.d.ts +1 -1
  54. package/lib/screenplay/models/BrowsingSession.d.ts +8 -8
  55. package/lib/screenplay/models/BrowsingSession.js +6 -6
  56. package/lib/screenplay/models/Cookie.d.ts +10 -10
  57. package/lib/screenplay/models/Cookie.js +9 -9
  58. package/lib/screenplay/models/CookieData.d.ts +4 -4
  59. package/lib/screenplay/models/Key.d.ts +4 -4
  60. package/lib/screenplay/models/Key.js +4 -4
  61. package/lib/screenplay/models/Locator.d.ts +8 -8
  62. package/lib/screenplay/models/Locator.js +8 -8
  63. package/lib/screenplay/models/Page.d.ts +32 -32
  64. package/lib/screenplay/models/Page.js +14 -14
  65. package/lib/screenplay/models/PageElement.d.ts +13 -13
  66. package/lib/screenplay/models/PageElement.js +7 -7
  67. package/lib/screenplay/models/PageElements.d.ts +6 -6
  68. package/lib/screenplay/models/PageElements.js +6 -6
  69. package/lib/screenplay/models/RootLocator.d.ts +5 -5
  70. package/lib/screenplay/models/RootLocator.js +5 -5
  71. package/lib/screenplay/models/SelectOption.d.ts +4 -4
  72. package/lib/screenplay/models/SelectOption.js +4 -4
  73. package/lib/screenplay/models/Switchable.d.ts +6 -6
  74. package/lib/screenplay/models/SwitchableOrigin.d.ts +4 -4
  75. package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts +2 -2
  76. package/lib/screenplay/models/dialogs/AbsentModalDialog.js +2 -2
  77. package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts +3 -3
  78. package/lib/screenplay/models/dialogs/AcceptedModalDialog.js +3 -3
  79. package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts +3 -3
  80. package/lib/screenplay/models/dialogs/DismissedModalDialog.js +3 -3
  81. package/lib/screenplay/models/dialogs/ModalDialog.d.ts +12 -9
  82. package/lib/screenplay/models/dialogs/ModalDialog.d.ts.map +1 -1
  83. package/lib/screenplay/models/dialogs/ModalDialog.js +10 -7
  84. package/lib/screenplay/models/dialogs/ModalDialog.js.map +1 -1
  85. package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts +5 -5
  86. package/lib/screenplay/models/dialogs/ModalDialogHandler.js +5 -5
  87. package/lib/screenplay/models/selectors/By.d.ts +14 -14
  88. package/lib/screenplay/models/selectors/By.js +14 -14
  89. package/lib/screenplay/models/selectors/ByCss.d.ts +2 -2
  90. package/lib/screenplay/models/selectors/ByCss.js +2 -2
  91. package/lib/screenplay/models/selectors/ByCssContainingText.d.ts +2 -2
  92. package/lib/screenplay/models/selectors/ByCssContainingText.js +2 -2
  93. package/lib/screenplay/models/selectors/ByDeepCss.d.ts +2 -2
  94. package/lib/screenplay/models/selectors/ByDeepCss.js +2 -2
  95. package/lib/screenplay/models/selectors/ById.d.ts +2 -2
  96. package/lib/screenplay/models/selectors/ById.js +2 -2
  97. package/lib/screenplay/models/selectors/ByTagName.d.ts +2 -2
  98. package/lib/screenplay/models/selectors/ByTagName.js +2 -2
  99. package/lib/screenplay/models/selectors/ByXPath.d.ts +2 -2
  100. package/lib/screenplay/models/selectors/ByXPath.js +2 -2
  101. package/lib/screenplay/models/selectors/Selector.d.ts +1 -1
  102. package/lib/screenplay/models/selectors/Selector.js +1 -1
  103. package/lib/screenplay/questions/Attribute.d.ts +13 -13
  104. package/lib/screenplay/questions/Attribute.js +13 -13
  105. package/lib/screenplay/questions/ComputedStyle.d.ts +16 -16
  106. package/lib/screenplay/questions/ComputedStyle.js +16 -16
  107. package/lib/screenplay/questions/CssClasses.d.ts +13 -13
  108. package/lib/screenplay/questions/CssClasses.js +13 -13
  109. package/lib/screenplay/questions/LastScriptExecution.d.ts +7 -7
  110. package/lib/screenplay/questions/LastScriptExecution.js +7 -7
  111. package/lib/screenplay/questions/Selected.d.ts +17 -17
  112. package/lib/screenplay/questions/Selected.js +17 -17
  113. package/lib/screenplay/questions/Text.d.ts +18 -18
  114. package/lib/screenplay/questions/Text.js +14 -14
  115. package/lib/screenplay/questions/Value.d.ts +12 -12
  116. package/lib/screenplay/questions/Value.js +12 -12
  117. package/lib/stage/crew/photographer/Photographer.d.ts +18 -17
  118. package/lib/stage/crew/photographer/Photographer.d.ts.map +1 -1
  119. package/lib/stage/crew/photographer/Photographer.js +18 -17
  120. package/lib/stage/crew/photographer/Photographer.js.map +1 -1
  121. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +6 -6
  122. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +6 -6
  123. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +3 -3
  124. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +3 -3
  125. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +3 -3
  126. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +3 -3
  127. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +3 -3
  128. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +3 -3
  129. package/package.json +5 -5
  130. package/src/errors/BrowserWindowClosedError.ts +2 -2
  131. package/src/errors/CookieMissingError.ts +2 -2
  132. package/src/errors/ModalDialogObstructsScreenshotError.ts +3 -3
  133. package/src/expectations/isActive.ts +8 -8
  134. package/src/expectations/isClickable.ts +8 -8
  135. package/src/expectations/isEnabled.ts +8 -8
  136. package/src/expectations/isSelected.ts +8 -8
  137. package/src/expectations/isVisible.ts +8 -8
  138. package/src/screenplay/abilities/BrowseTheWeb.ts +25 -23
  139. package/src/screenplay/interactions/Clear.ts +7 -7
  140. package/src/screenplay/interactions/Click.ts +5 -5
  141. package/src/screenplay/interactions/DoubleClick.ts +5 -5
  142. package/src/screenplay/interactions/Enter.ts +5 -5
  143. package/src/screenplay/interactions/ExecuteScript.ts +19 -19
  144. package/src/screenplay/interactions/Hover.ts +5 -5
  145. package/src/screenplay/interactions/Navigate.ts +8 -8
  146. package/src/screenplay/interactions/PageElementInteraction.ts +3 -3
  147. package/src/screenplay/interactions/Press.ts +10 -10
  148. package/src/screenplay/interactions/RightClick.ts +5 -5
  149. package/src/screenplay/interactions/Scroll.ts +5 -5
  150. package/src/screenplay/interactions/Select.ts +22 -22
  151. package/src/screenplay/interactions/Switch.ts +16 -16
  152. package/src/screenplay/interactions/TakeScreenshot.ts +11 -10
  153. package/src/screenplay/models/BrowserCapabilities.ts +1 -1
  154. package/src/screenplay/models/BrowsingSession.ts +8 -8
  155. package/src/screenplay/models/Cookie.ts +10 -10
  156. package/src/screenplay/models/CookieData.ts +4 -4
  157. package/src/screenplay/models/Key.ts +4 -4
  158. package/src/screenplay/models/Locator.ts +8 -8
  159. package/src/screenplay/models/Page.ts +32 -32
  160. package/src/screenplay/models/PageElement.ts +13 -13
  161. package/src/screenplay/models/PageElements.ts +6 -6
  162. package/src/screenplay/models/RootLocator.ts +5 -5
  163. package/src/screenplay/models/SelectOption.ts +4 -4
  164. package/src/screenplay/models/Switchable.ts +6 -6
  165. package/src/screenplay/models/SwitchableOrigin.ts +4 -4
  166. package/src/screenplay/models/dialogs/AbsentModalDialog.ts +2 -2
  167. package/src/screenplay/models/dialogs/AcceptedModalDialog.ts +3 -3
  168. package/src/screenplay/models/dialogs/DismissedModalDialog.ts +3 -3
  169. package/src/screenplay/models/dialogs/ModalDialog.ts +12 -9
  170. package/src/screenplay/models/dialogs/ModalDialogHandler.ts +5 -5
  171. package/src/screenplay/models/selectors/By.ts +14 -14
  172. package/src/screenplay/models/selectors/ByCss.ts +2 -2
  173. package/src/screenplay/models/selectors/ByCssContainingText.ts +2 -2
  174. package/src/screenplay/models/selectors/ByDeepCss.ts +2 -2
  175. package/src/screenplay/models/selectors/ById.ts +2 -2
  176. package/src/screenplay/models/selectors/ByTagName.ts +2 -2
  177. package/src/screenplay/models/selectors/ByXPath.ts +2 -2
  178. package/src/screenplay/models/selectors/Selector.ts +1 -1
  179. package/src/screenplay/questions/Attribute.ts +13 -13
  180. package/src/screenplay/questions/ComputedStyle.ts +16 -16
  181. package/src/screenplay/questions/CssClasses.ts +13 -13
  182. package/src/screenplay/questions/LastScriptExecution.ts +7 -7
  183. package/src/screenplay/questions/Selected.ts +17 -17
  184. package/src/screenplay/questions/Text.ts +18 -18
  185. package/src/screenplay/questions/Value.ts +12 -12
  186. package/src/stage/crew/photographer/Photographer.ts +18 -17
  187. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +6 -6
  188. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +3 -3
  189. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +3 -3
  190. 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 {@apilink Selector} used to locate a {@apilink PageElement} or {@apilink PageElements} on a web page.
13
- * Selectors can be defined using a static value or a {@link Question} to be resolved at runtime.
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 {@link Answerable} to allow for dynamic resolution of the selector.
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 {@link q} to define a selector that includes a dynamic value.
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
- * - {@apilink PageElement}
54
- * - {@apilink PageElements}
55
- * - {@apilink q}
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 {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
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 {@apilink PageElement} with a given [`innerText`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText)
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 {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors)
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 {@apilink PageElement} using its [id](https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors).
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 {@apilink PageElement} using the name of its [HTML tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element).
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 {@apilink PageElement} using an [XPath selector](https://developer.mozilla.org/en-US/docs/Web/XPath).
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 {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
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 {@apilink By.css}
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 {@apilink PageElement} with a given [`innerText`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText)
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 {@apilink By.cssContainingText}
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 {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors)
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 {@apilink By.deepCss}
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 {@apilink PageElement} using its [id](https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors).
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 {@apilink By.id}
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 {@apilink PageElement} using the name of its [HTML tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element).
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 {@apilink By.tagName}
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 {@apilink PageElement} using an [XPath selector](https://developer.mozilla.org/en-US/docs/Web/XPath).
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 {@apilink By.xpath}
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 {@apilink PageElement} or a group of {@apilink PageElements}.
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 {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
8
- * the value of the specified HTML attribute of a given {@apilink PageElement}.
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 {@apilink PageElement}
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 {@apilink QuestionAdapter}
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 {@apilink PageElements|Page Element Query Language}
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
- * - {@apilink BrowseTheWeb}
92
- * - {@apilink MetaQuestion}
93
- * - {@apilink QuestionAdapter}
94
- * - {@apilink Question}
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 {@apilink Question} that uses
104
- * the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
105
- * the value of the specified HTML attribute of a given {@apilink PageElement}.
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
- * - {@apilink MetaQuestion}
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 {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
16
- * the value of the specified computed style property of a given {@apilink PageElement}.
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 {@apilink PageElement}
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 {@apilink QuestionAdapter}
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 {@apilink PageElements|Page Element Query Language}
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
- * - {@apilink BrowseTheWeb}
98
- * - {@apilink MetaQuestion}
99
- * - {@apilink QuestionAdapter}
100
- * - {@apilink Question}
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 {@apilink Question} that uses
110
- * the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
111
- * the value of the specified computed style property of a given {@apilink PageElement}.
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 {@apilink Question} that uses
134
- * the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
135
- * the value of the specified computed style property of the specified pseudo-element of a given {@apilink PageElement}.
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
- * - {@apilink MetaQuestion}
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 {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
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 {@apilink PageElement}.
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 {@apilink PageElement}
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 {@apilink QuestionAdapter}
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 {@apilink PageElements|Page Element Query Language}
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
- * - {@apilink BrowseTheWeb}
93
- * - {@apilink MetaQuestion}
94
- * - {@apilink QuestionAdapter}
95
- * - {@apilink Question}
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 {@apilink Question} that uses
103
- * the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
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 {@apilink PageElement}.
105
+ * of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
106
106
  *
107
107
  * #### Learn more
108
- * - {@apilink MetaQuestion}
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 {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
8
- * a returns the result of the last script executed via {@apilink ExecuteScript}.
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 {@apilink QuestionAdapter}
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
- * - {@apilink ExecuteScript}
43
- * - {@apilink BrowseTheWeb}
44
- * - {@apilink QuestionAdapter}
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 {@apilink ExecuteScript}.
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 {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
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
- * - {@apilink Select}
13
- * - {@apilink BrowseTheWeb}
14
- * - {@apilink QuestionAdapter}
15
- * - {@apilink Question}
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 {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
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
- * - {@apilink Select.value}
64
+ * - [`Select.value`](https://serenity-js.org/api/web/class/Select/#value)
65
65
  *
66
66
  * @param pageElement
67
- * A {@apilink PageElement} identifying the `<select>` element of interest
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 {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
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
- * - {@apilink Select.values}
123
+ * - [`Select.values`](https://serenity-js.org/api/web/class/Select/#values)
124
124
  *
125
125
  * @param pageElement
126
- * A {@apilink PageElement} identifying the `<select>` element of interest
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 {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
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
- * - {@apilink Select.option}
184
+ * - [`Select.option`](https://serenity-js.org/api/web/class/Select/#option)
185
185
  *
186
186
  * @param pageElement
187
- * A {@apilink PageElement} identifying the `<select>` element of interest
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 {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
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
- * - {@apilink Select.options}
245
+ * - [`Select.options`](https://serenity-js.org/api/web/class/Select/#options)
246
246
  *
247
247
  * @param pageElement
248
- * A {@apilink PageElement} identifying the `<select>` element of interest
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 => {