@serenity-js/web 3.41.1 → 3.42.0

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 (657) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/esm/errors/BrowserWindowClosedError.d.ts +15 -0
  3. package/esm/errors/BrowserWindowClosedError.d.ts.map +1 -0
  4. package/esm/errors/BrowserWindowClosedError.js +17 -0
  5. package/esm/errors/BrowserWindowClosedError.js.map +1 -0
  6. package/esm/errors/CookieMissingError.d.ts +15 -0
  7. package/esm/errors/CookieMissingError.d.ts.map +1 -0
  8. package/esm/errors/CookieMissingError.js +17 -0
  9. package/esm/errors/CookieMissingError.js.map +1 -0
  10. package/esm/errors/ModalDialogObstructsScreenshotError.d.ts +15 -0
  11. package/esm/errors/ModalDialogObstructsScreenshotError.d.ts.map +1 -0
  12. package/esm/errors/ModalDialogObstructsScreenshotError.js +17 -0
  13. package/esm/errors/ModalDialogObstructsScreenshotError.js.map +1 -0
  14. package/esm/errors/index.d.ts +4 -0
  15. package/esm/errors/index.d.ts.map +1 -0
  16. package/esm/errors/index.js +4 -0
  17. package/esm/errors/index.js.map +1 -0
  18. package/esm/expectations/index.d.ts +6 -0
  19. package/esm/expectations/index.d.ts.map +1 -0
  20. package/esm/expectations/index.js +6 -0
  21. package/esm/expectations/index.js.map +1 -0
  22. package/esm/expectations/isActive.d.ts +20 -0
  23. package/esm/expectations/isActive.d.ts.map +1 -0
  24. package/esm/expectations/isActive.js +23 -0
  25. package/esm/expectations/isActive.js.map +1 -0
  26. package/esm/expectations/isClickable.d.ts +20 -0
  27. package/esm/expectations/isClickable.d.ts.map +1 -0
  28. package/esm/expectations/isClickable.js +23 -0
  29. package/esm/expectations/isClickable.js.map +1 -0
  30. package/esm/expectations/isEnabled.d.ts +20 -0
  31. package/esm/expectations/isEnabled.d.ts.map +1 -0
  32. package/esm/expectations/isEnabled.js +23 -0
  33. package/esm/expectations/isEnabled.js.map +1 -0
  34. package/esm/expectations/isSelected.d.ts +20 -0
  35. package/esm/expectations/isSelected.d.ts.map +1 -0
  36. package/esm/expectations/isSelected.js +23 -0
  37. package/esm/expectations/isSelected.js.map +1 -0
  38. package/esm/expectations/isVisible.d.ts +20 -0
  39. package/esm/expectations/isVisible.d.ts.map +1 -0
  40. package/esm/expectations/isVisible.js +23 -0
  41. package/esm/expectations/isVisible.js.map +1 -0
  42. package/esm/index.d.ts +5 -0
  43. package/esm/index.d.ts.map +1 -0
  44. package/esm/index.js +5 -0
  45. package/esm/index.js.map +1 -0
  46. package/esm/screenplay/abilities/BrowseTheWeb.d.ts +98 -0
  47. package/esm/screenplay/abilities/BrowseTheWeb.d.ts.map +1 -0
  48. package/esm/screenplay/abilities/BrowseTheWeb.js +106 -0
  49. package/esm/screenplay/abilities/BrowseTheWeb.js.map +1 -0
  50. package/esm/screenplay/abilities/index.d.ts +2 -0
  51. package/esm/screenplay/abilities/index.d.ts.map +1 -0
  52. package/esm/screenplay/abilities/index.js +2 -0
  53. package/esm/screenplay/abilities/index.js.map +1 -0
  54. package/esm/screenplay/index.d.ts +5 -0
  55. package/esm/screenplay/index.d.ts.map +1 -0
  56. package/esm/screenplay/index.js +5 -0
  57. package/esm/screenplay/index.js.map +1 -0
  58. package/esm/screenplay/interactions/Clear.d.ts +74 -0
  59. package/esm/screenplay/interactions/Clear.d.ts.map +1 -0
  60. package/esm/screenplay/interactions/Clear.js +101 -0
  61. package/esm/screenplay/interactions/Clear.js.map +1 -0
  62. package/esm/screenplay/interactions/Click.d.ts +64 -0
  63. package/esm/screenplay/interactions/Click.d.ts.map +1 -0
  64. package/esm/screenplay/interactions/Click.js +72 -0
  65. package/esm/screenplay/interactions/Click.js.map +1 -0
  66. package/esm/screenplay/interactions/DoubleClick.d.ts +87 -0
  67. package/esm/screenplay/interactions/DoubleClick.d.ts.map +1 -0
  68. package/esm/screenplay/interactions/DoubleClick.js +95 -0
  69. package/esm/screenplay/interactions/DoubleClick.js.map +1 -0
  70. package/esm/screenplay/interactions/Drag.d.ts +95 -0
  71. package/esm/screenplay/interactions/Drag.d.ts.map +1 -0
  72. package/esm/screenplay/interactions/Drag.js +119 -0
  73. package/esm/screenplay/interactions/Drag.js.map +1 -0
  74. package/esm/screenplay/interactions/Enter.d.ts +81 -0
  75. package/esm/screenplay/interactions/Enter.d.ts.map +1 -0
  76. package/esm/screenplay/interactions/Enter.js +93 -0
  77. package/esm/screenplay/interactions/Enter.js.map +1 -0
  78. package/esm/screenplay/interactions/ExecuteScript.d.ts +297 -0
  79. package/esm/screenplay/interactions/ExecuteScript.d.ts.map +1 -0
  80. package/esm/screenplay/interactions/ExecuteScript.js +383 -0
  81. package/esm/screenplay/interactions/ExecuteScript.js.map +1 -0
  82. package/esm/screenplay/interactions/Hover.d.ts +68 -0
  83. package/esm/screenplay/interactions/Hover.d.ts.map +1 -0
  84. package/esm/screenplay/interactions/Hover.js +76 -0
  85. package/esm/screenplay/interactions/Hover.js.map +1 -0
  86. package/esm/screenplay/interactions/Navigate.d.ts +137 -0
  87. package/esm/screenplay/interactions/Navigate.d.ts.map +1 -0
  88. package/esm/screenplay/interactions/Navigate.js +174 -0
  89. package/esm/screenplay/interactions/Navigate.js.map +1 -0
  90. package/esm/screenplay/interactions/PageElementInteraction.d.ts +24 -0
  91. package/esm/screenplay/interactions/PageElementInteraction.d.ts.map +1 -0
  92. package/esm/screenplay/interactions/PageElementInteraction.js +29 -0
  93. package/esm/screenplay/interactions/PageElementInteraction.js.map +1 -0
  94. package/esm/screenplay/interactions/Press.d.ts +92 -0
  95. package/esm/screenplay/interactions/Press.d.ts.map +1 -0
  96. package/esm/screenplay/interactions/Press.js +166 -0
  97. package/esm/screenplay/interactions/Press.js.map +1 -0
  98. package/esm/screenplay/interactions/RightClick.d.ts +83 -0
  99. package/esm/screenplay/interactions/RightClick.d.ts.map +1 -0
  100. package/esm/screenplay/interactions/RightClick.js +91 -0
  101. package/esm/screenplay/interactions/RightClick.js.map +1 -0
  102. package/esm/screenplay/interactions/Scroll.d.ts +66 -0
  103. package/esm/screenplay/interactions/Scroll.d.ts.map +1 -0
  104. package/esm/screenplay/interactions/Scroll.js +72 -0
  105. package/esm/screenplay/interactions/Scroll.js.map +1 -0
  106. package/esm/screenplay/interactions/Select.d.ts +235 -0
  107. package/esm/screenplay/interactions/Select.d.ts.map +1 -0
  108. package/esm/screenplay/interactions/Select.js +262 -0
  109. package/esm/screenplay/interactions/Select.js.map +1 -0
  110. package/esm/screenplay/interactions/Switch.d.ts +130 -0
  111. package/esm/screenplay/interactions/Switch.d.ts.map +1 -0
  112. package/esm/screenplay/interactions/Switch.js +159 -0
  113. package/esm/screenplay/interactions/Switch.js.map +1 -0
  114. package/esm/screenplay/interactions/TakeScreenshot.d.ts +47 -0
  115. package/esm/screenplay/interactions/TakeScreenshot.d.ts.map +1 -0
  116. package/esm/screenplay/interactions/TakeScreenshot.js +58 -0
  117. package/esm/screenplay/interactions/TakeScreenshot.js.map +1 -0
  118. package/esm/screenplay/interactions/index.d.ts +16 -0
  119. package/esm/screenplay/interactions/index.d.ts.map +1 -0
  120. package/esm/screenplay/interactions/index.js +16 -0
  121. package/esm/screenplay/interactions/index.js.map +1 -0
  122. package/esm/screenplay/models/ArgumentDehydrator.d.ts +14 -0
  123. package/esm/screenplay/models/ArgumentDehydrator.d.ts.map +1 -0
  124. package/esm/screenplay/models/ArgumentDehydrator.js +45 -0
  125. package/esm/screenplay/models/ArgumentDehydrator.js.map +1 -0
  126. package/esm/screenplay/models/BrowserCapabilities.d.ts +24 -0
  127. package/esm/screenplay/models/BrowserCapabilities.d.ts.map +1 -0
  128. package/esm/screenplay/models/BrowserCapabilities.js +2 -0
  129. package/esm/screenplay/models/BrowserCapabilities.js.map +1 -0
  130. package/esm/screenplay/models/BrowsingSession.d.ts +74 -0
  131. package/esm/screenplay/models/BrowsingSession.d.ts.map +1 -0
  132. package/esm/screenplay/models/BrowsingSession.js +96 -0
  133. package/esm/screenplay/models/BrowsingSession.js.map +1 -0
  134. package/esm/screenplay/models/Cookie.d.ts +158 -0
  135. package/esm/screenplay/models/Cookie.d.ts.map +1 -0
  136. package/esm/screenplay/models/Cookie.js +225 -0
  137. package/esm/screenplay/models/Cookie.js.map +1 -0
  138. package/esm/screenplay/models/CookieData.d.ts +51 -0
  139. package/esm/screenplay/models/CookieData.d.ts.map +1 -0
  140. package/esm/screenplay/models/CookieData.js +2 -0
  141. package/esm/screenplay/models/CookieData.js.map +1 -0
  142. package/esm/screenplay/models/Key.d.ts +82 -0
  143. package/esm/screenplay/models/Key.d.ts.map +1 -0
  144. package/esm/screenplay/models/Key.js +97 -0
  145. package/esm/screenplay/models/Key.js.map +1 -0
  146. package/esm/screenplay/models/Locator.d.ts +48 -0
  147. package/esm/screenplay/models/Locator.d.ts.map +1 -0
  148. package/esm/screenplay/models/Locator.js +64 -0
  149. package/esm/screenplay/models/Locator.js.map +1 -0
  150. package/esm/screenplay/models/Page.d.ts +453 -0
  151. package/esm/screenplay/models/Page.d.ts.map +1 -0
  152. package/esm/screenplay/models/Page.js +252 -0
  153. package/esm/screenplay/models/Page.js.map +1 -0
  154. package/esm/screenplay/models/PageElement.d.ts +207 -0
  155. package/esm/screenplay/models/PageElement.d.ts.map +1 -0
  156. package/esm/screenplay/models/PageElement.js +89 -0
  157. package/esm/screenplay/models/PageElement.js.map +1 -0
  158. package/esm/screenplay/models/PageElements.d.ts +21 -0
  159. package/esm/screenplay/models/PageElements.d.ts.map +1 -0
  160. package/esm/screenplay/models/PageElements.js +21 -0
  161. package/esm/screenplay/models/PageElements.js.map +1 -0
  162. package/esm/screenplay/models/PageElementsLocator.d.ts +16 -0
  163. package/esm/screenplay/models/PageElementsLocator.d.ts.map +1 -0
  164. package/esm/screenplay/models/PageElementsLocator.js +31 -0
  165. package/esm/screenplay/models/PageElementsLocator.js.map +1 -0
  166. package/esm/screenplay/models/RootLocator.d.ts +24 -0
  167. package/esm/screenplay/models/RootLocator.d.ts.map +1 -0
  168. package/esm/screenplay/models/RootLocator.js +21 -0
  169. package/esm/screenplay/models/RootLocator.js.map +1 -0
  170. package/esm/screenplay/models/SelectOption.d.ts +25 -0
  171. package/esm/screenplay/models/SelectOption.d.ts.map +1 -0
  172. package/esm/screenplay/models/SelectOption.js +37 -0
  173. package/esm/screenplay/models/SelectOption.js.map +1 -0
  174. package/esm/screenplay/models/Switchable.d.ts +23 -0
  175. package/esm/screenplay/models/Switchable.d.ts.map +1 -0
  176. package/esm/screenplay/models/Switchable.js +2 -0
  177. package/esm/screenplay/models/Switchable.js.map +1 -0
  178. package/esm/screenplay/models/SwitchableOrigin.d.ts +18 -0
  179. package/esm/screenplay/models/SwitchableOrigin.d.ts.map +1 -0
  180. package/esm/screenplay/models/SwitchableOrigin.js +2 -0
  181. package/esm/screenplay/models/SwitchableOrigin.js.map +1 -0
  182. package/esm/screenplay/models/dialogs/AbsentModalDialog.d.ts +15 -0
  183. package/esm/screenplay/models/dialogs/AbsentModalDialog.d.ts.map +1 -0
  184. package/esm/screenplay/models/dialogs/AbsentModalDialog.js +20 -0
  185. package/esm/screenplay/models/dialogs/AbsentModalDialog.js.map +1 -0
  186. package/esm/screenplay/models/dialogs/AcceptedModalDialog.d.ts +17 -0
  187. package/esm/screenplay/models/dialogs/AcceptedModalDialog.d.ts.map +1 -0
  188. package/esm/screenplay/models/dialogs/AcceptedModalDialog.js +26 -0
  189. package/esm/screenplay/models/dialogs/AcceptedModalDialog.js.map +1 -0
  190. package/esm/screenplay/models/dialogs/DismissedModalDialog.d.ts +17 -0
  191. package/esm/screenplay/models/dialogs/DismissedModalDialog.d.ts.map +1 -0
  192. package/esm/screenplay/models/dialogs/DismissedModalDialog.js +26 -0
  193. package/esm/screenplay/models/dialogs/DismissedModalDialog.js.map +1 -0
  194. package/esm/screenplay/models/dialogs/ModalDialog.d.ts +171 -0
  195. package/esm/screenplay/models/dialogs/ModalDialog.d.ts.map +1 -0
  196. package/esm/screenplay/models/dialogs/ModalDialog.js +173 -0
  197. package/esm/screenplay/models/dialogs/ModalDialog.js.map +1 -0
  198. package/esm/screenplay/models/dialogs/ModalDialogHandler.d.ts +38 -0
  199. package/esm/screenplay/models/dialogs/ModalDialogHandler.d.ts.map +1 -0
  200. package/esm/screenplay/models/dialogs/ModalDialogHandler.js +27 -0
  201. package/esm/screenplay/models/dialogs/ModalDialogHandler.js.map +1 -0
  202. package/esm/screenplay/models/dialogs/index.d.ts +6 -0
  203. package/esm/screenplay/models/dialogs/index.d.ts.map +1 -0
  204. package/esm/screenplay/models/dialogs/index.js +6 -0
  205. package/esm/screenplay/models/dialogs/index.js.map +1 -0
  206. package/esm/screenplay/models/index.d.ts +18 -0
  207. package/esm/screenplay/models/index.d.ts.map +1 -0
  208. package/esm/screenplay/models/index.js +18 -0
  209. package/esm/screenplay/models/index.js.map +1 -0
  210. package/esm/screenplay/models/selectors/By.d.ts +169 -0
  211. package/esm/screenplay/models/selectors/By.d.ts.map +1 -0
  212. package/esm/screenplay/models/selectors/By.js +217 -0
  213. package/esm/screenplay/models/selectors/By.js.map +1 -0
  214. package/esm/screenplay/models/selectors/ByCss.d.ts +13 -0
  215. package/esm/screenplay/models/selectors/ByCss.d.ts.map +1 -0
  216. package/esm/screenplay/models/selectors/ByCss.js +16 -0
  217. package/esm/screenplay/models/selectors/ByCss.js.map +1 -0
  218. package/esm/screenplay/models/selectors/ByCssContainingText.d.ts +15 -0
  219. package/esm/screenplay/models/selectors/ByCssContainingText.d.ts.map +1 -0
  220. package/esm/screenplay/models/selectors/ByCssContainingText.js +19 -0
  221. package/esm/screenplay/models/selectors/ByCssContainingText.js.map +1 -0
  222. package/esm/screenplay/models/selectors/ByDeepCss.d.ts +14 -0
  223. package/esm/screenplay/models/selectors/ByDeepCss.d.ts.map +1 -0
  224. package/esm/screenplay/models/selectors/ByDeepCss.js +17 -0
  225. package/esm/screenplay/models/selectors/ByDeepCss.js.map +1 -0
  226. package/esm/screenplay/models/selectors/ById.d.ts +13 -0
  227. package/esm/screenplay/models/selectors/ById.d.ts.map +1 -0
  228. package/esm/screenplay/models/selectors/ById.js +16 -0
  229. package/esm/screenplay/models/selectors/ById.js.map +1 -0
  230. package/esm/screenplay/models/selectors/ByRole.d.ts +126 -0
  231. package/esm/screenplay/models/selectors/ByRole.d.ts.map +1 -0
  232. package/esm/screenplay/models/selectors/ByRole.js +19 -0
  233. package/esm/screenplay/models/selectors/ByRole.js.map +1 -0
  234. package/esm/screenplay/models/selectors/ByTagName.d.ts +13 -0
  235. package/esm/screenplay/models/selectors/ByTagName.d.ts.map +1 -0
  236. package/esm/screenplay/models/selectors/ByTagName.js +16 -0
  237. package/esm/screenplay/models/selectors/ByTagName.js.map +1 -0
  238. package/esm/screenplay/models/selectors/ByXPath.d.ts +13 -0
  239. package/esm/screenplay/models/selectors/ByXPath.d.ts.map +1 -0
  240. package/esm/screenplay/models/selectors/ByXPath.js +16 -0
  241. package/esm/screenplay/models/selectors/ByXPath.js.map +1 -0
  242. package/esm/screenplay/models/selectors/Selector.d.ts +10 -0
  243. package/esm/screenplay/models/selectors/Selector.d.ts.map +1 -0
  244. package/esm/screenplay/models/selectors/Selector.js +15 -0
  245. package/esm/screenplay/models/selectors/Selector.js.map +1 -0
  246. package/esm/screenplay/models/selectors/index.d.ts +10 -0
  247. package/esm/screenplay/models/selectors/index.d.ts.map +1 -0
  248. package/esm/screenplay/models/selectors/index.js +10 -0
  249. package/esm/screenplay/models/selectors/index.js.map +1 -0
  250. package/esm/screenplay/questions/Attribute.d.ts +127 -0
  251. package/esm/screenplay/questions/Attribute.d.ts.map +1 -0
  252. package/esm/screenplay/questions/Attribute.js +150 -0
  253. package/esm/screenplay/questions/Attribute.js.map +1 -0
  254. package/esm/screenplay/questions/ComputedStyle.d.ts +131 -0
  255. package/esm/screenplay/questions/ComputedStyle.d.ts.map +1 -0
  256. package/esm/screenplay/questions/ComputedStyle.js +157 -0
  257. package/esm/screenplay/questions/ComputedStyle.js.map +1 -0
  258. package/esm/screenplay/questions/CssClasses.d.ts +110 -0
  259. package/esm/screenplay/questions/CssClasses.d.ts.map +1 -0
  260. package/esm/screenplay/questions/CssClasses.js +121 -0
  261. package/esm/screenplay/questions/CssClasses.js.map +1 -0
  262. package/esm/screenplay/questions/LastScriptExecution.d.ts +50 -0
  263. package/esm/screenplay/questions/LastScriptExecution.d.ts.map +1 -0
  264. package/esm/screenplay/questions/LastScriptExecution.js +56 -0
  265. package/esm/screenplay/questions/LastScriptExecution.js.map +1 -0
  266. package/esm/screenplay/questions/Selected.d.ts +216 -0
  267. package/esm/screenplay/questions/Selected.d.ts.map +1 -0
  268. package/esm/screenplay/questions/Selected.js +247 -0
  269. package/esm/screenplay/questions/Selected.js.map +1 -0
  270. package/esm/screenplay/questions/Text.d.ts +116 -0
  271. package/esm/screenplay/questions/Text.d.ts.map +1 -0
  272. package/esm/screenplay/questions/Text.js +121 -0
  273. package/esm/screenplay/questions/Text.js.map +1 -0
  274. package/esm/screenplay/questions/Value.d.ts +70 -0
  275. package/esm/screenplay/questions/Value.d.ts.map +1 -0
  276. package/esm/screenplay/questions/Value.js +75 -0
  277. package/esm/screenplay/questions/Value.js.map +1 -0
  278. package/esm/screenplay/questions/index.d.ts +8 -0
  279. package/esm/screenplay/questions/index.d.ts.map +1 -0
  280. package/esm/screenplay/questions/index.js +8 -0
  281. package/esm/screenplay/questions/index.js.map +1 -0
  282. package/esm/scripts/dragAndDrop.d.ts +13 -0
  283. package/esm/scripts/dragAndDrop.d.ts.map +1 -0
  284. package/esm/scripts/dragAndDrop.js +72 -0
  285. package/esm/scripts/dragAndDrop.js.map +1 -0
  286. package/esm/scripts/index.d.ts +4 -0
  287. package/esm/scripts/index.d.ts.map +1 -0
  288. package/esm/scripts/index.js +4 -0
  289. package/esm/scripts/index.js.map +1 -0
  290. package/esm/scripts/isVisible.d.ts +2 -0
  291. package/esm/scripts/isVisible.d.ts.map +1 -0
  292. package/esm/scripts/isVisible.js +92 -0
  293. package/esm/scripts/isVisible.js.map +1 -0
  294. package/esm/scripts/rehydrate.d.ts +5 -0
  295. package/esm/scripts/rehydrate.d.ts.map +1 -0
  296. package/esm/scripts/rehydrate.js +31 -0
  297. package/esm/scripts/rehydrate.js.map +1 -0
  298. package/esm/stage/crew/index.d.ts +2 -0
  299. package/esm/stage/crew/index.d.ts.map +1 -0
  300. package/esm/stage/crew/index.js +2 -0
  301. package/esm/stage/crew/index.js.map +1 -0
  302. package/esm/stage/crew/photographer/Photographer.d.ts +189 -0
  303. package/esm/stage/crew/photographer/Photographer.d.ts.map +1 -0
  304. package/esm/stage/crew/photographer/Photographer.js +215 -0
  305. package/esm/stage/crew/photographer/Photographer.js.map +1 -0
  306. package/esm/stage/crew/photographer/index.d.ts +3 -0
  307. package/esm/stage/crew/photographer/index.d.ts.map +1 -0
  308. package/esm/stage/crew/photographer/index.js +3 -0
  309. package/esm/stage/crew/photographer/index.js.map +1 -0
  310. package/esm/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +29 -0
  311. package/esm/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts.map +1 -0
  312. package/esm/stage/crew/photographer/strategies/PhotoTakingStrategy.js +64 -0
  313. package/esm/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +1 -0
  314. package/esm/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +19 -0
  315. package/esm/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts.map +1 -0
  316. package/esm/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +25 -0
  317. package/esm/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +1 -0
  318. package/esm/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +19 -0
  319. package/esm/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts.map +1 -0
  320. package/esm/stage/crew/photographer/strategies/TakePhotosOfFailures.js +24 -0
  321. package/esm/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +1 -0
  322. package/esm/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +20 -0
  323. package/esm/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts.map +1 -0
  324. package/esm/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +23 -0
  325. package/esm/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +1 -0
  326. package/esm/stage/crew/photographer/strategies/index.d.ts +5 -0
  327. package/esm/stage/crew/photographer/strategies/index.d.ts.map +1 -0
  328. package/esm/stage/crew/photographer/strategies/index.js +5 -0
  329. package/esm/stage/crew/photographer/strategies/index.js.map +1 -0
  330. package/esm/stage/index.d.ts +2 -0
  331. package/esm/stage/index.d.ts.map +1 -0
  332. package/esm/stage/index.js +2 -0
  333. package/esm/stage/index.js.map +1 -0
  334. package/lib/errors/index.d.ts +3 -3
  335. package/lib/errors/index.d.ts.map +1 -1
  336. package/lib/errors/index.js +3 -3
  337. package/lib/errors/index.js.map +1 -1
  338. package/lib/expectations/index.d.ts +5 -5
  339. package/lib/expectations/index.d.ts.map +1 -1
  340. package/lib/expectations/index.js +5 -5
  341. package/lib/expectations/index.js.map +1 -1
  342. package/lib/expectations/isActive.d.ts +1 -1
  343. package/lib/expectations/isActive.d.ts.map +1 -1
  344. package/lib/expectations/isClickable.d.ts +1 -1
  345. package/lib/expectations/isClickable.d.ts.map +1 -1
  346. package/lib/expectations/isEnabled.d.ts +1 -1
  347. package/lib/expectations/isEnabled.d.ts.map +1 -1
  348. package/lib/expectations/isSelected.d.ts +1 -1
  349. package/lib/expectations/isSelected.d.ts.map +1 -1
  350. package/lib/expectations/isVisible.d.ts +1 -1
  351. package/lib/expectations/isVisible.d.ts.map +1 -1
  352. package/lib/index.d.ts +4 -4
  353. package/lib/index.d.ts.map +1 -1
  354. package/lib/index.js +4 -4
  355. package/lib/index.js.map +1 -1
  356. package/lib/package.json +1 -0
  357. package/lib/screenplay/abilities/BrowseTheWeb.d.ts +1 -1
  358. package/lib/screenplay/abilities/BrowseTheWeb.d.ts.map +1 -1
  359. package/lib/screenplay/abilities/index.d.ts +1 -1
  360. package/lib/screenplay/abilities/index.d.ts.map +1 -1
  361. package/lib/screenplay/abilities/index.js +1 -1
  362. package/lib/screenplay/abilities/index.js.map +1 -1
  363. package/lib/screenplay/index.d.ts +4 -4
  364. package/lib/screenplay/index.d.ts.map +1 -1
  365. package/lib/screenplay/index.js +4 -4
  366. package/lib/screenplay/index.js.map +1 -1
  367. package/lib/screenplay/interactions/Clear.d.ts +2 -2
  368. package/lib/screenplay/interactions/Clear.d.ts.map +1 -1
  369. package/lib/screenplay/interactions/Clear.js +2 -2
  370. package/lib/screenplay/interactions/Clear.js.map +1 -1
  371. package/lib/screenplay/interactions/Click.d.ts +2 -2
  372. package/lib/screenplay/interactions/Click.d.ts.map +1 -1
  373. package/lib/screenplay/interactions/Click.js +2 -2
  374. package/lib/screenplay/interactions/Click.js.map +1 -1
  375. package/lib/screenplay/interactions/DoubleClick.d.ts +2 -2
  376. package/lib/screenplay/interactions/DoubleClick.d.ts.map +1 -1
  377. package/lib/screenplay/interactions/DoubleClick.js +2 -2
  378. package/lib/screenplay/interactions/DoubleClick.js.map +1 -1
  379. package/lib/screenplay/interactions/Drag.d.ts +1 -1
  380. package/lib/screenplay/interactions/Drag.d.ts.map +1 -1
  381. package/lib/screenplay/interactions/Enter.d.ts +2 -2
  382. package/lib/screenplay/interactions/Enter.d.ts.map +1 -1
  383. package/lib/screenplay/interactions/Enter.js +3 -3
  384. package/lib/screenplay/interactions/Enter.js.map +1 -1
  385. package/lib/screenplay/interactions/ExecuteScript.js +6 -6
  386. package/lib/screenplay/interactions/ExecuteScript.js.map +1 -1
  387. package/lib/screenplay/interactions/Hover.d.ts +2 -2
  388. package/lib/screenplay/interactions/Hover.d.ts.map +1 -1
  389. package/lib/screenplay/interactions/Hover.js +2 -2
  390. package/lib/screenplay/interactions/Hover.js.map +1 -1
  391. package/lib/screenplay/interactions/Navigate.js +5 -5
  392. package/lib/screenplay/interactions/Navigate.js.map +1 -1
  393. package/lib/screenplay/interactions/PageElementInteraction.d.ts +2 -2
  394. package/lib/screenplay/interactions/PageElementInteraction.d.ts.map +1 -1
  395. package/lib/screenplay/interactions/Press.d.ts +3 -3
  396. package/lib/screenplay/interactions/Press.d.ts.map +1 -1
  397. package/lib/screenplay/interactions/Press.js +9 -9
  398. package/lib/screenplay/interactions/Press.js.map +1 -1
  399. package/lib/screenplay/interactions/RightClick.d.ts +2 -2
  400. package/lib/screenplay/interactions/RightClick.d.ts.map +1 -1
  401. package/lib/screenplay/interactions/RightClick.js +2 -2
  402. package/lib/screenplay/interactions/RightClick.js.map +1 -1
  403. package/lib/screenplay/interactions/Scroll.d.ts +1 -1
  404. package/lib/screenplay/interactions/Scroll.d.ts.map +1 -1
  405. package/lib/screenplay/interactions/Select.d.ts +1 -1
  406. package/lib/screenplay/interactions/Select.d.ts.map +1 -1
  407. package/lib/screenplay/interactions/Select.js +8 -9
  408. package/lib/screenplay/interactions/Select.js.map +1 -1
  409. package/lib/screenplay/interactions/Switch.d.ts +1 -1
  410. package/lib/screenplay/interactions/Switch.d.ts.map +1 -1
  411. package/lib/screenplay/interactions/TakeScreenshot.js +3 -3
  412. package/lib/screenplay/interactions/TakeScreenshot.js.map +1 -1
  413. package/lib/screenplay/interactions/index.d.ts +15 -15
  414. package/lib/screenplay/interactions/index.d.ts.map +1 -1
  415. package/lib/screenplay/interactions/index.js +15 -15
  416. package/lib/screenplay/interactions/index.js.map +1 -1
  417. package/lib/screenplay/models/ArgumentDehydrator.js +1 -1
  418. package/lib/screenplay/models/ArgumentDehydrator.js.map +1 -1
  419. package/lib/screenplay/models/BrowsingSession.d.ts +3 -3
  420. package/lib/screenplay/models/BrowsingSession.d.ts.map +1 -1
  421. package/lib/screenplay/models/Cookie.d.ts +1 -1
  422. package/lib/screenplay/models/Cookie.d.ts.map +1 -1
  423. package/lib/screenplay/models/Cookie.js +6 -6
  424. package/lib/screenplay/models/Cookie.js.map +1 -1
  425. package/lib/screenplay/models/Key.d.ts +5 -0
  426. package/lib/screenplay/models/Key.d.ts.map +1 -1
  427. package/lib/screenplay/models/Key.js +13 -2
  428. package/lib/screenplay/models/Key.js.map +1 -1
  429. package/lib/screenplay/models/Locator.d.ts +3 -3
  430. package/lib/screenplay/models/Locator.d.ts.map +1 -1
  431. package/lib/screenplay/models/Locator.js +9 -9
  432. package/lib/screenplay/models/Locator.js.map +1 -1
  433. package/lib/screenplay/models/Page.d.ts +12 -12
  434. package/lib/screenplay/models/Page.d.ts.map +1 -1
  435. package/lib/screenplay/models/Page.js +5 -5
  436. package/lib/screenplay/models/Page.js.map +1 -1
  437. package/lib/screenplay/models/PageElement.d.ts +5 -5
  438. package/lib/screenplay/models/PageElement.d.ts.map +1 -1
  439. package/lib/screenplay/models/PageElement.js +3 -3
  440. package/lib/screenplay/models/PageElement.js.map +1 -1
  441. package/lib/screenplay/models/PageElements.d.ts +2 -2
  442. package/lib/screenplay/models/PageElements.d.ts.map +1 -1
  443. package/lib/screenplay/models/PageElements.js +2 -2
  444. package/lib/screenplay/models/PageElements.js.map +1 -1
  445. package/lib/screenplay/models/PageElementsLocator.d.ts +3 -3
  446. package/lib/screenplay/models/PageElementsLocator.d.ts.map +1 -1
  447. package/lib/screenplay/models/PageElementsLocator.js +2 -2
  448. package/lib/screenplay/models/PageElementsLocator.js.map +1 -1
  449. package/lib/screenplay/models/RootLocator.js +1 -1
  450. package/lib/screenplay/models/RootLocator.js.map +1 -1
  451. package/lib/screenplay/models/Switchable.d.ts +1 -1
  452. package/lib/screenplay/models/Switchable.d.ts.map +1 -1
  453. package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts +1 -1
  454. package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts.map +1 -1
  455. package/lib/screenplay/models/dialogs/AbsentModalDialog.js +2 -2
  456. package/lib/screenplay/models/dialogs/AbsentModalDialog.js.map +1 -1
  457. package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts +1 -1
  458. package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts.map +1 -1
  459. package/lib/screenplay/models/dialogs/AcceptedModalDialog.js +2 -2
  460. package/lib/screenplay/models/dialogs/AcceptedModalDialog.js.map +1 -1
  461. package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts +1 -1
  462. package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts.map +1 -1
  463. package/lib/screenplay/models/dialogs/DismissedModalDialog.js +2 -2
  464. package/lib/screenplay/models/dialogs/DismissedModalDialog.js.map +1 -1
  465. package/lib/screenplay/models/dialogs/ModalDialog.js +7 -7
  466. package/lib/screenplay/models/dialogs/ModalDialog.js.map +1 -1
  467. package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts +1 -1
  468. package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts.map +1 -1
  469. package/lib/screenplay/models/dialogs/ModalDialogHandler.js +2 -2
  470. package/lib/screenplay/models/dialogs/ModalDialogHandler.js.map +1 -1
  471. package/lib/screenplay/models/dialogs/index.d.ts +5 -5
  472. package/lib/screenplay/models/dialogs/index.d.ts.map +1 -1
  473. package/lib/screenplay/models/dialogs/index.js +5 -5
  474. package/lib/screenplay/models/dialogs/index.js.map +1 -1
  475. package/lib/screenplay/models/index.d.ts +17 -17
  476. package/lib/screenplay/models/index.d.ts.map +1 -1
  477. package/lib/screenplay/models/index.js +17 -17
  478. package/lib/screenplay/models/index.js.map +1 -1
  479. package/lib/screenplay/models/selectors/By.d.ts +7 -7
  480. package/lib/screenplay/models/selectors/By.d.ts.map +1 -1
  481. package/lib/screenplay/models/selectors/By.js +14 -14
  482. package/lib/screenplay/models/selectors/By.js.map +1 -1
  483. package/lib/screenplay/models/selectors/ByCss.d.ts +1 -1
  484. package/lib/screenplay/models/selectors/ByCss.d.ts.map +1 -1
  485. package/lib/screenplay/models/selectors/ByCss.js +2 -2
  486. package/lib/screenplay/models/selectors/ByCss.js.map +1 -1
  487. package/lib/screenplay/models/selectors/ByCssContainingText.d.ts +1 -1
  488. package/lib/screenplay/models/selectors/ByCssContainingText.d.ts.map +1 -1
  489. package/lib/screenplay/models/selectors/ByCssContainingText.js +2 -2
  490. package/lib/screenplay/models/selectors/ByCssContainingText.js.map +1 -1
  491. package/lib/screenplay/models/selectors/ByDeepCss.d.ts +1 -1
  492. package/lib/screenplay/models/selectors/ByDeepCss.d.ts.map +1 -1
  493. package/lib/screenplay/models/selectors/ByDeepCss.js +2 -2
  494. package/lib/screenplay/models/selectors/ByDeepCss.js.map +1 -1
  495. package/lib/screenplay/models/selectors/ById.d.ts +1 -1
  496. package/lib/screenplay/models/selectors/ById.d.ts.map +1 -1
  497. package/lib/screenplay/models/selectors/ById.js +2 -2
  498. package/lib/screenplay/models/selectors/ById.js.map +1 -1
  499. package/lib/screenplay/models/selectors/ByRole.d.ts +1 -1
  500. package/lib/screenplay/models/selectors/ByRole.d.ts.map +1 -1
  501. package/lib/screenplay/models/selectors/ByRole.js +2 -2
  502. package/lib/screenplay/models/selectors/ByRole.js.map +1 -1
  503. package/lib/screenplay/models/selectors/ByTagName.d.ts +1 -1
  504. package/lib/screenplay/models/selectors/ByTagName.d.ts.map +1 -1
  505. package/lib/screenplay/models/selectors/ByTagName.js +2 -2
  506. package/lib/screenplay/models/selectors/ByTagName.js.map +1 -1
  507. package/lib/screenplay/models/selectors/ByXPath.d.ts +1 -1
  508. package/lib/screenplay/models/selectors/ByXPath.d.ts.map +1 -1
  509. package/lib/screenplay/models/selectors/ByXPath.js +2 -2
  510. package/lib/screenplay/models/selectors/ByXPath.js.map +1 -1
  511. package/lib/screenplay/models/selectors/index.d.ts +9 -9
  512. package/lib/screenplay/models/selectors/index.d.ts.map +1 -1
  513. package/lib/screenplay/models/selectors/index.js +9 -9
  514. package/lib/screenplay/models/selectors/index.js.map +1 -1
  515. package/lib/screenplay/questions/Attribute.d.ts +1 -1
  516. package/lib/screenplay/questions/Attribute.d.ts.map +1 -1
  517. package/lib/screenplay/questions/Attribute.js +2 -2
  518. package/lib/screenplay/questions/Attribute.js.map +1 -1
  519. package/lib/screenplay/questions/ComputedStyle.d.ts +1 -1
  520. package/lib/screenplay/questions/ComputedStyle.d.ts.map +1 -1
  521. package/lib/screenplay/questions/ComputedStyle.js +4 -4
  522. package/lib/screenplay/questions/ComputedStyle.js.map +1 -1
  523. package/lib/screenplay/questions/CssClasses.d.ts +1 -1
  524. package/lib/screenplay/questions/CssClasses.d.ts.map +1 -1
  525. package/lib/screenplay/questions/CssClasses.js +2 -2
  526. package/lib/screenplay/questions/CssClasses.js.map +1 -1
  527. package/lib/screenplay/questions/LastScriptExecution.js +2 -2
  528. package/lib/screenplay/questions/LastScriptExecution.js.map +1 -1
  529. package/lib/screenplay/questions/Selected.d.ts +1 -1
  530. package/lib/screenplay/questions/Selected.d.ts.map +1 -1
  531. package/lib/screenplay/questions/Text.d.ts +2 -2
  532. package/lib/screenplay/questions/Text.d.ts.map +1 -1
  533. package/lib/screenplay/questions/Text.js +3 -3
  534. package/lib/screenplay/questions/Text.js.map +1 -1
  535. package/lib/screenplay/questions/Value.d.ts +1 -1
  536. package/lib/screenplay/questions/Value.d.ts.map +1 -1
  537. package/lib/screenplay/questions/Value.js +2 -2
  538. package/lib/screenplay/questions/Value.js.map +1 -1
  539. package/lib/screenplay/questions/index.d.ts +7 -7
  540. package/lib/screenplay/questions/index.d.ts.map +1 -1
  541. package/lib/screenplay/questions/index.js +7 -7
  542. package/lib/screenplay/questions/index.js.map +1 -1
  543. package/lib/scripts/index.d.ts +3 -3
  544. package/lib/scripts/index.d.ts.map +1 -1
  545. package/lib/scripts/index.js +3 -3
  546. package/lib/scripts/index.js.map +1 -1
  547. package/lib/stage/crew/index.d.ts +1 -1
  548. package/lib/stage/crew/index.d.ts.map +1 -1
  549. package/lib/stage/crew/index.js +1 -1
  550. package/lib/stage/crew/index.js.map +1 -1
  551. package/lib/stage/crew/photographer/Photographer.d.ts +3 -3
  552. package/lib/stage/crew/photographer/Photographer.d.ts.map +1 -1
  553. package/lib/stage/crew/photographer/Photographer.js +2 -2
  554. package/lib/stage/crew/photographer/Photographer.js.map +1 -1
  555. package/lib/stage/crew/photographer/index.d.ts +2 -2
  556. package/lib/stage/crew/photographer/index.d.ts.map +1 -1
  557. package/lib/stage/crew/photographer/index.js +2 -2
  558. package/lib/stage/crew/photographer/index.js.map +1 -1
  559. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +1 -1
  560. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts.map +1 -1
  561. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +4 -4
  562. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +1 -1
  563. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +3 -3
  564. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts.map +1 -1
  565. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +3 -3
  566. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +1 -1
  567. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +3 -3
  568. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts.map +1 -1
  569. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +4 -4
  570. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +1 -1
  571. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +3 -3
  572. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts.map +1 -1
  573. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +3 -3
  574. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +1 -1
  575. package/lib/stage/crew/photographer/strategies/index.d.ts +4 -4
  576. package/lib/stage/crew/photographer/strategies/index.d.ts.map +1 -1
  577. package/lib/stage/crew/photographer/strategies/index.js +4 -4
  578. package/lib/stage/crew/photographer/strategies/index.js.map +1 -1
  579. package/lib/stage/index.d.ts +1 -1
  580. package/lib/stage/index.d.ts.map +1 -1
  581. package/lib/stage/index.js +1 -1
  582. package/lib/stage/index.js.map +1 -1
  583. package/package.json +48 -7
  584. package/src/errors/index.ts +3 -3
  585. package/src/expectations/index.ts +5 -5
  586. package/src/expectations/isActive.ts +1 -1
  587. package/src/expectations/isClickable.ts +1 -1
  588. package/src/expectations/isEnabled.ts +1 -1
  589. package/src/expectations/isSelected.ts +1 -1
  590. package/src/expectations/isVisible.ts +1 -1
  591. package/src/index.ts +4 -4
  592. package/src/screenplay/abilities/BrowseTheWeb.ts +1 -1
  593. package/src/screenplay/abilities/index.ts +1 -1
  594. package/src/screenplay/index.ts +4 -4
  595. package/src/screenplay/interactions/Clear.ts +2 -2
  596. package/src/screenplay/interactions/Click.ts +2 -2
  597. package/src/screenplay/interactions/DoubleClick.ts +2 -2
  598. package/src/screenplay/interactions/Drag.ts +1 -1
  599. package/src/screenplay/interactions/Enter.ts +3 -3
  600. package/src/screenplay/interactions/ExecuteScript.ts +3 -3
  601. package/src/screenplay/interactions/Hover.ts +2 -2
  602. package/src/screenplay/interactions/Navigate.ts +1 -1
  603. package/src/screenplay/interactions/PageElementInteraction.ts +2 -2
  604. package/src/screenplay/interactions/Press.ts +5 -5
  605. package/src/screenplay/interactions/RightClick.ts +94 -94
  606. package/src/screenplay/interactions/Scroll.ts +1 -1
  607. package/src/screenplay/interactions/Select.ts +3 -4
  608. package/src/screenplay/interactions/Switch.ts +1 -1
  609. package/src/screenplay/interactions/TakeScreenshot.ts +2 -2
  610. package/src/screenplay/interactions/index.ts +15 -15
  611. package/src/screenplay/models/ArgumentDehydrator.ts +1 -1
  612. package/src/screenplay/models/BrowsingSession.ts +3 -3
  613. package/src/screenplay/models/Cookie.ts +3 -3
  614. package/src/screenplay/models/Key.ts +14 -2
  615. package/src/screenplay/models/Locator.ts +4 -4
  616. package/src/screenplay/models/Page.ts +13 -13
  617. package/src/screenplay/models/PageElement.ts +6 -6
  618. package/src/screenplay/models/PageElements.ts +3 -3
  619. package/src/screenplay/models/PageElementsLocator.ts +4 -4
  620. package/src/screenplay/models/RootLocator.ts +1 -1
  621. package/src/screenplay/models/Switchable.ts +1 -1
  622. package/src/screenplay/models/dialogs/AbsentModalDialog.ts +1 -1
  623. package/src/screenplay/models/dialogs/AcceptedModalDialog.ts +1 -1
  624. package/src/screenplay/models/dialogs/DismissedModalDialog.ts +1 -1
  625. package/src/screenplay/models/dialogs/ModalDialog.ts +1 -1
  626. package/src/screenplay/models/dialogs/ModalDialogHandler.ts +2 -2
  627. package/src/screenplay/models/dialogs/index.ts +5 -5
  628. package/src/screenplay/models/index.ts +17 -17
  629. package/src/screenplay/models/selectors/By.ts +8 -8
  630. package/src/screenplay/models/selectors/ByCss.ts +1 -1
  631. package/src/screenplay/models/selectors/ByCssContainingText.ts +1 -1
  632. package/src/screenplay/models/selectors/ByDeepCss.ts +1 -1
  633. package/src/screenplay/models/selectors/ById.ts +1 -1
  634. package/src/screenplay/models/selectors/ByRole.ts +1 -1
  635. package/src/screenplay/models/selectors/ByTagName.ts +1 -1
  636. package/src/screenplay/models/selectors/ByXPath.ts +1 -1
  637. package/src/screenplay/models/selectors/index.ts +9 -9
  638. package/src/screenplay/questions/Attribute.ts +1 -1
  639. package/src/screenplay/questions/ComputedStyle.ts +2 -2
  640. package/src/screenplay/questions/CssClasses.ts +1 -1
  641. package/src/screenplay/questions/LastScriptExecution.ts +1 -1
  642. package/src/screenplay/questions/Selected.ts +1 -1
  643. package/src/screenplay/questions/Text.ts +3 -3
  644. package/src/screenplay/questions/Value.ts +1 -1
  645. package/src/screenplay/questions/index.ts +7 -7
  646. package/src/scripts/index.ts +3 -3
  647. package/src/stage/crew/index.ts +1 -1
  648. package/src/stage/crew/photographer/Photographer.ts +4 -4
  649. package/src/stage/crew/photographer/index.ts +2 -2
  650. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +4 -4
  651. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +3 -3
  652. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +4 -4
  653. package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +3 -3
  654. package/src/stage/crew/photographer/strategies/index.ts +4 -4
  655. package/src/stage/index.ts +1 -1
  656. package/tsconfig-cjs.build.json +18 -0
  657. package/tsconfig-esm.build.json +18 -0
@@ -0,0 +1,48 @@
1
+ import util from 'node:util';
2
+ import type { PageElement } from './PageElement.js';
3
+ import { RootLocator } from './RootLocator.js';
4
+ import { ByCss, type Selector } from './selectors/index.js';
5
+ /**
6
+ * [`Locator`](https://serenity-js.org/api/web/class/Locator/) uses a [`Selector`](https://serenity-js.org/api/web/class/Selector/) to locate a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) or [`PageElement`](https://serenity-js.org/api/web/class/PageElements/)
7
+ * within the [`Page`](https://serenity-js.org/api/web/class/Page/).
8
+ *
9
+ * ## Learn more
10
+ * - [`RootLocator`](https://serenity-js.org/api/web/class/RootLocator/)
11
+ * - [`Page.locate`](https://serenity-js.org/api/web/class/Page/#locate)
12
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
13
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElements/)
14
+ *
15
+ * @group Models
16
+ */
17
+ export declare abstract class Locator<Native_Element_Type, Native_Selector_Type = any> extends RootLocator<Native_Element_Type> {
18
+ protected readonly parent: RootLocator<Native_Element_Type>;
19
+ readonly selector: Selector;
20
+ protected constructor(parent: RootLocator<Native_Element_Type>, selector: Selector);
21
+ abstract nativeElement(): Promise<Native_Element_Type>;
22
+ abstract allNativeElements(): Promise<Array<Native_Element_Type>>;
23
+ switchToFrame(element: Native_Element_Type): Promise<void>;
24
+ switchToParentFrame(): Promise<void>;
25
+ switchToMainFrame(): Promise<void>;
26
+ protected abstract nativeSelector(): Native_Selector_Type;
27
+ abstract of(parent: RootLocator<Native_Element_Type>): Locator<Native_Element_Type>;
28
+ abstract closestTo(child: Locator<Native_Element_Type>): Locator<Native_Element_Type>;
29
+ abstract locate(child: Locator<Native_Element_Type>): Locator<Native_Element_Type>;
30
+ /**
31
+ * Expresses [`ByCss`](https://serenity-js.org/api/web/class/ByCss/), [`ById`](https://serenity-js.org/api/web/class/ById/), or [`ByTagName`](https://serenity-js.org/api/web/class/ByTagName/) as a [`ByCss`](https://serenity-js.org/api/web/class/ByCss/) selector.
32
+ *
33
+ * @throws LogicError
34
+ * if the `selector` can't be expressed as [`ByCss`](https://serenity-js.org/api/web/class/ByCss/)
35
+ *
36
+ * @param selector
37
+ * @protected
38
+ */
39
+ protected asCssSelector(selector: Selector): ByCss;
40
+ abstract element(): PageElement<Native_Element_Type>;
41
+ abstract allElements(): Promise<Array<PageElement<Native_Element_Type>>>;
42
+ toString(): string;
43
+ /**
44
+ * Custom [Node.js inspection method](https://nodejs.org/api/util.html#utilinspectcustom).
45
+ */
46
+ [util.inspect.custom]: (depth: number, options: util.InspectOptionsStylized, inspect: typeof util.inspect) => string;
47
+ }
48
+ //# sourceMappingURL=Locator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Locator.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/Locator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAK7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAmB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,8BAAsB,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,GAAG,GAAG,CACzE,SAAQ,WAAW,CAAC,mBAAmB,CAAC;IAGpC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,mBAAmB,CAAC;aAC3C,QAAQ,EAAE,QAAQ;IAFtC,SAAS,aACc,MAAM,EAAE,WAAW,CAAC,mBAAmB,CAAC,EAC3C,QAAQ,EAAE,QAAQ;aAKtB,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC;aAC7C,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAElE,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,oBAAoB;IAEzD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACnF,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACrF,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAElF;;;;;;;;OAQG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK;IAgBlD,QAAQ,CAAC,OAAO,IAAI,WAAW,CAAC,mBAAmB,CAAC;IAEpD,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAExE,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gGAAiE;CACzF"}
@@ -0,0 +1,64 @@
1
+ import util from 'node:util';
2
+ import { LogicError } from '@serenity-js/core';
3
+ import { inspectedObject } from '@serenity-js/core/io';
4
+ import { RootLocator } from './RootLocator.js';
5
+ import { ByCss, ById, ByTagName } from './selectors/index.js';
6
+ /**
7
+ * [`Locator`](https://serenity-js.org/api/web/class/Locator/) uses a [`Selector`](https://serenity-js.org/api/web/class/Selector/) to locate a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) or [`PageElement`](https://serenity-js.org/api/web/class/PageElements/)
8
+ * within the [`Page`](https://serenity-js.org/api/web/class/Page/).
9
+ *
10
+ * ## Learn more
11
+ * - [`RootLocator`](https://serenity-js.org/api/web/class/RootLocator/)
12
+ * - [`Page.locate`](https://serenity-js.org/api/web/class/Page/#locate)
13
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
14
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElements/)
15
+ *
16
+ * @group Models
17
+ */
18
+ export class Locator extends RootLocator {
19
+ parent;
20
+ selector;
21
+ constructor(parent, selector) {
22
+ super();
23
+ this.parent = parent;
24
+ this.selector = selector;
25
+ }
26
+ async switchToFrame(element) {
27
+ await this.parent.switchToFrame(element);
28
+ }
29
+ async switchToParentFrame() {
30
+ await this.parent.switchToParentFrame();
31
+ }
32
+ async switchToMainFrame() {
33
+ await this.parent.switchToMainFrame();
34
+ }
35
+ /**
36
+ * Expresses [`ByCss`](https://serenity-js.org/api/web/class/ByCss/), [`ById`](https://serenity-js.org/api/web/class/ById/), or [`ByTagName`](https://serenity-js.org/api/web/class/ByTagName/) as a [`ByCss`](https://serenity-js.org/api/web/class/ByCss/) selector.
37
+ *
38
+ * @throws LogicError
39
+ * if the `selector` can't be expressed as [`ByCss`](https://serenity-js.org/api/web/class/ByCss/)
40
+ *
41
+ * @param selector
42
+ * @protected
43
+ */
44
+ asCssSelector(selector) {
45
+ if (selector instanceof ByCss) {
46
+ return selector;
47
+ }
48
+ if (selector instanceof ById) {
49
+ return new ByCss(`#${selector.value}`);
50
+ }
51
+ if (selector instanceof ByTagName) {
52
+ return new ByCss(`${selector.value}`);
53
+ }
54
+ throw new LogicError(`${selector} can't be expressed as a CSS selector`);
55
+ }
56
+ toString() {
57
+ return this.selector.toString();
58
+ }
59
+ /**
60
+ * Custom [Node.js inspection method](https://nodejs.org/api/util.html#utilinspectcustom).
61
+ */
62
+ [util.inspect.custom] = inspectedObject(this, ['parent', 'selector']);
63
+ }
64
+ //# sourceMappingURL=Locator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Locator.js","sourceRoot":"","sources":["../../../src/screenplay/models/Locator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,MAAM,OAAgB,OAClB,SAAQ,WAAgC;IAGjB;IACH;IAFpB,YACuB,MAAwC,EAC3C,QAAkB;QAElC,KAAK,EAAE,CAAC;QAHW,WAAM,GAAN,MAAM,CAAkC;QAC3C,aAAQ,GAAR,QAAQ,CAAU;IAGtC,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,OAA4B;QAC5C,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC1C,CAAC;IAQD;;;;;;;;OAQG;IACO,aAAa,CAAC,QAAkB;QACtC,IAAI,QAAQ,YAAY,KAAK,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,IAAI,QAAQ,YAAY,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,KAAK,CAAC,IAAK,QAAQ,CAAC,KAAM,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,QAAQ,YAAY,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,KAAK,CAAC,GAAI,QAAQ,CAAC,KAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,UAAU,CAAC,GAAI,QAAS,uCAAuC,CAAC,CAAA;IAC9E,CAAC;IAMD,QAAQ;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,CAAE,QAAsB,EAAE,UAAU,CAAE,CAAC,CAAC;CACzF"}
@@ -0,0 +1,453 @@
1
+ import type { URL } from 'node:url';
2
+ import type { Expectation, Optional, QuestionAdapter } from '@serenity-js/core';
3
+ import type { CorrelationId } from '@serenity-js/core/model';
4
+ import type { BrowsingSession } from './BrowsingSession.js';
5
+ import type { Cookie } from './Cookie.js';
6
+ import type { CookieData } from './CookieData.js';
7
+ import type { ModalDialogHandler } from './dialogs/index.js';
8
+ import type { Key } from './Key.js';
9
+ import type { PageElement } from './PageElement.js';
10
+ import type { PageElements } from './PageElements.js';
11
+ import type { RootLocator } from './RootLocator.js';
12
+ import type { Selector } from './selectors/index.js';
13
+ import type { Switchable } from './Switchable.js';
14
+ import type { SwitchableOrigin } from './SwitchableOrigin.js';
15
+ /**
16
+ * Serenity/JS Screenplay Pattern-style model that enables interactions with a Web page
17
+ * rendered in a Web browser tab.
18
+ *
19
+ * ## Referring to the current page
20
+ *
21
+ * ```ts
22
+ * import { Ensure, endsWith } from '@serenity-js/assertions'
23
+ * import { actorCalled } from '@serenity-js/core'
24
+ * import { Navigate, Page } from '@serenity-js/web'
25
+ *
26
+ * await actorCalled('Serena').attemptsTo(
27
+ * Navigate.to('https://serenity-js.org'),
28
+ * Ensure.that(Page.current().title(), endsWith('Serenity/JS')),
29
+ * )
30
+ * ```
31
+ *
32
+ * ## Switching to another open page
33
+ *
34
+ * ```ts
35
+ * import { Ensure, equals, includes, startsWith } from '@serenity-js/assertions'
36
+ * import { actorCalled } from '@serenity-js/core'
37
+ * import { Navigate, Page, Switch, Text } from '@serenity-js/web'
38
+ *
39
+ * const Navigation = {
40
+ * linkTo = (name: Answerable<string>) =>
41
+ * PageElements.located(By.css('nav a'))
42
+ * .where(Text, includes(name))
43
+ * .first()
44
+ * }
45
+ *
46
+ * await actorCalled('Serena').attemptsTo(
47
+ * Navigate.to('https://serenity-js.org'),
48
+ * Click.on(Navigation.linkTo('GitHub')),
49
+ *
50
+ * Switch.to(Page.whichUrl(startsWith('https://github.com')))
51
+ *
52
+ * Ensure.that(
53
+ * Page.current().url().href,
54
+ * equals('https://github.com/serenity-js/serenity-js')
55
+ * ),
56
+ * )
57
+ * ```
58
+ *
59
+ * ## Retrieving information about another open page
60
+ *
61
+ * You can retrieve information about another open page without having to explicitly switch to it:
62
+ *
63
+ * ```ts
64
+ * import { Ensure, equals, includes, startsWith } from '@serenity-js/assertions'
65
+ * import { actorCalled } from '@serenity-js/core'
66
+ * import { Navigate, Page, Text } from '@serenity-js/web'
67
+ *
68
+ * const Navigation = {
69
+ * linkTo = (name: Answerable<string>) =>
70
+ * PageElements.located(By.css('nav a'))
71
+ * .where(Text, includes(name))
72
+ * .first()
73
+ * }
74
+ *
75
+ * await actorCalled('Serena').attemptsTo(
76
+ * Navigate.to('https://serenity-js.org'),
77
+ * Click.on(Navigation.linkTo('GitHub')),
78
+ * Ensure.that(
79
+ * Page.whichUrl(startsWith('https://github.com')).url().href,
80
+ * equals('https://github.com/serenity-js/serenity-js')
81
+ * ),
82
+ * )
83
+ * ```
84
+ *
85
+ * ## Performing activities in the context of another page
86
+ *
87
+ * ```ts
88
+ * import { Ensure, equals, includes, startsWith } from '@serenity-js/assertions'
89
+ * import { actorCalled } from '@serenity-js/core'
90
+ * import { Navigate, Page, Text } from '@serenity-js/web'
91
+ *
92
+ * const Navigation = {
93
+ * linkTo = (name: Answerable<string>) =>
94
+ * PageElements.located(By.css('nav a'))
95
+ * .where(Text, includes(name))
96
+ * .first()
97
+ * }
98
+ *
99
+ * await actorCalled('Serena').attemptsTo(
100
+ *
101
+ * // Serenity/JS GitHub repository opens in a new browser tab
102
+ * Navigate.to('https://serenity-js.org'),
103
+ * Click.on(Navigation.linkTo('GitHub')),
104
+ *
105
+ * // Switch to the newly opened page and perform an assertion
106
+ * Switch.to(Page.whichUrl(startsWith('https://github.com')))
107
+ * .and(
108
+ * Ensure.that(
109
+ * Page.current().url().href,
110
+ * equals('https://github.com/serenity-js/serenity-js')
111
+ * )
112
+ * ),
113
+ * // Automatically switch back to the original page
114
+ *
115
+ * Ensure.that(Page.current().url().href, equals('https://serenity-js.org'),
116
+ * )
117
+ * ```
118
+ *
119
+ * ## Learn more
120
+ *
121
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
122
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
123
+ * - [`Optional`](https://serenity-js.org/api/core/interface/Optional/)
124
+ * - [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/)
125
+ *
126
+ * @group Models
127
+ */
128
+ export declare abstract class Page<Native_Element_Type = any> implements Optional, Switchable {
129
+ protected readonly session: BrowsingSession<Page<Native_Element_Type>>;
130
+ protected readonly rootLocator: RootLocator<Native_Element_Type>;
131
+ protected modalDialogHandler: ModalDialogHandler;
132
+ readonly id: CorrelationId;
133
+ /**
134
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) representing the currently active [`Page`](https://serenity-js.org/api/web/class/Page/).
135
+ */
136
+ static current(): QuestionAdapter<Page>;
137
+ /**
138
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) that resolves to a [`Page`](https://serenity-js.org/api/web/class/Page/) which [`Page.name`](https://serenity-js.org/api/web/class/Page/#name)
139
+ * meets the [expectation](https://serenity-js.org/api/core/class/Expectation/).
140
+ *
141
+ * #### Switching to a page with the desired name
142
+ *
143
+ * ```ts
144
+ * import { includes } from '@serenity-js/assertions'
145
+ * import { actorCalled } from '@serenity-js/core'
146
+ * import { Switch } from '@serenity-js/web'
147
+ *
148
+ * actorCalled('Bernie').attemptsTo(
149
+ * Switch.to(Page.whichName(includes(`photo-gallery`))),
150
+ * )
151
+ * ```
152
+ *
153
+ * @param expectation
154
+ */
155
+ static whichName(expectation: Expectation<string>): QuestionAdapter<Page>;
156
+ /**
157
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) that resolves to a [`Page`](https://serenity-js.org/api/web/class/Page/) which [`Page.title`](https://serenity-js.org/api/web/class/Page/#title)
158
+ * meets the [expectation](https://serenity-js.org/api/core/class/Expectation/).
159
+ *
160
+ * #### Switching to a page with the desired title
161
+ *
162
+ * ```ts
163
+ * import { includes } from '@serenity-js/assertions'
164
+ * import { actorCalled } from '@serenity-js/core'
165
+ * import { Switch } from '@serenity-js/web'
166
+ *
167
+ * actorCalled('Bernie').attemptsTo(
168
+ * Switch.to(Page.whichTitle(includes(`Summer collection`))),
169
+ * )
170
+ * ```
171
+ *
172
+ * @param expectation
173
+ */
174
+ static whichTitle(expectation: Expectation<string>): QuestionAdapter<Page>;
175
+ /**
176
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) that resolves to a [`Page`](https://serenity-js.org/api/web/class/Page/) which [`Page.url`](https://serenity-js.org/api/web/class/Page/#url)
177
+ * meets the [expectation](https://serenity-js.org/api/core/class/Expectation/).
178
+ *
179
+ * #### Switching to a page with the desired URL
180
+ *
181
+ * ```ts
182
+ * import { endsWith } from '@serenity-js/assertions'
183
+ * import { actorCalled } from '@serenity-js/core'
184
+ * import { Switch } from '@serenity-js/web'
185
+ *
186
+ * actorCalled('Bernie').attemptsTo(
187
+ * Switch.to(Page.whichUrl(endsWith(`/gallery.html`))),
188
+ * )
189
+ * ```
190
+ *
191
+ * @param expectation
192
+ */
193
+ static whichUrl(expectation: Expectation<string>): QuestionAdapter<Page>;
194
+ private static findMatchingPage;
195
+ protected constructor(session: BrowsingSession<Page<Native_Element_Type>>, rootLocator: RootLocator<Native_Element_Type>, modalDialogHandler: ModalDialogHandler, id: CorrelationId);
196
+ /**
197
+ * Creates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) wrapping a native element.
198
+ *
199
+ * @param nativeElement
200
+ */
201
+ abstract createPageElement(nativeElement: Native_Element_Type): PageElement<Native_Element_Type>;
202
+ /**
203
+ * Creates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/), retrieving an element located by [`Selector`](https://serenity-js.org/api/web/class/Selector/).
204
+ *
205
+ * @param selector
206
+ */
207
+ abstract locate(selector: Selector): PageElement<Native_Element_Type>;
208
+ /**
209
+ * Creates [`PageElement`](https://serenity-js.org/api/web/class/PageElements/), retrieving a collection of elements located by [`Selector`](https://serenity-js.org/api/web/class/Selector/).
210
+ *
211
+ * @param selector
212
+ */
213
+ abstract locateAll(selector: Selector): PageElements<Native_Element_Type>;
214
+ /**
215
+ * Navigate to a given destination, specified as an absolute URL
216
+ * or a path relative to any base URL configured in your web test integration tool.
217
+ *
218
+ * #### Learn more
219
+ *
220
+ * - [WebdriverIO: Configuration Options](https://webdriver.io/docs/options/#baseurl)
221
+ * - [Playwright: Browser](https://playwright.dev/docs/api/class-browser#browser-new-context)
222
+ * - [Playwright: Test Options](https://playwright.dev/docs/api/class-testoptions#test-options-base-url)
223
+ * - [Protractor: Configuration](https://github.com/angular/protractor/blob/master/lib/config.ts)
224
+ *
225
+ * @param destination
226
+ */
227
+ abstract navigateTo(destination: string): Promise<void>;
228
+ /**
229
+ * Causes the browser to traverse one step backward in the joint session history
230
+ * of the current [`Page`](https://serenity-js.org/api/web/class/Page/) (the current top-level browsing context).
231
+ *
232
+ * This is equivalent to pressing the back button in the browser UI,
233
+ * or calling [`window.history.back`](https://developer.mozilla.org/en-US/docs/Web/API/History/back).
234
+ */
235
+ abstract navigateBack(): Promise<void>;
236
+ /**
237
+ * Causes the browser to traverse one step forward in the joint session history
238
+ * of the current [`Page`](https://serenity-js.org/api/web/class/Page/) (the current top-level browsing context).
239
+ *
240
+ * This is equivalent to pressing the back button in the browser UI,
241
+ * or calling [`window.history.forward`](https://developer.mozilla.org/en-US/docs/Web/API/History/forward).
242
+ */
243
+ abstract navigateForward(): Promise<void>;
244
+ /**
245
+ * Causes the browser to reload the [`Page`](https://serenity-js.org/api/web/class/Page/) in the current top-level browsing context.
246
+ */
247
+ abstract reload(): Promise<void>;
248
+ /**
249
+ * Send a sequence of [`Key`](https://serenity-js.org/api/web/class/Key/) strokes to the active element.
250
+ *
251
+ * @param keys
252
+ * Keys to enter
253
+ */
254
+ abstract sendKeys(keys: Array<Key | string>): Promise<void>;
255
+ /**
256
+ * Schedules a command to execute JavaScript in the context of the currently selected frame or window.
257
+ *
258
+ * The script fragment will be executed as the body of an anonymous function.
259
+ * If the script is provided as a function object, that function will be converted to a string for injection
260
+ * into the target window.
261
+ *
262
+ * Any arguments provided in addition to the script will be included as script arguments and may be referenced
263
+ * using the `arguments` object. Arguments may be a `boolean`, `number`, `string` or `WebElement`.
264
+ * Arrays and objects may also be used as script arguments as long as each item adheres
265
+ * to the types previously mentioned.
266
+ *
267
+ * The script may refer to any variables accessible from the current window.
268
+ * Furthermore, the script will execute in the window's context, thus `document` may be used to refer
269
+ * to the current document. Any local variables will not be available once the script has finished executing,
270
+ * though global variables will persist.
271
+ *
272
+ * If the script has a return value (i.e. if the script contains a `return` statement),
273
+ * then the following steps will be taken for resolving this functions return value:
274
+ *
275
+ * - For a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/), the value will resolve to a [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement)
276
+ * - `null` and `undefined` return values will resolve to `null`
277
+ * - `boolean`, `number`, and `string` values will resolve as is
278
+ * - Functions will resolve to their string representation
279
+ * - For arrays and objects, each member item will be converted according to the rules above
280
+ *
281
+ * #### Use injected JavaScript to retrieve information about a HTMLElement
282
+ *
283
+ * ```ts
284
+ * BrowseTheWeb.as(actor).executeAsyncScript(`
285
+ * return arguments[0].tagName;
286
+ * `, PageElement.located(By.css('h1')).describedAs('header'))
287
+ *
288
+ * // returns a Promise that resolves to 'h1'
289
+ * ```
290
+ *
291
+ * #### Learn more
292
+ * - [Selenium WebDriver: JavaScript Executor](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/JavascriptExecutor.html#executeAsyncScript-java.lang.String-java.lang.Object...-)
293
+ * - [`Page.lastScriptExecutionResult`](https://serenity-js.org/api/web/class/Page/#lastScriptExecutionResult)
294
+ *
295
+ * @param script
296
+ * @param args
297
+ */
298
+ abstract executeScript<Result, InnerArguments extends any[]>(script: string | ((...parameters: InnerArguments) => Result), ...args: InnerArguments): Promise<Result>;
299
+ /**
300
+ * Schedules a command to execute asynchronous JavaScript in the context of the currently selected frame or window.
301
+ *
302
+ * The script fragment will be executed as the body of an anonymous function.
303
+ * If the script is provided as a function object, that function will be converted to a string for injection
304
+ * into the target window.
305
+ *
306
+ * Any arguments provided in addition to the script will be included as script arguments and may be referenced
307
+ * using the `arguments` object. Arguments may be a `boolean`, `number`, `string` or `WebElement`
308
+ * Arrays and objects may also be used as script arguments as long as each item adheres
309
+ * to the types previously mentioned.
310
+ *
311
+ * Unlike executing synchronous JavaScript with [`Page.executeScript`](https://serenity-js.org/api/web/class/Page/#executeScript),
312
+ * scripts executed with this function must explicitly signal they are finished by invoking the provided callback.
313
+ *
314
+ * This callback will always be injected into the executed function as the last argument,
315
+ * and thus may be referenced with `arguments[arguments.length - 1]`.
316
+ *
317
+ * The following steps will be taken for resolving this functions return value against
318
+ * the first argument to the script's callback function:
319
+ *
320
+ * - For a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/), the value will resolve to a [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement)
321
+ * - `null` and `undefined` return values will resolve to `null`
322
+ * - `boolean`, `number`, and `string` values will resolve as is
323
+ * - Functions will resolve to their string representation
324
+ * - For arrays and objects, each member item will be converted according to the rules above
325
+ *
326
+ * #### Perform a sleep in the browser under test>
327
+ *
328
+ * ```ts
329
+ * BrowseTheWeb.as(actor).executeAsyncScript(`
330
+ * var delay = arguments[0];
331
+ * var callback = arguments[arguments.length - 1];
332
+ *
333
+ * window.setTimeout(callback, delay);
334
+ * `, 500)
335
+ * ```
336
+ *
337
+ * #### Return a value asynchronously
338
+ *
339
+ * ```ts
340
+ * BrowseTheWeb.as(actor).executeAsyncScript(`
341
+ * var callback = arguments[arguments.length - 1];
342
+ *
343
+ * callback('some return value')
344
+ * `).then(value => doSomethingWithThe(value))
345
+ * ```
346
+ *
347
+ * #### Learn more
348
+ * - [Selenium WebDriver: JavaScript Executor](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/JavascriptExecutor.html#executeAsyncScript-java.lang.String-java.lang.Object...-)
349
+ * - [`Page.lastScriptExecutionResult`](https://serenity-js.org/api/web/class/Page/#lastScriptExecutionResult)
350
+ *
351
+ * @param script
352
+ * @param args
353
+ */
354
+ abstract executeAsyncScript<Result, Parameters extends any[]>(script: string | ((...args: [...parameters: Parameters, callback: (result: Result) => void]) => void), ...args: Parameters): Promise<Result>;
355
+ /**
356
+ * Returns the last result of calling [`Page.executeAsyncScript`](https://serenity-js.org/api/web/class/Page/#executeAsyncScript)
357
+ * or [`Page.executeScript`](https://serenity-js.org/api/web/class/Page/#executeScript)
358
+ */
359
+ abstract lastScriptExecutionResult<R = any>(): R;
360
+ /**
361
+ * Take a screenshot of the top-level browsing context's viewport.
362
+ *
363
+ * @throws [`BrowserWindowClosedError`](https://serenity-js.org/api/web/class/BrowserWindowClosedError/)
364
+ * When the page you're trying to take the screenshot of has already been closed
365
+ *
366
+ * @return
367
+ * A promise that will resolve to a base64-encoded screenshot PNG
368
+ */
369
+ abstract takeScreenshot(): Promise<string>;
370
+ /**
371
+ * Retrieves a cookie identified by `name` and visible to this [`Page`](https://serenity-js.org/api/web/class/Page/).
372
+ *
373
+ * @param name
374
+ */
375
+ abstract cookie(name: string): Promise<Cookie>;
376
+ /**
377
+ * Adds a single cookie with [`CookieData`](https://serenity-js.org/api/web/interface/CookieData/) to the cookie store associated
378
+ * with the active [`Page`](https://serenity-js.org/api/web/class/Page/)'s address.
379
+ *
380
+ * @param cookieData
381
+ */
382
+ abstract setCookie(cookieData: CookieData): Promise<void>;
383
+ /**
384
+ * Removes all the cookies.
385
+ */
386
+ abstract deleteAllCookies(): Promise<void>;
387
+ /**
388
+ * Retrieves the document title of the current top-level browsing context, equivalent to calling `document.title`.
389
+ *
390
+ * #### Learn more
391
+ * - [Mozilla Developer Network - Document title](https://developer.mozilla.org/en-US/docs/Web/API/Document/title)
392
+ */
393
+ abstract title(): Promise<string>;
394
+ /**
395
+ * Retrieves the [URL](https://nodejs.org/api/url.html) of the current top-level browsing context.
396
+ */
397
+ abstract url(): Promise<URL>;
398
+ /**
399
+ * Retrieves the name of the current top-level browsing context.
400
+ *
401
+ * #### Learn more
402
+ * - [Mozilla Developer Network - Window: name property](https://developer.mozilla.org/en-US/docs/Web/API/Window/name)
403
+ */
404
+ abstract name(): Promise<string>;
405
+ /**
406
+ * Checks if a given window / tab / page is open and can be switched to, e.g. it's not closed.
407
+ */
408
+ abstract isPresent(): Promise<boolean>;
409
+ /**
410
+ * Returns the actual viewport size available for the given page,
411
+ * excluding any scrollbars.
412
+ */
413
+ abstract viewportSize(): Promise<{
414
+ width: number;
415
+ height: number;
416
+ }>;
417
+ /**
418
+ * Sets ths size of the visible viewport to desired dimensions.
419
+ *
420
+ * @param size
421
+ */
422
+ abstract setViewportSize(size: {
423
+ width: number;
424
+ height: number;
425
+ }): Promise<void>;
426
+ /**
427
+ * Switches the current browsing context to the given page
428
+ * and returns an object that allows the caller to switch back
429
+ * to the previous context when needed.
430
+ *
431
+ * ## Learn more
432
+ * - [`Switch`](https://serenity-js.org/api/web/class/Switch/)
433
+ * - [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/)
434
+ */
435
+ switchTo(): Promise<SwitchableOrigin>;
436
+ /**
437
+ * Closes this page.
438
+ */
439
+ abstract close(): Promise<void>;
440
+ /**
441
+ * Closes any open pages, except for this one.
442
+ */
443
+ abstract closeOthers(): Promise<void>;
444
+ /**
445
+ * Returns the [`ModalDialogHandler`](https://serenity-js.org/api/web/class/ModalDialogHandler/) for the current [`Page`](https://serenity-js.org/api/web/class/Page/).
446
+ */
447
+ modalDialog(): ModalDialogHandler;
448
+ /**
449
+ * Returns a description of this Page and its ID.
450
+ */
451
+ toString(): string;
452
+ }
453
+ //# sourceMappingURL=Page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/Page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAsB,QAAQ,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgHG;AACH,8BAAsB,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAE,YAAW,QAAQ,EAAE,UAAU;IAoH7E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACtE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,mBAAmB,CAAC;IAChE,SAAS,CAAC,kBAAkB,EAAE,kBAAkB;aAChC,EAAE,EAAE,aAAa;IArHrC;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC;IAMvC;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC;IAYzE;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC;IAY1E;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC;mBAcnD,gBAAgB;IAYrC,SAAS,aACc,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EACnD,WAAW,EAAE,WAAW,CAAC,mBAAmB,CAAC,EACtD,kBAAkB,EAAE,kBAAkB,EAChC,EAAE,EAAE,aAAa;IAQrC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,aAAa,EAAE,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,CAAC;IAEhG;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,mBAAmB,CAAC;IAErE;;;;OAIG;IAEH,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAAC,mBAAmB,CAAC;IAEzE;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvD;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,SAAS,GAAG,EAAE,EACvD,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,cAAc,KAAK,MAAM,CAAC,EAC5D,GAAG,IAAI,EAAE,cAAc,GACxB,OAAO,CAAC,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACH,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,SAAS,GAAG,EAAE,EACxD,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAE,GAAG,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAE,KAAK,IAAI,CAAC,EACvG,GAAG,IAAI,EAAE,UAAU,GACpB,OAAO,CAAC,MAAM,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;IAEhD;;;;;;;;OAQG;IACH,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE9C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzD;;OAEG;IACH,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAEtC;;;OAGG;IACH,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAEnE;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhF;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAa3C;;OAEG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAErC;;OAEG;IACH,WAAW,IAAI,kBAAkB;IAIjC;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGrB"}