@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.
Files changed (190) hide show
  1. package/CHANGELOG.md +11 -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 +4 -4
  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
@@ -28,8 +28,9 @@ const core_1 = require("@serenity-js/core");
28
28
  const events_1 = require("@serenity-js/core/lib/events");
29
29
  const strategies = __importStar(require("./strategies"));
30
30
  /**
31
- * The Photographer is a {@apilink StageCrewMember} who takes screenshots
32
- * using the web browser associated with the {@apilink Actor} that is currently {@apilink actorInTheSpotlight|in the spotlight}.
31
+ * The Photographer is a [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) who takes screenshots
32
+ * using the web browser associated with the [actor](https://serenity-js.org/api/core/class/Actor/) that is
33
+ * currently [in the spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/).
33
34
  *
34
35
  * ## Registering Photographer programmatically
35
36
  *
@@ -75,7 +76,7 @@ const strategies = __importStar(require("./strategies"));
75
76
  * ```
76
77
  *
77
78
  * #### Learn more
78
- * - {@apilink SerenityOptions}
79
+ * - [`SerenityOptions`](https://serenity-js.org/api/playwright-test/interface/SerenityOptions/)
79
80
  *
80
81
  * ## Using Photographer with WebdriverIO
81
82
  *
@@ -166,11 +167,11 @@ const strategies = __importStar(require("./strategies"));
166
167
  * ```
167
168
  *
168
169
  * ## Learn more
169
- * - {@apilink Stage}
170
- * - {@apilink StageCrewMember}
171
- * - {@apilink TakePhotosBeforeAndAfterInteractions}
172
- * - {@apilink TakePhotosOfFailures}
173
- * - {@apilink TakePhotosOfInteractions}
170
+ * - [`Stage`](https://serenity-js.org/api/core/class/Stage/)
171
+ * - [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/)
172
+ * - [`TakePhotosBeforeAndAfterInteractions`](https://serenity-js.org/api/web/class/TakePhotosBeforeAndAfterInteractions/)
173
+ * - [`TakePhotosOfFailures`](https://serenity-js.org/api/web/class/TakePhotosOfFailures/)
174
+ * - [`TakePhotosOfInteractions`](https://serenity-js.org/api/web/class/TakePhotosOfInteractions/)
174
175
  *
175
176
  * @group Stage
176
177
  */
@@ -178,18 +179,18 @@ class Photographer {
178
179
  photoTakingStrategy;
179
180
  stage;
180
181
  /**
181
- * Instantiates a new {@apilink Photographer} configured to take photos (screenshots)
182
- * as per the specified {@apilink PhotoTakingStrategy}.
182
+ * Instantiates a new [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) configured to take photos (screenshots)
183
+ * as per the specified [`PhotoTakingStrategy`](https://serenity-js.org/api/web/class/PhotoTakingStrategy/).
183
184
  *
184
185
  * @param strategy
185
- * A no-arg constructor function that instantiates a {@apilink PhotoTakingStrategy}
186
+ * A no-arg constructor function that instantiates a [`PhotoTakingStrategy`](https://serenity-js.org/api/web/class/PhotoTakingStrategy/)
186
187
  */
187
188
  static whoWill(strategy) {
188
189
  return new Photographer(new strategy());
189
190
  }
190
191
  /**
191
- * Instantiates a new {@apilink Photographer} configured to take photos (screenshots)
192
- * as per the specified {@apilink PhotoTakingStrategy}.
192
+ * Instantiates a new [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) configured to take photos (screenshots)
193
+ * as per the specified [`PhotoTakingStrategy`](https://serenity-js.org/api/web/class/PhotoTakingStrategy/).
193
194
  *
194
195
  * @param config
195
196
  */
@@ -209,18 +210,18 @@ class Photographer {
209
210
  this.stage = stage;
210
211
  }
211
212
  /**
212
- * Assigns this {@apilink StageCrewMember} to a given {@apilink Stage}.
213
+ * Assigns this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) to a given [`Stage`](https://serenity-js.org/api/core/class/Stage/).
213
214
  *
214
215
  * @param stage
215
- * An instance of a {@apilink Stage} this {@apilink StageCrewMember} will be assigned to
216
+ * An instance of a [`Stage`](https://serenity-js.org/api/core/class/Stage/) this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) will be assigned to
216
217
  */
217
218
  assignedTo(stage) {
218
219
  this.stage = stage;
219
220
  return this;
220
221
  }
221
222
  /**
222
- * Handles {@apilink DomainEvent} objects emitted by the {@apilink Stage}
223
- * this {@apilink StageCrewMember} is assigned to.
223
+ * Handles [`DomainEvent`](https://serenity-js.org/api/core-events/class/DomainEvent/) objects emitted by the [`Stage`](https://serenity-js.org/api/core/class/Stage/)
224
+ * this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) is assigned to.
224
225
  *
225
226
  * @param event
226
227
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Photographer.js","sourceRoot":"","sources":["../../../../src/stage/crew/photographer/Photographer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAmE;AAEnE,yDAAgF;AAGhF,yDAA2C;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkJG;AACH,MAAa,YAAY;IAqCA;IACT;IApCZ;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,QAAkD;QAC7D,OAAO,IAAI,YAAY,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAA4E;QACxF,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC3B,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA,CAAI,yBAAyB;YAErJ,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAkB,CAAC,EAAE;gBACzD,OAAO,IAAI,YAAY,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,QAAkB,CAAC,EAAE,CAAC,CAAC;aACxE;YAED,MAAM,IAAI,yBAAkB,CACxB,IAAK,MAAM,CAAC,QAAS,6CAA6C;gBAClE,yBAA0B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAE,GAAG,CAC/D,CAAC;SACL;QAED,OAAO,IAAI,YAAY,CAAC,IAAI,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,YACqB,mBAAmD,EAC5D,KAAa;QADJ,wBAAmB,GAAnB,mBAAmB,CAAgC;QAC5D,UAAK,GAAL,KAAK,CAAQ;IAEzB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAY;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,KAAkB;QACvB,IAAI,CAAE,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,IAAI,iBAAU,CAAC,8FAA8F,CAAC,CAAC;SACxH;QAED,IAAI,CAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE;YAClC,OAAO,KAAK,CAAC,CAAC;SACjB;QAED,IAAI,KAAK,YAAY,uBAAc,IAAI,KAAK,YAAY,yBAAgB,EAAE;YACtE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACnE;IACL,CAAC;CACJ;AAxED,oCAwEC"}
1
+ {"version":3,"file":"Photographer.js","sourceRoot":"","sources":["../../../../src/stage/crew/photographer/Photographer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAmE;AAEnE,yDAAgF;AAGhF,yDAA2C;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmJG;AACH,MAAa,YAAY;IAqCA;IACT;IApCZ;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,QAAkD;QAC7D,OAAO,IAAI,YAAY,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAA4E;QACxF,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC3B,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA,CAAI,yBAAyB;YAErJ,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAkB,CAAC,EAAE;gBACzD,OAAO,IAAI,YAAY,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,QAAkB,CAAC,EAAE,CAAC,CAAC;aACxE;YAED,MAAM,IAAI,yBAAkB,CACxB,IAAK,MAAM,CAAC,QAAS,6CAA6C;gBAClE,yBAA0B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAE,GAAG,CAC/D,CAAC;SACL;QAED,OAAO,IAAI,YAAY,CAAC,IAAI,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,YACqB,mBAAmD,EAC5D,KAAa;QADJ,wBAAmB,GAAnB,mBAAmB,CAAgC;QAC5D,UAAK,GAAL,KAAK,CAAQ;IAEzB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAY;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,KAAkB;QACvB,IAAI,CAAE,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,IAAI,iBAAU,CAAC,8FAA8F,CAAC,CAAC;SACxH;QAED,IAAI,CAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE;YAClC,OAAO,KAAK,CAAC,CAAC;SACjB;QAED,IAAI,KAAK,YAAY,uBAAc,IAAI,KAAK,YAAY,yBAAgB,EAAE;YACtE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACnE;IACL,CAAC;CACJ;AAxED,oCAwEC"}
@@ -1,20 +1,20 @@
1
1
  import type { Stage } from '@serenity-js/core';
2
2
  import type { ActivityFinished, ActivityStarts, DomainEvent } from '@serenity-js/core/lib/events';
3
3
  /**
4
- * Configures the {@apilink Photographer} to take {@apilink Photo|photos}, a.k.a. screenshots,
5
- * of the {@apilink Activity} performed by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
4
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos, a.k.a. screenshots,
5
+ * of the [`Activity`](https://serenity-js.org/api/core/class/Activity/) performed by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/)
6
6
  * when desired conditions are met.
7
7
  *
8
8
  * @group Stage
9
9
  */
10
10
  export declare abstract class PhotoTakingStrategy {
11
11
  /**
12
- * Takes a photo of the web browser used by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}.
12
+ * Takes a photo of the web browser used by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/).
13
13
  *
14
14
  * #### Learn more
15
- * - {@apilink ActivityStarts}
16
- * - {@apilink ActivityFinished}
17
- * - {@apilink Stage}
15
+ * - [ActivityStarts](https://serenity-js.org/api/core-events/class/ActivityStarts/)
16
+ * - [ActivityFinished](https://serenity-js.org/api/core-events/class/ActivityFinished/)
17
+ * - [`Stage`](https://serenity-js.org/api/core/class/Stage/)
18
18
  *
19
19
  * @param event
20
20
  * @param stage
@@ -6,20 +6,20 @@ const events_1 = require("@serenity-js/core/lib/events");
6
6
  const model_1 = require("@serenity-js/core/lib/model");
7
7
  const screenplay_1 = require("../../../../screenplay");
8
8
  /**
9
- * Configures the {@apilink Photographer} to take {@apilink Photo|photos}, a.k.a. screenshots,
10
- * of the {@apilink Activity} performed by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
9
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos, a.k.a. screenshots,
10
+ * of the [`Activity`](https://serenity-js.org/api/core/class/Activity/) performed by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/)
11
11
  * when desired conditions are met.
12
12
  *
13
13
  * @group Stage
14
14
  */
15
15
  class PhotoTakingStrategy {
16
16
  /**
17
- * Takes a photo of the web browser used by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}.
17
+ * Takes a photo of the web browser used by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/).
18
18
  *
19
19
  * #### Learn more
20
- * - {@apilink ActivityStarts}
21
- * - {@apilink ActivityFinished}
22
- * - {@apilink Stage}
20
+ * - [ActivityStarts](https://serenity-js.org/api/core-events/class/ActivityStarts/)
21
+ * - [ActivityFinished](https://serenity-js.org/api/core-events/class/ActivityFinished/)
22
+ * - [`Stage`](https://serenity-js.org/api/core/class/Stage/)
23
23
  *
24
24
  * @param event
25
25
  * @param stage
@@ -2,9 +2,9 @@ import type { DomainEvent } from '@serenity-js/core/lib/events';
2
2
  import { InteractionFinished, InteractionStarts } from '@serenity-js/core/lib/events';
3
3
  import { PhotoTakingStrategy } from './PhotoTakingStrategy';
4
4
  /**
5
- * Configures the {@apilink Photographer} to take photos (a.k.a. screenshots) **both before and after**
6
- * every single {@apilink Interaction} performed
7
- * by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}.
5
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos (a.k.a. screenshots) **both before and after**
6
+ * every single [`Interaction`](https://serenity-js.org/api/core/class/Interaction/) performed
7
+ * by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/).
8
8
  *
9
9
  * **Please note** that this strategy will result in _a lot_ of screenshots being taken,
10
10
  * which will seriously affect the performance of your tests.
@@ -4,9 +4,9 @@ exports.TakePhotosBeforeAndAfterInteractions = void 0;
4
4
  const events_1 = require("@serenity-js/core/lib/events");
5
5
  const PhotoTakingStrategy_1 = require("./PhotoTakingStrategy");
6
6
  /**
7
- * Configures the {@apilink Photographer} to take photos (a.k.a. screenshots) **both before and after**
8
- * every single {@apilink Interaction} performed
9
- * by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}.
7
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos (a.k.a. screenshots) **both before and after**
8
+ * every single [`Interaction`](https://serenity-js.org/api/core/class/Interaction/) performed
9
+ * by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/).
10
10
  *
11
11
  * **Please note** that this strategy will result in _a lot_ of screenshots being taken,
12
12
  * which will seriously affect the performance of your tests.
@@ -2,9 +2,9 @@ import type { DomainEvent } from '@serenity-js/core/lib/events';
2
2
  import { InteractionFinished } from '@serenity-js/core/lib/events';
3
3
  import { PhotoTakingStrategy } from './PhotoTakingStrategy';
4
4
  /**
5
- * Configures the {@apilink Photographer} to take photos (a.k.a. screenshots)
6
- * when then {@apilink Interaction} performed
7
- * by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
5
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos (a.k.a. screenshots)
6
+ * when then [`Interaction`](https://serenity-js.org/api/core/class/Interaction/) performed
7
+ * by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/)
8
8
  * results in an error.
9
9
  *
10
10
  * This strategy works best when you are interested in the screenshots only when
@@ -5,9 +5,9 @@ const events_1 = require("@serenity-js/core/lib/events");
5
5
  const model_1 = require("@serenity-js/core/lib/model");
6
6
  const PhotoTakingStrategy_1 = require("./PhotoTakingStrategy");
7
7
  /**
8
- * Configures the {@apilink Photographer} to take photos (a.k.a. screenshots)
9
- * when then {@apilink Interaction} performed
10
- * by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
8
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos (a.k.a. screenshots)
9
+ * when then [`Interaction`](https://serenity-js.org/api/core/class/Interaction/) performed
10
+ * by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/)
11
11
  * results in an error.
12
12
  *
13
13
  * This strategy works best when you are interested in the screenshots only when
@@ -2,9 +2,9 @@ import type { DomainEvent } from '@serenity-js/core/lib/events';
2
2
  import { InteractionFinished } from '@serenity-js/core/lib/events';
3
3
  import { PhotoTakingStrategy } from './PhotoTakingStrategy';
4
4
  /**
5
- * Configures the {@apilink Photographer} to take photos (a.k.a. screenshots)
6
- * when then {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
7
- * performs any {@apilink Interaction}.
5
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos (a.k.a. screenshots)
6
+ * when then [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/)
7
+ * performs any [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
8
8
  *
9
9
  * This strategy works best when you want the results of your automated tests
10
10
  * to become comprehensive living documentation of your system.
@@ -4,9 +4,9 @@ exports.TakePhotosOfInteractions = void 0;
4
4
  const events_1 = require("@serenity-js/core/lib/events");
5
5
  const PhotoTakingStrategy_1 = require("./PhotoTakingStrategy");
6
6
  /**
7
- * Configures the {@apilink Photographer} to take photos (a.k.a. screenshots)
8
- * when then {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
9
- * performs any {@apilink Interaction}.
7
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos (a.k.a. screenshots)
8
+ * when then [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/)
9
+ * performs any [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
10
10
  *
11
11
  * This strategy works best when you want the results of your automated tests
12
12
  * to become comprehensive living documentation of your system.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/web",
3
- "version": "3.25.0",
3
+ "version": "3.25.1",
4
4
  "description": "Serenity/JS Screenplay Pattern APIs for the Web",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -45,8 +45,8 @@
45
45
  "node": "^16.13 || ^18.12 || ^20"
46
46
  },
47
47
  "dependencies": {
48
- "@serenity-js/assertions": "3.25.0",
49
- "@serenity-js/core": "3.25.0",
48
+ "@serenity-js/assertions": "3.25.1",
49
+ "@serenity-js/core": "3.25.1",
50
50
  "tiny-types": "1.22.0"
51
51
  },
52
52
  "devDependencies": {
@@ -59,5 +59,5 @@
59
59
  "ts-node": "10.9.2",
60
60
  "typescript": "5.2.2"
61
61
  },
62
- "gitHead": "22657b685b6002f75b2569db54f4bea31ab91d12"
62
+ "gitHead": "450b994115cf9f1a1547ef92ac9387e0c57821ce"
63
63
  }
@@ -5,8 +5,8 @@ import { LogicError } from '@serenity-js/core';
5
5
  * that's already been closed.
6
6
  *
7
7
  * ## Learn more
8
- * - {@apilink TakeScreenshot}
9
- * - {@apilink Page.takeScreenshot}
8
+ * - [`TakeScreenshot`](https://serenity-js.org/api/web/class/TakeScreenshot/)
9
+ * - [`Page.takeScreenshot`](https://serenity-js.org/api/web/class/Page/#takeScreenshot)
10
10
  *
11
11
  * @group Errors
12
12
  */
@@ -5,8 +5,8 @@ import { RuntimeError } from '@serenity-js/core';
5
5
  * you're trying to retrieve has not been set yet.
6
6
  *
7
7
  * ## Learn more
8
- * - {@apilink Cookie}
9
- * - {@apilink RuntimeError}
8
+ * - [`Cookie`](https://serenity-js.org/api/web/class/Cookie/)
9
+ * - [`RuntimeError`](https://serenity-js.org/api/core/class/RuntimeError/)
10
10
  *
11
11
  * @group Errors
12
12
  */
@@ -4,9 +4,9 @@ import { LogicError } from '@serenity-js/core';
4
4
  * Thrown when the presence of a JavaScript dialog obstructs taking a screenshot.
5
5
  *
6
6
  * ## Learn more
7
- * - {@apilink Photographer}
8
- * - {@apilink LogicError}
9
- * - {@apilink TakeScreenshot}
7
+ * - [`Photographer`](https://serenity-js.org/api/web/class/Photographer/)
8
+ * - [`LogicError`](https://serenity-js.org/api/core/class/LogicError/)
9
+ * - [`TakeScreenshot`](https://serenity-js.org/api/web/class/TakeScreenshot/)
10
10
  *
11
11
  * @group Errors
12
12
  */
@@ -9,18 +9,18 @@ const isElementActive = Expectation.define(
9
9
  );
10
10
 
11
11
  /**
12
- * {@apilink Expectation} that an element is "active", which means it resolves to `true` when:
13
- * - the element {@apilink isPresent|is present} in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
14
- * - {@apilink PageElement.isActive} resolves to `true`
12
+ * [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) that an element is "active", which means it resolves to `true` when:
13
+ * - the element [is present](https://serenity-js.org/api/assertions/function/isPresent/) in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
14
+ * - [`PageElement.isActive`](https://serenity-js.org/api/web/class/PageElement/#isActive) resolves to `true`
15
15
  *
16
16
  * If the above conditions are not met, the expectation resolves to `false`.
17
17
  *
18
18
  * ## Learn more
19
- * - {@apilink PageElement.isActive}
20
- * - {@apilink Expectation}
21
- * - {@apilink Check}
22
- * - {@apilink Ensure}
23
- * - {@apilink Wait}
19
+ * - [`PageElement.isActive`](https://serenity-js.org/api/web/class/PageElement/#isActive)
20
+ * - [`Expectation`](https://serenity-js.org/api/core/class/Expectation/)
21
+ * - [`Check`](https://serenity-js.org/api/core/class/Check/)
22
+ * - [`Ensure`](https://serenity-js.org/api/assertions/class/Ensure/)
23
+ * - [`Wait`](https://serenity-js.org/api/core/class/Wait/)
24
24
  *
25
25
  * @group Expectations
26
26
  */
@@ -9,18 +9,18 @@ const isElementClickable = Expectation.define(
9
9
  );
10
10
 
11
11
  /**
12
- * {@apilink Expectation} that an element is clickable, which means it resolves to `true` when:
13
- * - the element {@apilink isPresent|is present} in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
14
- * - {@apilink PageElement.isClickable} resolves to `true`
12
+ * [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) that an element is clickable, which means it resolves to `true` when:
13
+ * - the element [is present](https://serenity-js.org/api/assertions/function/isPresent/) in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
14
+ * - [`PageElement.isClickable`](https://serenity-js.org/api/web/class/PageElement/#isClickable) resolves to `true`
15
15
  *
16
16
  * If the above conditions are not met, the expectation resolves to `false`.
17
17
  *
18
18
  * ## Learn more
19
- * - {@apilink PageElement.isClickable}
20
- * - {@apilink Expectation}
21
- * - {@apilink Check}
22
- * - {@apilink Ensure}
23
- * - {@apilink Wait}
19
+ * - [`PageElement.isClickable`](https://serenity-js.org/api/web/class/PageElement/#isClickable)
20
+ * - [`Expectation`](https://serenity-js.org/api/core/class/Expectation/)
21
+ * - [`Check`](https://serenity-js.org/api/core/class/Check/)
22
+ * - [`Ensure`](https://serenity-js.org/api/assertions/class/Ensure/)
23
+ * - [`Wait`](https://serenity-js.org/api/core/class/Wait/)
24
24
  *
25
25
  * @group Expectations
26
26
  */
@@ -9,18 +9,18 @@ const isElementEnabled = Expectation.define(
9
9
  );
10
10
 
11
11
  /**
12
- * {@apilink Expectation} that an element is enabled, which means it resolves to `true` when:
13
- * - the element {@apilink isPresent|is present} in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
14
- * - {@apilink PageElement.isEnabled} resolves to `true`
12
+ * [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) that an element is enabled, which means it resolves to `true` when:
13
+ * - the element [is present](https://serenity-js.org/api/assertions/function/isPresent/) in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
14
+ * - [`PageElement.isEnabled`](https://serenity-js.org/api/web/class/PageElement/#isEnabled) resolves to `true`
15
15
  *
16
16
  * If the above conditions are not met, the expectation resolves to `false`.
17
17
  *
18
18
  * ## Learn more
19
- * - {@apilink PageElement.isEnabled}
20
- * - {@apilink Expectation}
21
- * - {@apilink Check}
22
- * - {@apilink Ensure}
23
- * - {@apilink Wait}
19
+ * - [`PageElement.isEnabled`](https://serenity-js.org/api/web/class/PageElement/#isEnabled)
20
+ * - [`Expectation`](https://serenity-js.org/api/core/class/Expectation/)
21
+ * - [`Check`](https://serenity-js.org/api/core/class/Check/)
22
+ * - [`Ensure`](https://serenity-js.org/api/assertions/class/Ensure/)
23
+ * - [`Wait`](https://serenity-js.org/api/core/class/Wait/)
24
24
  *
25
25
  * @group Expectations
26
26
  */
@@ -9,18 +9,18 @@ const isElementSelected = Expectation.define(
9
9
  );
10
10
 
11
11
  /**
12
- * {@apilink Expectation} that an `<option>` or `<input>` element is selected, which means it resolves to `true` when:
13
- * - the element {@apilink isPresent|is present} in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
14
- * - {@apilink PageElement.isSelected} resolves to `true`
12
+ * [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) that an `<option>` or `<input>` element is selected, which means it resolves to `true` when:
13
+ * - the element [is present](https://serenity-js.org/api/assertions/function/isPresent/) in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
14
+ * - [`PageElement.isSelected`](https://serenity-js.org/api/web/class/PageElement/#isSelected) resolves to `true`
15
15
  *
16
16
  * If the above conditions are not met, the expectation resolves to `false`.
17
17
  *
18
18
  * ## Learn more
19
- * - {@apilink PageElement.isSelected}
20
- * - {@apilink Expectation}
21
- * - {@apilink Check}
22
- * - {@apilink Ensure}
23
- * - {@apilink Wait}
19
+ * - [`PageElement.isSelected`](https://serenity-js.org/api/web/class/PageElement/#isSelected)
20
+ * - [`Expectation`](https://serenity-js.org/api/core/class/Expectation/)
21
+ * - [`Check`](https://serenity-js.org/api/core/class/Check/)
22
+ * - [`Ensure`](https://serenity-js.org/api/assertions/class/Ensure/)
23
+ * - [`Wait`](https://serenity-js.org/api/core/class/Wait/)
24
24
  *
25
25
  * @group Expectations
26
26
  */
@@ -9,18 +9,18 @@ const isElementVisible = Expectation.define(
9
9
  );
10
10
 
11
11
  /**
12
- * {@apilink Expectation} that an element is visible, which means it resolves to `true` when:
13
- * - the element {@apilink isPresent|is present} in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
14
- * - {@apilink PageElement.isVisible} resolves to `true`
12
+ * [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) that an element is visible, which means it resolves to `true` when:
13
+ * - the element [is present](https://serenity-js.org/api/assertions/function/isPresent/) in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
14
+ * - [`PageElement.isVisible`](https://serenity-js.org/api/web/class/PageElement/#isVisible) resolves to `true`
15
15
  *
16
16
  * If the above conditions are not met, the expectation resolves to `false`.
17
17
  *
18
18
  * ## Learn more
19
- * - {@apilink PageElement.isVisible}
20
- * - {@apilink Expectation}
21
- * - {@apilink Check}
22
- * - {@apilink Ensure}
23
- * - {@apilink Wait}
19
+ * - [`PageElement.isVisible`](https://serenity-js.org/api/web/class/PageElement/#isVisible)
20
+ * - [`Expectation`](https://serenity-js.org/api/core/class/Expectation/)
21
+ * - [`Check`](https://serenity-js.org/api/core/class/Check/)
22
+ * - [`Ensure`](https://serenity-js.org/api/assertions/class/Ensure/)
23
+ * - [`Wait`](https://serenity-js.org/api/core/class/Wait/)
24
24
  *
25
25
  * @group Expectations
26
26
  */
@@ -3,22 +3,22 @@ import { Ability } from '@serenity-js/core';
3
3
  import type { BrowserCapabilities, BrowsingSession, Page } from '../models';
4
4
 
5
5
  /**
6
- * The {@apilink Ability|ability} to `BrowseTheWeb` enables an {@apilink Actor|actor}
7
- * to {@apilink Interaction|interact with} and {@apilink Question|retrieve information from} Web-based user interfaces.
6
+ * The [ability](https://serenity-js.org/api/core/class/Ability/) to `BrowseTheWeb` enables an [actor](https://serenity-js.org/api/core/class/Actor/)
7
+ * to [interact with](https://serenity-js.org/api/core/class/Interaction/) and [retrieve information from](https://serenity-js.org/api/core/class/Question/) Web-based user interfaces.
8
8
  *
9
- * `BrowseTheWeb` wraps test integration tools such as [Playwright](/api/playwright),
10
- * [Protractor](/api/protractor), or [WebdriverIO](/api/webdriverio),
11
- * and together with Serenity/JS Web models, such as {@apilink Page} or {@apilink PageElement} - offers a standardised way
9
+ * `BrowseTheWeb` wraps test integration tools such as [Playwright](https://serenity-js.org/api/playwright),
10
+ * [Protractor](https://serenity-js.org/api/protractor), or [WebdriverIO](https://serenity-js.org/api/webdriverio),
11
+ * and together with Serenity/JS Web models, such as [`Page`](https://serenity-js.org/api/web/class/Page/) or [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) - offers a standardised way
12
12
  * to write Web-based tests following the Screenplay Pattern.
13
13
  *
14
- * The consistent and portable design of abstractions provided by the [`@serenity-js/web` module](/api/web)
14
+ * The consistent and portable design of abstractions provided by the [`@serenity-js/web` module](https://serenity-js.org/api/web)
15
15
  * also helps to make your tests portable across the various test integration tools and helps to make your test
16
16
  * code easier to reuse across projects and teams.
17
17
  *
18
18
  * ## Giving the actors an ability to `BrowseTheWeb`
19
19
  *
20
- * To give an {@apilink Actor|actor} an ability to `BrowseTheWeb`, provide the **integration tool-specific implementation**
21
- * via {@apilink Actor.whoCan} in {@apilink Cast.prepare}, or via {@apilink Cast.where}.
20
+ * To give an [actor](https://serenity-js.org/api/core/class/Actor/) an ability to `BrowseTheWeb`, provide the **integration tool-specific implementation**
21
+ * via [`Actor.whoCan`](https://serenity-js.org/api/core/class/Actor/#whoCan) in [`Cast.prepare`](https://serenity-js.org/api/core/class/Cast/#prepare), or via [`Cast.where`](https://serenity-js.org/api/core/class/Cast/#where).
22
22
  *
23
23
  * ```ts
24
24
  * import { beforeEach } from 'mocha'
@@ -39,21 +39,23 @@ import type { BrowserCapabilities, BrowsingSession, Page } from '../models';
39
39
  *
40
40
  * To learn more about using Serenity/JS with your chosen test integration tool, follow their respective documentation:
41
41
  *
42
- * - {@apilink BrowseTheWebWithPlaywright}
43
- * - {@apilink BrowseTheWebWithProtractor}
44
- * - {@apilink BrowseTheWebWithWebdriverIO}
42
+ * - [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/)
43
+ * - [`BrowseTheWebWithProtractor`](https://serenity-js.org/api/protractor/class/BrowseTheWebWithProtractor/)
44
+ * - [`BrowseTheWebWithWebdriverIO`](https://serenity-js.org/api/webdriverio/class/BrowseTheWebWithWebdriverIO/)
45
45
  *
46
46
  * ## Using the ability to `BrowseTheWeb`
47
47
  *
48
- * To use the ability to `BrowseTheWeb` in a custom {@apilink Interaction} or {@apilink Question}, use the **generic** method {@apilink BrowseTheWeb.as}
48
+ * To use the ability to `BrowseTheWeb` in a custom [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
49
+ * or [`Question`](https://serenity-js.org/api/core/class/Question/), use the **generic** method [`BrowseTheWeb.as`](https://serenity-js.org/api/core/class/Ability/#as)
49
50
  * to retrieve it.
50
51
  *
51
- * This generic method retrieves the integration tool-specific implementation of {@apilink BrowseTheWeb} present on the {@apilink Actor},
52
- * such as {@apilink BrowseTheWebWithPlaywright} or {@apilink BrowseTheWebWethWebdriverIO}, using {@apilink Actor.abilityTo}.
52
+ * This generic method retrieves the integration tool-specific implementation of [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) present on the [`Actor`](https://serenity-js.org/api/core/class/Actor/),
53
+ * such as [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/)
54
+ * or [`BrowseTheWebWithWebdriverIO`](https://serenity-js.org/api/webdriverio/class/BrowseTheWebWithWebdriverIO/), using [`Actor.abilityTo`](https://serenity-js.org/api/core/class/Actor/#abilityTo).
53
55
  *
54
56
  * This decoupling mechanism helps to make your test code portable across test integration tools,
55
57
  * since the only part of your test suite that needs to know about the test integration tool used are the actors.
56
- * The rest of your test code, so {@apilink Task|tasks}, {@apilink Interaction|interactions}, and {@apilink Question|questions},
58
+ * The rest of your test code, so [tasks](https://serenity-js.org/api/core/class/Task/), [interactions](https://serenity-js.org/api/core/class/Interaction/), and [questions](https://serenity-js.org/api/core/class/Question/),
57
59
  * remain fully agnostic of the underlying tool.
58
60
  *
59
61
  * ```ts
@@ -71,10 +73,10 @@ import type { BrowserCapabilities, BrowsingSession, Page } from '../models';
71
73
  *
72
74
  * ### Learn more
73
75
  *
74
- * - {@apilink Ability}
75
- * - {@apilink Actor.whoCan}
76
- * - {@apilink Cast.where}
77
- * - {@apilink Cast.prepare}
76
+ * - [`Ability`](https://serenity-js.org/api/core/class/Ability/)
77
+ * - [`Actor.whoCan`](https://serenity-js.org/api/core/class/Actor/#whoCan)
78
+ * - [`Cast.where`](https://serenity-js.org/api/core/class/Cast/#where)
79
+ * - [`Cast.prepare`](https://serenity-js.org/api/core/class/Cast/#prepare)
78
80
  *
79
81
  * @group Abilities
80
82
  */
@@ -85,22 +87,22 @@ export abstract class BrowseTheWeb<Native_Element_Type = any> extends Ability {
85
87
  }
86
88
 
87
89
  /**
88
- * Returns a {@apilink Page} representing the currently active browser tab.
90
+ * Returns a [`Page`](https://serenity-js.org/api/web/class/Page/) representing the currently active browser tab.
89
91
  */
90
92
  async currentPage(): Promise<Page<Native_Element_Type>> {
91
93
  return this.session.currentPage();
92
94
  }
93
95
 
94
96
  /**
95
- * Returns an array of {@apilink Page|pages} representing all the browser tabs
96
- * available in the current {@apilink BrowsingSession}.
97
+ * Returns an array of [pages](https://serenity-js.org/api/web/class/Page/) representing all the browser tabs
98
+ * available in the current [`BrowsingSession`](https://serenity-js.org/api/web/class/BrowsingSession/).
97
99
  */
98
100
  allPages(): Promise<Array<Page<Native_Element_Type>>> {
99
101
  return this.session.allPages();
100
102
  }
101
103
 
102
104
  /**
103
- * Returns {@apilink BrowserCapabilities|basic meta-data} about the browser associated with this ability.
105
+ * Returns [basic meta-data](https://serenity-js.org/api/web/interface/BrowserCapabilities/) about the browser associated with this ability.
104
106
  */
105
107
  async browserCapabilities(): Promise<BrowserCapabilities> {
106
108
  return this.session.browserCapabilities();
@@ -5,7 +5,7 @@ import type { PageElement } from '../models';
5
5
  import { PageElementInteraction } from './PageElementInteraction';
6
6
 
7
7
  /**
8
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
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
9
  * to clear the `value` of a [form `input` field](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input).
10
10
  *
11
11
  * ## Example widget
@@ -48,18 +48,18 @@ import { PageElementInteraction } from './PageElementInteraction';
48
48
  *
49
49
  * ## Learn more
50
50
  *
51
- * - {@apilink BrowseTheWeb}
52
- * - {@apilink Enter}
53
- * - {@apilink Value}
54
- * - {@apilink PageElement}
51
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
52
+ * - [`Enter`](https://serenity-js.org/api/web/class/Enter/)
53
+ * - [`Value`](https://serenity-js.org/api/web/class/Value/)
54
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
55
55
  *
56
56
  * @group Activities
57
57
  */
58
58
  export class Clear extends PageElementInteraction {
59
59
 
60
60
  /**
61
- * Instantiates an {@apilink Interaction|interaction}
62
- * that instructs the {@apilink Actor|actor}
61
+ * Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
62
+ * that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
63
63
  * to clear the value of an input `field`,
64
64
  *
65
65
  * @param field