@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 @@
1
+ {"version":3,"file":"ExecuteScript.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/ExecuteScript.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import type { Answerable, AnswersQuestions, Interaction, UsesAbilities } from '@serenity-js/core';
2
+ import type { PageElement } from '../models/index.js';
3
+ import { PageElementInteraction } from './PageElementInteraction.js';
4
+ /**
5
+ * 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/)
6
+ * to hover the mouse pointer over a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
7
+ *
8
+ * ## Example widget
9
+ * ```html
10
+ * <a data-test="example-link"
11
+ * class="off"
12
+ * onmouseover="this.className='on';"
13
+ * onmouseout="this.className='off';"
14
+ * href="/">hover over me</a>
15
+ * ```
16
+ *
17
+ * ## Lean Page Object describing the widget
18
+ *
19
+ * ```ts
20
+ * import { By, PageElement } from '@serenity-js/web'
21
+ *
22
+ * class Example {
23
+ * static link = () =>
24
+ * PageElement.located(By.css('[data-test="example-link"]'))
25
+ * .describedAs('example link')
26
+ * }
27
+ * ```
28
+ *
29
+ * ## Hovering over an element
30
+ *
31
+ * ```ts
32
+ * import { actorCalled } from '@serenity-js/core'
33
+ * import { Hover, CssClasses } from '@serenity-js/web'
34
+ * import { Ensure, equals } from '@serenity-js/assertions'
35
+ *
36
+ * await actorCalled('Hank')
37
+ * .whoCan(BrowseTheWeb.using(browser))
38
+ * .attemptsTo(
39
+ * Ensure.that(CssClasses.of(Example.link()), equals([ 'off' ])),
40
+ *
41
+ * Hover.over(Example.link),
42
+ * Ensure.that(CssClasses.of(Example.link()), equals([ 'on' ])),
43
+ * )
44
+ * ```
45
+ *
46
+ * ## Learn more
47
+ *
48
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
49
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
50
+ *
51
+ * @group Activities
52
+ */
53
+ export declare class Hover extends PageElementInteraction {
54
+ private readonly element;
55
+ /**
56
+ * Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
57
+ *
58
+ * @param pageElement
59
+ * The element to be hovered over
60
+ */
61
+ static over(pageElement: Answerable<PageElement>): Interaction;
62
+ protected constructor(element: Answerable<PageElement>);
63
+ /**
64
+ * @inheritDoc
65
+ */
66
+ performAs(actor: UsesAbilities & AnswersQuestions): Promise<void>;
67
+ }
68
+ //# sourceMappingURL=Hover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hover.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Hover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,qBAAa,KAAM,SAAQ,sBAAsB;IAYvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV9C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW;IAI9D,SAAS,aAA8B,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;IAIvE;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1E"}
@@ -0,0 +1,76 @@
1
+ import { the } from '@serenity-js/core';
2
+ import { PageElementInteraction } from './PageElementInteraction.js';
3
+ /**
4
+ * 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/)
5
+ * to hover the mouse pointer over a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
6
+ *
7
+ * ## Example widget
8
+ * ```html
9
+ * <a data-test="example-link"
10
+ * class="off"
11
+ * onmouseover="this.className='on';"
12
+ * onmouseout="this.className='off';"
13
+ * href="/">hover over me</a>
14
+ * ```
15
+ *
16
+ * ## Lean Page Object describing the widget
17
+ *
18
+ * ```ts
19
+ * import { By, PageElement } from '@serenity-js/web'
20
+ *
21
+ * class Example {
22
+ * static link = () =>
23
+ * PageElement.located(By.css('[data-test="example-link"]'))
24
+ * .describedAs('example link')
25
+ * }
26
+ * ```
27
+ *
28
+ * ## Hovering over an element
29
+ *
30
+ * ```ts
31
+ * import { actorCalled } from '@serenity-js/core'
32
+ * import { Hover, CssClasses } from '@serenity-js/web'
33
+ * import { Ensure, equals } from '@serenity-js/assertions'
34
+ *
35
+ * await actorCalled('Hank')
36
+ * .whoCan(BrowseTheWeb.using(browser))
37
+ * .attemptsTo(
38
+ * Ensure.that(CssClasses.of(Example.link()), equals([ 'off' ])),
39
+ *
40
+ * Hover.over(Example.link),
41
+ * Ensure.that(CssClasses.of(Example.link()), equals([ 'on' ])),
42
+ * )
43
+ * ```
44
+ *
45
+ * ## Learn more
46
+ *
47
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
48
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
49
+ *
50
+ * @group Activities
51
+ */
52
+ export class Hover extends PageElementInteraction {
53
+ element;
54
+ /**
55
+ * Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
56
+ *
57
+ * @param pageElement
58
+ * The element to be hovered over
59
+ */
60
+ static over(pageElement) {
61
+ return new Hover(pageElement);
62
+ }
63
+ constructor(element) {
64
+ super(the `#actor hovers the mouse over ${element}`);
65
+ this.element = element;
66
+ }
67
+ /**
68
+ * @inheritDoc
69
+ */
70
+ async performAs(actor) {
71
+ const element = await this.resolve(actor, this.element);
72
+ await element.scrollIntoView();
73
+ await element.hoverOver();
74
+ }
75
+ }
76
+ //# sourceMappingURL=Hover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hover.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Hover.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,OAAO,KAAM,SAAQ,sBAAsB;IAYN;IAVvC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,WAAoC;QAC5C,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,YAAuC,OAAgC;QACnE,KAAK,CAAC,GAAG,CAAC,gCAAiC,OAAQ,EAAE,CAAC,CAAC;QADpB,YAAO,GAAP,OAAO,CAAyB;IAEvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAuC;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;QAC/B,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;CACJ"}
@@ -0,0 +1,137 @@
1
+ import type { Answerable } from '@serenity-js/core';
2
+ import { Interaction } from '@serenity-js/core';
3
+ /**
4
+ * 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/)
5
+ * to navigate to a specific destination, as well as back and forth in the browser history,
6
+ * or reload the current page.
7
+ *
8
+ * ## Learn more
9
+ *
10
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
11
+ *
12
+ * @group Activities
13
+ */
14
+ export declare class Navigate {
15
+ /**
16
+ * 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/)
17
+ * to navigate to a given URL.
18
+ *
19
+ * The URL can be:
20
+ * - absolute, e.g. `https://example.org/search`
21
+ * - relative, e.g. `/search`
22
+ *
23
+ * If the URL is relative, your Web test integration tool will append it to any base URL
24
+ * specified in its respective configuration file.
25
+ *
26
+ *
27
+ * #### Navigate to path relative to baseUrl
28
+ *
29
+ * ```ts
30
+ * import { actorCalled } from '@serenity-js/core'
31
+ * import { Navigate } from '@serenity-js/web'
32
+ *
33
+ * await actorCalled('Hannu')
34
+ * .attemptsTo(
35
+ * Navigate.to('/search'),
36
+ * )
37
+ * ```
38
+ *
39
+ * ## Navigate to an absolute URL (overrides baseUrl)
40
+ *
41
+ * ```ts
42
+ * import { actorCalled } from '@serenity-js/core'
43
+ * import { Navigate } from '@serenity-js/web'
44
+ *
45
+ * await actorCalled('Hannu')
46
+ * .whoCan(BrowseTheWeb.using(browser))
47
+ * .attemptsTo(
48
+ * Navigate.to('https://mycompany.org/login'),
49
+ * )
50
+ * ```
51
+ *
52
+ * #### Learn more
53
+ *
54
+ * - [`Page.navigateTo`](https://serenity-js.org/api/web/class/Page/#navigateTo)
55
+ * - [WebdriverIO: Configuration Options](https://webdriver.io/docs/options/#baseurl)
56
+ * - [Playwright: Browser](https://playwright.dev/docs/api/class-browser#browser-new-context)
57
+ * - [Playwright: Test Options](https://playwright.dev/docs/api/class-testoptions#test-options-base-url)
58
+ * - [Protractor: Configuration](https://github.com/angular/protractor/blob/master/lib/config.ts)
59
+ *
60
+ * @param url
61
+ * An absolute URL or path an [`Actor`](https://serenity-js.org/api/core/class/Actor/)
62
+ * should navigate to
63
+ */
64
+ static to(url: Answerable<string>): Interaction;
65
+ /**
66
+ * 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/)
67
+ * to navigate back one page in the joint session history of the current top-level browsing context.
68
+ *
69
+ * #### Navigate back in browsing history
70
+ *
71
+ * ```ts
72
+ * import { actorCalled } from '@serenity-js/core'
73
+ * import { Ensure, endsWith } from '@serenity-js/assertions'
74
+ * import { Navigate, Page } from '@serenity-js/web'
75
+ *
76
+ * await actorCalled('Hannu')
77
+ * .whoCan(BrowseTheWeb.using(browser))
78
+ * .attemptsTo(
79
+ * Navigate.to('/first'),
80
+ * Navigate.to('/second'),
81
+ *
82
+ * Navigate.back(),
83
+ *
84
+ * Ensure.that(Page.current().url().href, endsWith('/first')),
85
+ * )
86
+ * ```
87
+ */
88
+ static back(): Interaction;
89
+ /**
90
+ * 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/)
91
+ * to navigate forward one page in the joint session history of the current top-level browsing context.
92
+ *
93
+ * #### Navigate forward in browsing history
94
+ *
95
+ * ```ts
96
+ * import { actorCalled } from '@serenity-js/core'
97
+ * import { Ensure, endsWith } from '@serenity-js/assertions'
98
+ * import { Navigate, Page } from '@serenity-js/web'
99
+ *
100
+ * await actorCalled('Hannu')
101
+ * .whoCan(BrowseTheWeb.using(browser))
102
+ * .attemptsTo(
103
+ * Navigate.to('/first'),
104
+ * Navigate.to('/second'),
105
+ *
106
+ * Navigate.back(),
107
+ * Navigate.forward(),
108
+ *
109
+ * Ensure.that(Page.current().url().href, endsWith('/second')),
110
+ * )
111
+ * ```
112
+ */
113
+ static forward(): Interaction;
114
+ /**
115
+ * 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/)
116
+ * to reload the current page.
117
+ *
118
+ * #### Navigate to path relative to baseUrl
119
+ *
120
+ * ```ts
121
+ * import { actorCalled } from '@serenity-js/core'
122
+ * import { Ensure, endsWith } from '@serenity-js/assertions'
123
+ * import { Navigate, Cookie } from '@serenity-js/web'
124
+ * import { browser } from '@wdio/globals'
125
+ *
126
+ * await actorCalled('Hannu')
127
+ * .whoCan(BrowseTheWebWithWebdriverIO.using(browser))
128
+ * .attemptsTo(
129
+ * Navigate.to('/login'),
130
+ * Cookie.called('session_id').delete(),
131
+ * Navigate.reloadPage(),
132
+ * )
133
+ * ```
134
+ */
135
+ static reloadPage(): Interaction;
136
+ }
137
+ //# sourceMappingURL=Navigate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navigate.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Navigate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAmC,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,WAAW,EAA6B,MAAM,mBAAmB,CAAC;AAI3E;;;;;;;;;;GAUG;AACH,qBAAa,QAAQ;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW;IAI/C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,IAAI,IAAI,WAAW;IAQ1B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,OAAO,IAAI,WAAW;IAQ7B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,UAAU,IAAI,WAAW;CAOnC"}
@@ -0,0 +1,174 @@
1
+ import { Interaction, TestCompromisedError, the } from '@serenity-js/core';
2
+ import { BrowseTheWeb } from '../abilities/index.js';
3
+ /**
4
+ * 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/)
5
+ * to navigate to a specific destination, as well as back and forth in the browser history,
6
+ * or reload the current page.
7
+ *
8
+ * ## Learn more
9
+ *
10
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
11
+ *
12
+ * @group Activities
13
+ */
14
+ export class Navigate {
15
+ /**
16
+ * 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/)
17
+ * to navigate to a given URL.
18
+ *
19
+ * The URL can be:
20
+ * - absolute, e.g. `https://example.org/search`
21
+ * - relative, e.g. `/search`
22
+ *
23
+ * If the URL is relative, your Web test integration tool will append it to any base URL
24
+ * specified in its respective configuration file.
25
+ *
26
+ *
27
+ * #### Navigate to path relative to baseUrl
28
+ *
29
+ * ```ts
30
+ * import { actorCalled } from '@serenity-js/core'
31
+ * import { Navigate } from '@serenity-js/web'
32
+ *
33
+ * await actorCalled('Hannu')
34
+ * .attemptsTo(
35
+ * Navigate.to('/search'),
36
+ * )
37
+ * ```
38
+ *
39
+ * ## Navigate to an absolute URL (overrides baseUrl)
40
+ *
41
+ * ```ts
42
+ * import { actorCalled } from '@serenity-js/core'
43
+ * import { Navigate } from '@serenity-js/web'
44
+ *
45
+ * await actorCalled('Hannu')
46
+ * .whoCan(BrowseTheWeb.using(browser))
47
+ * .attemptsTo(
48
+ * Navigate.to('https://mycompany.org/login'),
49
+ * )
50
+ * ```
51
+ *
52
+ * #### Learn more
53
+ *
54
+ * - [`Page.navigateTo`](https://serenity-js.org/api/web/class/Page/#navigateTo)
55
+ * - [WebdriverIO: Configuration Options](https://webdriver.io/docs/options/#baseurl)
56
+ * - [Playwright: Browser](https://playwright.dev/docs/api/class-browser#browser-new-context)
57
+ * - [Playwright: Test Options](https://playwright.dev/docs/api/class-testoptions#test-options-base-url)
58
+ * - [Protractor: Configuration](https://github.com/angular/protractor/blob/master/lib/config.ts)
59
+ *
60
+ * @param url
61
+ * An absolute URL or path an [`Actor`](https://serenity-js.org/api/core/class/Actor/)
62
+ * should navigate to
63
+ */
64
+ static to(url) {
65
+ return new NavigateToUrl(url);
66
+ }
67
+ /**
68
+ * 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/)
69
+ * to navigate back one page in the joint session history of the current top-level browsing context.
70
+ *
71
+ * #### Navigate back in browsing history
72
+ *
73
+ * ```ts
74
+ * import { actorCalled } from '@serenity-js/core'
75
+ * import { Ensure, endsWith } from '@serenity-js/assertions'
76
+ * import { Navigate, Page } from '@serenity-js/web'
77
+ *
78
+ * await actorCalled('Hannu')
79
+ * .whoCan(BrowseTheWeb.using(browser))
80
+ * .attemptsTo(
81
+ * Navigate.to('/first'),
82
+ * Navigate.to('/second'),
83
+ *
84
+ * Navigate.back(),
85
+ *
86
+ * Ensure.that(Page.current().url().href, endsWith('/first')),
87
+ * )
88
+ * ```
89
+ */
90
+ static back() {
91
+ return Interaction.where(`#actor navigates back in the browser history`, async (actor) => {
92
+ const page = await BrowseTheWeb.as(actor).currentPage();
93
+ await page.navigateBack();
94
+ });
95
+ }
96
+ /**
97
+ * 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/)
98
+ * to navigate forward one page in the joint session history of the current top-level browsing context.
99
+ *
100
+ * #### Navigate forward in browsing history
101
+ *
102
+ * ```ts
103
+ * import { actorCalled } from '@serenity-js/core'
104
+ * import { Ensure, endsWith } from '@serenity-js/assertions'
105
+ * import { Navigate, Page } from '@serenity-js/web'
106
+ *
107
+ * await actorCalled('Hannu')
108
+ * .whoCan(BrowseTheWeb.using(browser))
109
+ * .attemptsTo(
110
+ * Navigate.to('/first'),
111
+ * Navigate.to('/second'),
112
+ *
113
+ * Navigate.back(),
114
+ * Navigate.forward(),
115
+ *
116
+ * Ensure.that(Page.current().url().href, endsWith('/second')),
117
+ * )
118
+ * ```
119
+ */
120
+ static forward() {
121
+ return Interaction.where(`#actor navigates forward in the browser history`, async (actor) => {
122
+ const page = await BrowseTheWeb.as(actor).currentPage();
123
+ await page.navigateForward();
124
+ });
125
+ }
126
+ /**
127
+ * 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/)
128
+ * to reload the current page.
129
+ *
130
+ * #### Navigate to path relative to baseUrl
131
+ *
132
+ * ```ts
133
+ * import { actorCalled } from '@serenity-js/core'
134
+ * import { Ensure, endsWith } from '@serenity-js/assertions'
135
+ * import { Navigate, Cookie } from '@serenity-js/web'
136
+ * import { browser } from '@wdio/globals'
137
+ *
138
+ * await actorCalled('Hannu')
139
+ * .whoCan(BrowseTheWebWithWebdriverIO.using(browser))
140
+ * .attemptsTo(
141
+ * Navigate.to('/login'),
142
+ * Cookie.called('session_id').delete(),
143
+ * Navigate.reloadPage(),
144
+ * )
145
+ * ```
146
+ */
147
+ static reloadPage() {
148
+ return Interaction.where(`#actor reloads the page`, async (actor) => {
149
+ const page = await BrowseTheWeb.as(actor).currentPage();
150
+ await page.reload();
151
+ });
152
+ }
153
+ }
154
+ /**
155
+ * @package
156
+ */
157
+ class NavigateToUrl extends Interaction {
158
+ url;
159
+ constructor(url) {
160
+ super(the `#actor navigates to ${url}`);
161
+ this.url = url;
162
+ }
163
+ /**
164
+ * @inheritDoc
165
+ */
166
+ async performAs(actor) {
167
+ const url = await actor.answer(this.url);
168
+ const page = await BrowseTheWeb.as(actor).currentPage();
169
+ return page.navigateTo(url).catch(error => {
170
+ throw new TestCompromisedError(`Couldn't navigate to ${url}`, error);
171
+ });
172
+ }
173
+ }
174
+ //# sourceMappingURL=Navigate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navigate.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Navigate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,QAAQ;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,MAAM,CAAC,EAAE,CAAC,GAAuB;QAC7B,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,IAAI;QACP,OAAO,WAAW,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACnF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAExD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,OAAO;QACV,OAAO,WAAW,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACtF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAExD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,UAAU;QACb,OAAO,WAAW,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAExD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,aAAc,SAAQ,WAAW;IACN;IAA7B,YAA6B,GAAuB;QAChD,KAAK,CAAC,GAAG,CAAA,uBAAwB,GAAI,EAAE,CAAC,CAAC;QADhB,QAAG,GAAH,GAAG,CAAoB;IAEpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAuC;QACnD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAExD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACtC,MAAM,IAAI,oBAAoB,CAAC,wBAAyB,GAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,24 @@
1
+ import type { Answerable, AnswersQuestions } from '@serenity-js/core';
2
+ import { Interaction } from '@serenity-js/core';
3
+ import type { FileSystemLocation } from '@serenity-js/core/io';
4
+ import type { PageElement } from '../models/index.js';
5
+ /**
6
+ * A base class for interactions with [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects.
7
+ *
8
+ * **Note:** The recommended way to implement custom interactions
9
+ * in your code is to use the [`Interaction.where`](https://serenity-js.org/api/core/class/Interaction/#where) factory method.
10
+ *
11
+ * @group Activities
12
+ */
13
+ export declare abstract class PageElementInteraction extends Interaction {
14
+ protected constructor(description: Answerable<string>, location?: FileSystemLocation);
15
+ /**
16
+ * Returns the resolved [`PageElement`](https://serenity-js.org/api/web/class/PageElement/), or throws a [`LogicError`](https://serenity-js.org/api/core/class/LogicError/)
17
+ * if the element is `undefined`.
18
+ *
19
+ * @param actor
20
+ * @param element
21
+ */
22
+ protected resolve(actor: AnswersQuestions, element: Answerable<PageElement>): Promise<PageElement>;
23
+ }
24
+ //# sourceMappingURL=PageElementInteraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageElementInteraction.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/PageElementInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAK,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;GAOG;AACH,8BAAsB,sBAAuB,SAAQ,WAAW;IAE5D,SAAS,aAAa,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAE,kBAAkD;IAInH;;;;;;OAMG;cACa,OAAO,CACnB,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC;CAS1B"}
@@ -0,0 +1,29 @@
1
+ import { d, Interaction, LogicError } from '@serenity-js/core';
2
+ /**
3
+ * A base class for interactions with [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects.
4
+ *
5
+ * **Note:** The recommended way to implement custom interactions
6
+ * in your code is to use the [`Interaction.where`](https://serenity-js.org/api/core/class/Interaction/#where) factory method.
7
+ *
8
+ * @group Activities
9
+ */
10
+ export class PageElementInteraction extends Interaction {
11
+ constructor(description, location = Interaction.callerLocation(4)) {
12
+ super(description, location);
13
+ }
14
+ /**
15
+ * Returns the resolved [`PageElement`](https://serenity-js.org/api/web/class/PageElement/), or throws a [`LogicError`](https://serenity-js.org/api/core/class/LogicError/)
16
+ * if the element is `undefined`.
17
+ *
18
+ * @param actor
19
+ * @param element
20
+ */
21
+ async resolve(actor, element) {
22
+ const resolved = await actor.answer(element);
23
+ if (!resolved) {
24
+ throw new LogicError(d `Couldn't find ${element}`);
25
+ }
26
+ return resolved;
27
+ }
28
+ }
29
+ //# sourceMappingURL=PageElementInteraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageElementInteraction.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/PageElementInteraction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK/D;;;;;;;GAOG;AACH,MAAM,OAAgB,sBAAuB,SAAQ,WAAW;IAE5D,YAAsB,WAA+B,EAAE,WAA+B,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/G,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,OAAO,CACnB,KAAuB,EACvB,OAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAE,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,iBAAkB,OAAQ,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ"}
@@ -0,0 +1,92 @@
1
+ import type { Activity, Answerable, AnswersQuestions, UsesAbilities } from '@serenity-js/core';
2
+ import { Interaction } from '@serenity-js/core';
3
+ import type { PageElement } from '../models/index.js';
4
+ import { Key } from '../models/index.js';
5
+ import { PageElementInteraction } from './PageElementInteraction.js';
6
+ /**
7
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
8
+ * to send a key press or a sequence of keys to a Web element.
9
+ *
10
+ * **Note:** On macOS, some keyboard shortcuts might not work
11
+ * with the [`devtools` protocol](https://webdriver.io/docs/automationProtocols/#devtools-protocol).
12
+ *
13
+ * For example:
14
+ * - to *copy*, instead of [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta)+`C`, use [`Key.Control`](https://serenity-js.org/api/web/class/Key/#Control)+[`Key.Insert`](https://serenity-js.org/api/web/class/Key/#Insert)
15
+ * - to *cut*, instead of [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta)+`X`, use [`Key.Control`](https://serenity-js.org/api/web/class/Key/#Control)+[`Key.Delete`](https://serenity-js.org/api/web/class/Key/#Delete)
16
+ * - to *paste*, instead of [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta)+`V`, use [`Key.Shift`](https://serenity-js.org/api/web/class/Key/#Shift)+[`Key.Insert`](https://serenity-js.org/api/web/class/Key/#Insert)
17
+ *
18
+ * ## Example widget
19
+ *
20
+ * ```html
21
+ * <form>
22
+ * <input type="text" name="example" id="example" />
23
+ * </form>
24
+ * ```
25
+ *
26
+ * ## Lean Page Object describing the widget
27
+ *
28
+ * ```ts
29
+ * import { By, PageElement } from '@serenity-js/web'
30
+ *
31
+ * class Form {
32
+ * static exampleInput = () =>
33
+ * PageElement.located(By.id('example'))
34
+ * .describedAs('example input')
35
+ * }
36
+ * ```
37
+ *
38
+ * ## Pressing keys
39
+ *
40
+ * ```ts
41
+ * import { actorCalled } from '@serenity-js/core'
42
+ * import { Key, Press, Value } from '@serenity-js/web'
43
+ * import { Ensure, equals } from '@serenity-js/assertions'
44
+ *
45
+ * await actorCalled('Priyanka')
46
+ * .attemptsTo(
47
+ * Press.the('H', 'i', '!', Key.ENTER).in(Form.exampleInput()),
48
+ * Ensure.that(Value.of(Form.exampleInput), equals('Hi!')),
49
+ * )
50
+ * ```
51
+ *
52
+ * ## Learn more
53
+ *
54
+ * - [`Key`](https://serenity-js.org/api/web/class/Key/)
55
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
56
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
57
+ *
58
+ * @group Activities
59
+ */
60
+ export declare class Press extends PageElementInteraction {
61
+ private readonly keys;
62
+ /**
63
+ * Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
64
+ * that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
65
+ * to press a sequence of [keys](https://serenity-js.org/api/web/class/Key/),
66
+ *
67
+ * When no `field` is specified, the key sequence will be sent to the currently focused element,
68
+ * and if no element is focused - to the `document.body` to handle.
69
+ *
70
+ * @param keys
71
+ * A sequence of one or more keys to press
72
+ */
73
+ static the(...keys: Array<Answerable<Key | string | Key[] | string[]>>): Activity & {
74
+ in: (field: Answerable<PageElement>) => Interaction;
75
+ };
76
+ /**
77
+ * Send the key sequence to a specific element.
78
+ *
79
+ * @param field
80
+ */
81
+ in(field: Answerable<PageElement>): Interaction;
82
+ /**
83
+ * @param keys
84
+ * A sequence of one or more keys to press
85
+ */
86
+ protected constructor(keys: Answerable<Array<Key | string>>);
87
+ /**
88
+ * @inheritDoc
89
+ */
90
+ performAs(actor: UsesAbilities & AnswersQuestions): Promise<void>;
91
+ }
92
+ //# sourceMappingURL=Press.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Press.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Press.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAI/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,qBAAa,KAAM,SAAQ,sBAAsB;IA+BzC,OAAO,CAAC,QAAQ,CAAC,IAAI;IA7BzB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,QAAQ,GAAG;QAAE,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,WAAW,CAAA;KAAE;IAI3I;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW;IAI/C;;;OAGG;IACH,SAAS,aACY,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;IAK1D;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1E"}