@serenity-js/protractor 2.33.1 → 3.0.0-rc.11

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 (343) hide show
  1. package/CHANGELOG.md +481 -0
  2. package/lib/adapter/ProtractorFrameworkAdapter.js +5 -0
  3. package/lib/adapter/ProtractorFrameworkAdapter.js.map +1 -1
  4. package/lib/index.d.ts +0 -2
  5. package/lib/index.js +0 -2
  6. package/lib/index.js.map +1 -1
  7. package/lib/screenplay/abilities/{BrowseTheWeb.d.ts → BrowseTheWebWithProtractor.d.ts} +38 -191
  8. package/lib/screenplay/abilities/{BrowseTheWeb.js → BrowseTheWebWithProtractor.js} +129 -251
  9. package/lib/screenplay/abilities/BrowseTheWebWithProtractor.js.map +1 -0
  10. package/lib/screenplay/abilities/index.d.ts +1 -1
  11. package/lib/screenplay/abilities/index.js +1 -1
  12. package/lib/screenplay/abilities/index.js.map +1 -1
  13. package/lib/screenplay/index.d.ts +1 -0
  14. package/lib/screenplay/index.js +1 -0
  15. package/lib/screenplay/index.js.map +1 -1
  16. package/lib/screenplay/interactions/UseAngular.js +2 -2
  17. package/lib/screenplay/interactions/UseAngular.js.map +1 -1
  18. package/lib/screenplay/interactions/index.d.ts +0 -19
  19. package/lib/screenplay/interactions/index.js +0 -19
  20. package/lib/screenplay/interactions/index.js.map +1 -1
  21. package/lib/screenplay/models/ProtractorCookie.d.ts +11 -0
  22. package/lib/screenplay/models/ProtractorCookie.js +39 -0
  23. package/lib/screenplay/models/ProtractorCookie.js.map +1 -0
  24. package/lib/screenplay/models/ProtractorFrame.d.ts +10 -0
  25. package/lib/screenplay/models/ProtractorFrame.js +39 -0
  26. package/lib/screenplay/models/ProtractorFrame.js.map +1 -0
  27. package/lib/screenplay/models/ProtractorModalDialog.d.ts +11 -0
  28. package/lib/screenplay/models/ProtractorModalDialog.js +43 -0
  29. package/lib/screenplay/models/ProtractorModalDialog.js.map +1 -0
  30. package/lib/screenplay/models/ProtractorPage.d.ts +26 -0
  31. package/lib/screenplay/models/ProtractorPage.js +98 -0
  32. package/lib/screenplay/models/ProtractorPage.js.map +1 -0
  33. package/lib/screenplay/models/ProtractorPageElement.d.ts +21 -0
  34. package/lib/screenplay/models/ProtractorPageElement.js +230 -0
  35. package/lib/screenplay/models/ProtractorPageElement.js.map +1 -0
  36. package/lib/screenplay/models/index.d.ts +5 -0
  37. package/lib/screenplay/{questions/lists → models}/index.js +5 -1
  38. package/lib/screenplay/models/index.js.map +1 -0
  39. package/lib/screenplay/models/locators/ProtractorLocator.d.ts +9 -0
  40. package/lib/screenplay/models/locators/ProtractorLocator.js +28 -0
  41. package/lib/screenplay/models/locators/ProtractorLocator.js.map +1 -0
  42. package/lib/screenplay/models/locators/ProtractorNativeElementRoot.d.ts +5 -0
  43. package/lib/screenplay/{interactions/EnterBuilder.js → models/locators/ProtractorNativeElementRoot.js} +1 -1
  44. package/lib/screenplay/models/locators/ProtractorNativeElementRoot.js.map +1 -0
  45. package/lib/screenplay/models/locators/index.d.ts +2 -0
  46. package/lib/{stage/crew → screenplay/models/locators}/index.js +2 -1
  47. package/lib/screenplay/models/locators/index.js.map +1 -0
  48. package/lib/{promiseOf.d.ts → screenplay/promised.d.ts} +1 -1
  49. package/lib/{promiseOf.js → screenplay/promised.js} +4 -4
  50. package/lib/screenplay/promised.js.map +1 -0
  51. package/lib/screenplay/questions/ProtractorParam.d.ts +24 -29
  52. package/lib/screenplay/questions/ProtractorParam.js +26 -33
  53. package/lib/screenplay/questions/ProtractorParam.js.map +1 -1
  54. package/lib/screenplay/questions/index.d.ts +0 -13
  55. package/lib/screenplay/questions/index.js +0 -16
  56. package/lib/screenplay/questions/index.js.map +1 -1
  57. package/lib/screenplay/unpromisedWebElement.d.ts +11 -0
  58. package/lib/screenplay/unpromisedWebElement.js +24 -0
  59. package/lib/screenplay/unpromisedWebElement.js.map +1 -0
  60. package/package.json +19 -20
  61. package/src/adapter/ProtractorFrameworkAdapter.ts +5 -0
  62. package/src/index.ts +0 -2
  63. package/src/screenplay/abilities/{BrowseTheWeb.ts → BrowseTheWebWithProtractor.ts} +148 -263
  64. package/src/screenplay/abilities/index.ts +1 -1
  65. package/src/screenplay/index.ts +1 -0
  66. package/src/screenplay/interactions/UseAngular.ts +3 -3
  67. package/src/screenplay/interactions/index.ts +0 -19
  68. package/src/screenplay/models/ProtractorCookie.ts +41 -0
  69. package/src/screenplay/models/ProtractorFrame.ts +44 -0
  70. package/src/screenplay/models/ProtractorModalDialog.ts +49 -0
  71. package/src/screenplay/models/ProtractorPage.ts +124 -0
  72. package/src/screenplay/models/ProtractorPageElement.ts +285 -0
  73. package/src/screenplay/models/index.ts +6 -0
  74. package/src/screenplay/models/locators/ProtractorLocator.ts +50 -0
  75. package/src/screenplay/models/locators/ProtractorNativeElementRoot.ts +6 -0
  76. package/src/screenplay/models/locators/index.ts +2 -0
  77. package/src/{promiseOf.ts → screenplay/promised.ts} +1 -1
  78. package/src/screenplay/questions/ProtractorParam.ts +29 -38
  79. package/src/screenplay/questions/index.ts +0 -13
  80. package/src/screenplay/unpromisedWebElement.ts +25 -0
  81. package/lib/expectations/ElementFinderExpectation.d.ts +0 -11
  82. package/lib/expectations/ElementFinderExpectation.js +0 -24
  83. package/lib/expectations/ElementFinderExpectation.js.map +0 -1
  84. package/lib/expectations/index.d.ts +0 -6
  85. package/lib/expectations/index.js +0 -19
  86. package/lib/expectations/index.js.map +0 -1
  87. package/lib/expectations/isActive.d.ts +0 -13
  88. package/lib/expectations/isActive.js +0 -19
  89. package/lib/expectations/isActive.js.map +0 -1
  90. package/lib/expectations/isClickable.d.ts +0 -13
  91. package/lib/expectations/isClickable.js +0 -22
  92. package/lib/expectations/isClickable.js.map +0 -1
  93. package/lib/expectations/isEnabled.d.ts +0 -13
  94. package/lib/expectations/isEnabled.js +0 -19
  95. package/lib/expectations/isEnabled.js.map +0 -1
  96. package/lib/expectations/isPresent.d.ts +0 -14
  97. package/lib/expectations/isPresent.js +0 -20
  98. package/lib/expectations/isPresent.js.map +0 -1
  99. package/lib/expectations/isSelected.d.ts +0 -13
  100. package/lib/expectations/isSelected.js +0 -22
  101. package/lib/expectations/isSelected.js.map +0 -1
  102. package/lib/expectations/isVisible.d.ts +0 -13
  103. package/lib/expectations/isVisible.js +0 -25
  104. package/lib/expectations/isVisible.js.map +0 -1
  105. package/lib/promiseOf.js.map +0 -1
  106. package/lib/screenplay/abilities/BrowseTheWeb.js.map +0 -1
  107. package/lib/screenplay/interactions/Accept.d.ts +0 -81
  108. package/lib/screenplay/interactions/Accept.js +0 -95
  109. package/lib/screenplay/interactions/Accept.js.map +0 -1
  110. package/lib/screenplay/interactions/Clear.d.ts +0 -88
  111. package/lib/screenplay/interactions/Clear.js +0 -121
  112. package/lib/screenplay/interactions/Clear.js.map +0 -1
  113. package/lib/screenplay/interactions/Click.d.ts +0 -81
  114. package/lib/screenplay/interactions/Click.js +0 -95
  115. package/lib/screenplay/interactions/Click.js.map +0 -1
  116. package/lib/screenplay/interactions/Close.d.ts +0 -89
  117. package/lib/screenplay/interactions/Close.js +0 -169
  118. package/lib/screenplay/interactions/Close.js.map +0 -1
  119. package/lib/screenplay/interactions/DeleteCookies.d.ts +0 -72
  120. package/lib/screenplay/interactions/DeleteCookies.js +0 -149
  121. package/lib/screenplay/interactions/DeleteCookies.js.map +0 -1
  122. package/lib/screenplay/interactions/Dismiss.d.ts +0 -85
  123. package/lib/screenplay/interactions/Dismiss.js +0 -99
  124. package/lib/screenplay/interactions/Dismiss.js.map +0 -1
  125. package/lib/screenplay/interactions/DoubleClick.d.ts +0 -99
  126. package/lib/screenplay/interactions/DoubleClick.js +0 -121
  127. package/lib/screenplay/interactions/DoubleClick.js.map +0 -1
  128. package/lib/screenplay/interactions/Enter.d.ts +0 -81
  129. package/lib/screenplay/interactions/Enter.js +0 -96
  130. package/lib/screenplay/interactions/Enter.js.map +0 -1
  131. package/lib/screenplay/interactions/EnterBuilder.d.ts +0 -27
  132. package/lib/screenplay/interactions/EnterBuilder.js.map +0 -1
  133. package/lib/screenplay/interactions/ExecuteScript.d.ts +0 -171
  134. package/lib/screenplay/interactions/ExecuteScript.js +0 -291
  135. package/lib/screenplay/interactions/ExecuteScript.js.map +0 -1
  136. package/lib/screenplay/interactions/Hover.d.ts +0 -86
  137. package/lib/screenplay/interactions/Hover.js +0 -103
  138. package/lib/screenplay/interactions/Hover.js.map +0 -1
  139. package/lib/screenplay/interactions/Navigate.d.ts +0 -149
  140. package/lib/screenplay/interactions/Navigate.js +0 -345
  141. package/lib/screenplay/interactions/Navigate.js.map +0 -1
  142. package/lib/screenplay/interactions/Press.d.ts +0 -90
  143. package/lib/screenplay/interactions/Press.js +0 -127
  144. package/lib/screenplay/interactions/Press.js.map +0 -1
  145. package/lib/screenplay/interactions/PressBuilder.d.ts +0 -27
  146. package/lib/screenplay/interactions/PressBuilder.js +0 -3
  147. package/lib/screenplay/interactions/PressBuilder.js.map +0 -1
  148. package/lib/screenplay/interactions/ResizeBrowserWindow.d.ts +0 -69
  149. package/lib/screenplay/interactions/ResizeBrowserWindow.js +0 -144
  150. package/lib/screenplay/interactions/ResizeBrowserWindow.js.map +0 -1
  151. package/lib/screenplay/interactions/RightClick.d.ts +0 -97
  152. package/lib/screenplay/interactions/RightClick.js +0 -113
  153. package/lib/screenplay/interactions/RightClick.js.map +0 -1
  154. package/lib/screenplay/interactions/Scroll.d.ts +0 -83
  155. package/lib/screenplay/interactions/Scroll.js +0 -98
  156. package/lib/screenplay/interactions/Scroll.js.map +0 -1
  157. package/lib/screenplay/interactions/Select.d.ts +0 -212
  158. package/lib/screenplay/interactions/Select.js +0 -342
  159. package/lib/screenplay/interactions/Select.js.map +0 -1
  160. package/lib/screenplay/interactions/SelectBuilder.d.ts +0 -33
  161. package/lib/screenplay/interactions/SelectBuilder.js +0 -3
  162. package/lib/screenplay/interactions/SelectBuilder.js.map +0 -1
  163. package/lib/screenplay/interactions/Switch.d.ts +0 -210
  164. package/lib/screenplay/interactions/Switch.js +0 -345
  165. package/lib/screenplay/interactions/Switch.js.map +0 -1
  166. package/lib/screenplay/interactions/TakeScreenshot.d.ts +0 -67
  167. package/lib/screenplay/interactions/TakeScreenshot.js +0 -86
  168. package/lib/screenplay/interactions/TakeScreenshot.js.map +0 -1
  169. package/lib/screenplay/interactions/Wait.d.ts +0 -147
  170. package/lib/screenplay/interactions/Wait.js +0 -247
  171. package/lib/screenplay/interactions/Wait.js.map +0 -1
  172. package/lib/screenplay/interactions/WaitBuilder.d.ts +0 -33
  173. package/lib/screenplay/interactions/WaitBuilder.js +0 -3
  174. package/lib/screenplay/interactions/WaitBuilder.js.map +0 -1
  175. package/lib/screenplay/questions/Attribute.d.ts +0 -29
  176. package/lib/screenplay/questions/Attribute.js +0 -56
  177. package/lib/screenplay/questions/Attribute.js.map +0 -1
  178. package/lib/screenplay/questions/Browser.d.ts +0 -47
  179. package/lib/screenplay/questions/Browser.js +0 -55
  180. package/lib/screenplay/questions/Browser.js.map +0 -1
  181. package/lib/screenplay/questions/CSSClasses.d.ts +0 -94
  182. package/lib/screenplay/questions/CSSClasses.js +0 -118
  183. package/lib/screenplay/questions/CSSClasses.js.map +0 -1
  184. package/lib/screenplay/questions/Cookie.d.ts +0 -9
  185. package/lib/screenplay/questions/Cookie.js +0 -65
  186. package/lib/screenplay/questions/Cookie.js.map +0 -1
  187. package/lib/screenplay/questions/LastScriptExecution.d.ts +0 -14
  188. package/lib/screenplay/questions/LastScriptExecution.js +0 -22
  189. package/lib/screenplay/questions/LastScriptExecution.js.map +0 -1
  190. package/lib/screenplay/questions/ModalDialog.d.ts +0 -120
  191. package/lib/screenplay/questions/ModalDialog.js +0 -142
  192. package/lib/screenplay/questions/ModalDialog.js.map +0 -1
  193. package/lib/screenplay/questions/Pick.d.ts +0 -72
  194. package/lib/screenplay/questions/Pick.js +0 -254
  195. package/lib/screenplay/questions/Pick.js.map +0 -1
  196. package/lib/screenplay/questions/Selected.d.ts +0 -185
  197. package/lib/screenplay/questions/Selected.js +0 -254
  198. package/lib/screenplay/questions/Selected.js.map +0 -1
  199. package/lib/screenplay/questions/Value.d.ts +0 -47
  200. package/lib/screenplay/questions/Value.js +0 -67
  201. package/lib/screenplay/questions/Value.js.map +0 -1
  202. package/lib/screenplay/questions/Website.d.ts +0 -15
  203. package/lib/screenplay/questions/Website.js +0 -25
  204. package/lib/screenplay/questions/Website.js.map +0 -1
  205. package/lib/screenplay/questions/Window.d.ts +0 -23
  206. package/lib/screenplay/questions/Window.js +0 -28
  207. package/lib/screenplay/questions/Window.js.map +0 -1
  208. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.d.ts +0 -89
  209. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.js +0 -138
  210. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.js.map +0 -1
  211. package/lib/screenplay/questions/lists/index.d.ts +0 -1
  212. package/lib/screenplay/questions/lists/index.js.map +0 -1
  213. package/lib/screenplay/questions/targets/Target.d.ts +0 -168
  214. package/lib/screenplay/questions/targets/Target.js +0 -190
  215. package/lib/screenplay/questions/targets/Target.js.map +0 -1
  216. package/lib/screenplay/questions/targets/TargetElement.d.ts +0 -50
  217. package/lib/screenplay/questions/targets/TargetElement.js +0 -62
  218. package/lib/screenplay/questions/targets/TargetElement.js.map +0 -1
  219. package/lib/screenplay/questions/targets/TargetElements.d.ts +0 -102
  220. package/lib/screenplay/questions/targets/TargetElements.js +0 -124
  221. package/lib/screenplay/questions/targets/TargetElements.js.map +0 -1
  222. package/lib/screenplay/questions/targets/TargetNestedElement.d.ts +0 -49
  223. package/lib/screenplay/questions/targets/TargetNestedElement.js +0 -61
  224. package/lib/screenplay/questions/targets/TargetNestedElement.js.map +0 -1
  225. package/lib/screenplay/questions/targets/TargetNestedElements.d.ts +0 -101
  226. package/lib/screenplay/questions/targets/TargetNestedElements.js +0 -123
  227. package/lib/screenplay/questions/targets/TargetNestedElements.js.map +0 -1
  228. package/lib/screenplay/questions/targets/builders.d.ts +0 -8
  229. package/lib/screenplay/questions/targets/builders.js +0 -3
  230. package/lib/screenplay/questions/targets/builders.js.map +0 -1
  231. package/lib/screenplay/questions/targets/index.d.ts +0 -5
  232. package/lib/screenplay/questions/targets/index.js +0 -18
  233. package/lib/screenplay/questions/targets/index.js.map +0 -1
  234. package/lib/screenplay/questions/targets/override.d.ts +0 -7
  235. package/lib/screenplay/questions/targets/override.js +0 -21
  236. package/lib/screenplay/questions/targets/override.js.map +0 -1
  237. package/lib/screenplay/questions/text/Text.d.ts +0 -41
  238. package/lib/screenplay/questions/text/Text.js +0 -50
  239. package/lib/screenplay/questions/text/Text.js.map +0 -1
  240. package/lib/screenplay/questions/text/TextOfMultipleElements.d.ts +0 -23
  241. package/lib/screenplay/questions/text/TextOfMultipleElements.js +0 -37
  242. package/lib/screenplay/questions/text/TextOfMultipleElements.js.map +0 -1
  243. package/lib/screenplay/questions/text/TextOfSingleElement.d.ts +0 -23
  244. package/lib/screenplay/questions/text/TextOfSingleElement.js +0 -35
  245. package/lib/screenplay/questions/text/TextOfSingleElement.js.map +0 -1
  246. package/lib/screenplay/questions/text/index.d.ts +0 -1
  247. package/lib/screenplay/questions/text/index.js +0 -14
  248. package/lib/screenplay/questions/text/index.js.map +0 -1
  249. package/lib/screenplay/withAnswerOf.d.ts +0 -8
  250. package/lib/screenplay/withAnswerOf.js +0 -18
  251. package/lib/screenplay/withAnswerOf.js.map +0 -1
  252. package/lib/stage/crew/index.d.ts +0 -1
  253. package/lib/stage/crew/index.js.map +0 -1
  254. package/lib/stage/crew/photographer/Photographer.d.ts +0 -83
  255. package/lib/stage/crew/photographer/Photographer.js +0 -102
  256. package/lib/stage/crew/photographer/Photographer.js.map +0 -1
  257. package/lib/stage/crew/photographer/index.d.ts +0 -2
  258. package/lib/stage/crew/photographer/index.js +0 -15
  259. package/lib/stage/crew/photographer/index.js.map +0 -1
  260. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +0 -28
  261. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +0 -65
  262. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +0 -1
  263. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +0 -18
  264. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +0 -30
  265. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +0 -1
  266. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +0 -17
  267. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +0 -28
  268. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +0 -1
  269. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +0 -19
  270. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +0 -28
  271. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +0 -1
  272. package/lib/stage/crew/photographer/strategies/index.d.ts +0 -4
  273. package/lib/stage/crew/photographer/strategies/index.js +0 -17
  274. package/lib/stage/crew/photographer/strategies/index.js.map +0 -1
  275. package/lib/stage/index.d.ts +0 -1
  276. package/lib/stage/index.js +0 -14
  277. package/lib/stage/index.js.map +0 -1
  278. package/src/expectations/ElementFinderExpectation.ts +0 -29
  279. package/src/expectations/index.ts +0 -6
  280. package/src/expectations/isActive.ts +0 -24
  281. package/src/expectations/isClickable.ts +0 -20
  282. package/src/expectations/isEnabled.ts +0 -18
  283. package/src/expectations/isPresent.ts +0 -19
  284. package/src/expectations/isSelected.ts +0 -23
  285. package/src/expectations/isVisible.ts +0 -27
  286. package/src/screenplay/interactions/Accept.ts +0 -95
  287. package/src/screenplay/interactions/Clear.ts +0 -130
  288. package/src/screenplay/interactions/Click.ts +0 -96
  289. package/src/screenplay/interactions/Close.ts +0 -184
  290. package/src/screenplay/interactions/DeleteCookies.ts +0 -154
  291. package/src/screenplay/interactions/Dismiss.ts +0 -99
  292. package/src/screenplay/interactions/DoubleClick.ts +0 -124
  293. package/src/screenplay/interactions/Enter.ts +0 -104
  294. package/src/screenplay/interactions/EnterBuilder.ts +0 -29
  295. package/src/screenplay/interactions/ExecuteScript.ts +0 -325
  296. package/src/screenplay/interactions/Hover.ts +0 -106
  297. package/src/screenplay/interactions/Navigate.ts +0 -363
  298. package/src/screenplay/interactions/Press.ts +0 -137
  299. package/src/screenplay/interactions/PressBuilder.ts +0 -29
  300. package/src/screenplay/interactions/ResizeBrowserWindow.ts +0 -148
  301. package/src/screenplay/interactions/RightClick.ts +0 -114
  302. package/src/screenplay/interactions/Scroll.ts +0 -99
  303. package/src/screenplay/interactions/Select.ts +0 -402
  304. package/src/screenplay/interactions/SelectBuilder.ts +0 -35
  305. package/src/screenplay/interactions/Switch.ts +0 -393
  306. package/src/screenplay/interactions/TakeScreenshot.ts +0 -89
  307. package/src/screenplay/interactions/Wait.ts +0 -267
  308. package/src/screenplay/interactions/WaitBuilder.ts +0 -35
  309. package/src/screenplay/questions/Attribute.ts +0 -67
  310. package/src/screenplay/questions/Browser.ts +0 -55
  311. package/src/screenplay/questions/CSSClasses.ts +0 -121
  312. package/src/screenplay/questions/Cookie.ts +0 -70
  313. package/src/screenplay/questions/LastScriptExecution.ts +0 -21
  314. package/src/screenplay/questions/ModalDialog.ts +0 -149
  315. package/src/screenplay/questions/Pick.ts +0 -334
  316. package/src/screenplay/questions/Selected.ts +0 -268
  317. package/src/screenplay/questions/Value.ts +0 -73
  318. package/src/screenplay/questions/Website.ts +0 -27
  319. package/src/screenplay/questions/Window.ts +0 -29
  320. package/src/screenplay/questions/lists/ElementArrayFinderListAdapter.ts +0 -158
  321. package/src/screenplay/questions/lists/index.ts +0 -1
  322. package/src/screenplay/questions/targets/Target.ts +0 -198
  323. package/src/screenplay/questions/targets/TargetElement.ts +0 -70
  324. package/src/screenplay/questions/targets/TargetElements.ts +0 -142
  325. package/src/screenplay/questions/targets/TargetNestedElement.ts +0 -71
  326. package/src/screenplay/questions/targets/TargetNestedElements.ts +0 -142
  327. package/src/screenplay/questions/targets/builders.ts +0 -10
  328. package/src/screenplay/questions/targets/index.ts +0 -5
  329. package/src/screenplay/questions/targets/override.ts +0 -17
  330. package/src/screenplay/questions/text/Text.ts +0 -55
  331. package/src/screenplay/questions/text/TextOfMultipleElements.ts +0 -40
  332. package/src/screenplay/questions/text/TextOfSingleElement.ts +0 -37
  333. package/src/screenplay/questions/text/index.ts +0 -1
  334. package/src/screenplay/withAnswerOf.ts +0 -19
  335. package/src/stage/crew/index.ts +0 -1
  336. package/src/stage/crew/photographer/Photographer.ts +0 -108
  337. package/src/stage/crew/photographer/index.ts +0 -2
  338. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +0 -102
  339. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +0 -28
  340. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +0 -26
  341. package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +0 -26
  342. package/src/stage/crew/photographer/strategies/index.ts +0 -4
  343. package/src/stage/index.ts +0 -1
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Browser = void 0;
4
- const core_1 = require("@serenity-js/core");
5
- const promiseOf_1 = require("../../promiseOf");
6
- const abilities_1 = require("../abilities");
7
- class Browser {
8
- /**
9
- * @desc
10
- * Creates a {@link Question} that reads the entries of the browser log
11
- * so that they can be asserted on.
12
- *
13
- * Please note that in order to ensure that the automated test has access to the browser log,
14
- * Protractor needs to be configured with the desired logging level, as per the example below.
15
- *
16
- * @example <caption>Enabling Protractor browser logging</caption>
17
- * // protractor.conf.js
18
- * exports.config = {
19
- * capabilities: {
20
- * loggingPrefs: {
21
- * // available options: OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL
22
- * browser: 'SEVERE'
23
- * },
24
- * }
25
- * }
26
- *
27
- * @example <caption>Ensure the app didn't log anything to the console during the test</caption>
28
- * import { Actor, BrowseTheWeb, Browser } from '@serenity-js/core';
29
- * import { Ensure, property, equals } from '@serenity-js/assertions';
30
- *
31
- * actor.attemptsTo(
32
- * Ensure.that(Browser.log(), property('length', equals(0))),
33
- * );
34
- *
35
- * @example <caption>Mark the test as "compromised" if the server responds with a 500 to any AJAX request during the test</caption>
36
- * import { Actor, BrowseTheWeb, Browser, TestCompromisedError } from '@serenity-js/core';
37
- * import { Ensure, property, equals, not, contrainAtLeastOneItemThat } from '@serenity-js/assertions'
38
- *
39
- * actor.attemptsTo(
40
- * Ensure.that(Browser.log(),
41
- * not(contrainAtLeastOneItemThat(
42
- * property('message', includes('the server responded with a status of 500'))
43
- * ))
44
- * ).otherwiseFailWith(TestCompromisedError, 'The server is down'),
45
- * );
46
- *
47
- * @see https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities#loggingpreferences-json-object
48
- * @returns {Question<Promise<logging.Entry[]>>}
49
- */
50
- static log() {
51
- return core_1.Question.about(`browser log`, actor => (0, promiseOf_1.promiseOf)(abilities_1.BrowseTheWeb.as(actor).manage().logs().get('browser')));
52
- }
53
- }
54
- exports.Browser = Browser;
55
- //# sourceMappingURL=Browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../src/screenplay/questions/Browser.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAG7C,+CAA4C;AAC5C,4CAA4C;AAE5C,MAAa,OAAO;IAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,MAAM,CAAC,GAAG;QACN,OAAO,eAAQ,CAAC,KAAK,CAA2B,aAAa,EAAE,KAAK,CAAC,EAAE,CACnE,IAAA,qBAAS,EAAC,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;CACJ;AAhDD,0BAgDC"}
@@ -1,94 +0,0 @@
1
- import { AnswersQuestions, MetaQuestion, Question, UsesAbilities } from '@serenity-js/core';
2
- import { ElementFinder } from 'protractor';
3
- /**
4
- * @desc
5
- * Resolves to an array of [CSS classes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-class)
6
- * of a given {@link WebElement}, represented by {@link ElementFinder} or `Question<ElementFinder>`.
7
- *
8
- * @example <caption>Example widget</caption>
9
- * <ul id="shopping-list" class="active favourite">
10
- * <li class="bought">Coffee<li>
11
- * <li class="buy">Honey<li>
12
- * <li class="buy">Chocolate<li>
13
- * </ul>
14
- *
15
- * @example <caption>Retrieve CSS classes of a given WebElement</caption>
16
- * import { actorCalled } from '@serenity-js/core';
17
- * import { Ensure, equals } from '@serenity-js/assertions';
18
- * import { BrowseTheWeb, CSSClasses, Target } from '@serenity-js/protractor';
19
- * import { by } from 'protractor';
20
- *
21
- * const shoppingList = () =>
22
- * Target.the('shopping list').located(by.id('shopping-list'))
23
- *
24
- * actorCalled('Lisa')
25
- * .whoCan(BrowseTheWeb.using(protractor.browser))
26
- * .attemptsTo(
27
- * Ensure.that(CSSClasses.of(shoppingList()), equals([ 'active', 'favourite' ])),
28
- * )
29
- *
30
- * @example <caption>Find WebElements with a given class</caption>
31
- * import { actorCalled } from '@serenity-js/core';
32
- * import { Ensure, equals } from '@serenity-js/assertions';
33
- * import { BrowseTheWeb, CSSClasses, Target } from '@serenity-js/protractor';
34
- * import { by } from 'protractor';
35
- *
36
- * class ShoppingList {
37
- * static items = () =>
38
- * Target.all('items')
39
- * .located(by.css('#shopping-list li'))
40
- *
41
- * static outstandingItems = () =>
42
- * ShoppingList.items
43
- * .where(CSSClasses, contain('buy'))
44
- * }
45
- *
46
- * actorCalled('Lisa')
47
- * .whoCan(BrowseTheWeb.using(protractor.browser))
48
- * .attemptsTo(
49
- * Ensure.that(
50
- * Text.ofAll(ShoppingList.outstandingItems()),
51
- * equals([ 'Honey', 'Chocolate' ])
52
- * ),
53
- * )
54
- *
55
- * @extends {@serenity-js/core/lib/screenplay~Question}
56
- * @implements {@serenity-js/core/lib/screenplay/questions~MetaQuestion}
57
- */
58
- export declare class CSSClasses extends Question<Promise<string[]>> implements MetaQuestion<Question<ElementFinder> | ElementFinder, Promise<string[]>> {
59
- private readonly target;
60
- /**
61
- * @param {Question<ElementFinder> | ElementFinder} target
62
- * @returns {CSSClasses}
63
- */
64
- static of(target: Question<ElementFinder> | ElementFinder): CSSClasses;
65
- /**
66
- * @param {Question<ElementFinder> | ElementFinder} target
67
- */
68
- constructor(target: Question<ElementFinder> | ElementFinder);
69
- /**
70
- * @desc
71
- * Resolves to an array of CSS classes of the `target` element,
72
- * located in the context of a `parent` element.
73
- *
74
- * @param {Question<ElementFinder> | ElementFinder} parent
75
- * @returns {Question<Promise<string[]>>}
76
- *
77
- * @see {@link Target.all}
78
- * @see {@link @serenity-js/core/lib/screenplay/questions~MetaQuestion}
79
- */
80
- of(parent: Question<ElementFinder> | ElementFinder): Question<Promise<string[]>>;
81
- /**
82
- * @desc
83
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
84
- * answer this {@link @serenity-js/core/lib/screenplay~Question}.
85
- *
86
- * @param {AnswersQuestions & UsesAbilities} actor
87
- * @returns {Promise<void>}
88
- *
89
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
90
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
91
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
92
- */
93
- answeredBy(actor: AnswersQuestions & UsesAbilities): Promise<string[]>;
94
- }
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CSSClasses = void 0;
4
- const core_1 = require("@serenity-js/core");
5
- const io_1 = require("@serenity-js/core/lib/io");
6
- const Attribute_1 = require("./Attribute");
7
- const targets_1 = require("./targets");
8
- /**
9
- * @desc
10
- * Resolves to an array of [CSS classes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-class)
11
- * of a given {@link WebElement}, represented by {@link ElementFinder} or `Question<ElementFinder>`.
12
- *
13
- * @example <caption>Example widget</caption>
14
- * <ul id="shopping-list" class="active favourite">
15
- * <li class="bought">Coffee<li>
16
- * <li class="buy">Honey<li>
17
- * <li class="buy">Chocolate<li>
18
- * </ul>
19
- *
20
- * @example <caption>Retrieve CSS classes of a given WebElement</caption>
21
- * import { actorCalled } from '@serenity-js/core';
22
- * import { Ensure, equals } from '@serenity-js/assertions';
23
- * import { BrowseTheWeb, CSSClasses, Target } from '@serenity-js/protractor';
24
- * import { by } from 'protractor';
25
- *
26
- * const shoppingList = () =>
27
- * Target.the('shopping list').located(by.id('shopping-list'))
28
- *
29
- * actorCalled('Lisa')
30
- * .whoCan(BrowseTheWeb.using(protractor.browser))
31
- * .attemptsTo(
32
- * Ensure.that(CSSClasses.of(shoppingList()), equals([ 'active', 'favourite' ])),
33
- * )
34
- *
35
- * @example <caption>Find WebElements with a given class</caption>
36
- * import { actorCalled } from '@serenity-js/core';
37
- * import { Ensure, equals } from '@serenity-js/assertions';
38
- * import { BrowseTheWeb, CSSClasses, Target } from '@serenity-js/protractor';
39
- * import { by } from 'protractor';
40
- *
41
- * class ShoppingList {
42
- * static items = () =>
43
- * Target.all('items')
44
- * .located(by.css('#shopping-list li'))
45
- *
46
- * static outstandingItems = () =>
47
- * ShoppingList.items
48
- * .where(CSSClasses, contain('buy'))
49
- * }
50
- *
51
- * actorCalled('Lisa')
52
- * .whoCan(BrowseTheWeb.using(protractor.browser))
53
- * .attemptsTo(
54
- * Ensure.that(
55
- * Text.ofAll(ShoppingList.outstandingItems()),
56
- * equals([ 'Honey', 'Chocolate' ])
57
- * ),
58
- * )
59
- *
60
- * @extends {@serenity-js/core/lib/screenplay~Question}
61
- * @implements {@serenity-js/core/lib/screenplay/questions~MetaQuestion}
62
- */
63
- class CSSClasses extends core_1.Question {
64
- /**
65
- * @param {Question<ElementFinder> | ElementFinder} target
66
- */
67
- constructor(target) {
68
- super((0, io_1.formatted) `CSS classes of ${target}`);
69
- this.target = target;
70
- }
71
- /**
72
- * @param {Question<ElementFinder> | ElementFinder} target
73
- * @returns {CSSClasses}
74
- */
75
- static of(target) {
76
- return new CSSClasses(target);
77
- }
78
- /**
79
- * @desc
80
- * Resolves to an array of CSS classes of the `target` element,
81
- * located in the context of a `parent` element.
82
- *
83
- * @param {Question<ElementFinder> | ElementFinder} parent
84
- * @returns {Question<Promise<string[]>>}
85
- *
86
- * @see {@link Target.all}
87
- * @see {@link @serenity-js/core/lib/screenplay/questions~MetaQuestion}
88
- */
89
- of(parent) {
90
- return new CSSClasses(new targets_1.TargetNestedElement(parent, this.target));
91
- }
92
- /**
93
- * @desc
94
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
95
- * answer this {@link @serenity-js/core/lib/screenplay~Question}.
96
- *
97
- * @param {AnswersQuestions & UsesAbilities} actor
98
- * @returns {Promise<void>}
99
- *
100
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
101
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
102
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
103
- */
104
- answeredBy(actor) {
105
- return Attribute_1.Attribute.of(this.target).called('class').answeredBy(actor)
106
- .then(value => {
107
- return typeof value !== 'string'
108
- ? []
109
- : value
110
- .replace(/\s+/, ' ')
111
- .trim()
112
- .split(' ')
113
- .filter(cssClass => !!cssClass);
114
- });
115
- }
116
- }
117
- exports.CSSClasses = CSSClasses;
118
- //# sourceMappingURL=CSSClasses.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CSSClasses.js","sourceRoot":"","sources":["../../../src/screenplay/questions/CSSClasses.ts"],"names":[],"mappings":";;;AAAA,4CAA4F;AAC5F,iDAAqD;AAGrD,2CAAwC;AACxC,uCAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAa,UACT,SAAQ,eAA2B;IAWnC;;OAEG;IACH,YAA6B,MAA+C;QACxE,KAAK,CAAC,IAAA,cAAS,EAAC,kBAAmB,MAAM,EAAE,CAAC,CAAC;QADpB,WAAM,GAAN,MAAM,CAAyC;IAE5E,CAAC;IAbD;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAA+C;QACrD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IASD;;;;;;;;;;OAUG;IACH,EAAE,CAAC,MAA+C;QAC9C,OAAO,IAAI,UAAU,CAAC,IAAI,6BAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,KAAuC;QAC9C,OAAO,qBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;aAC7D,IAAI,CAAC,KAAK,CAAC,EAAE;YACV,OAAO,OAAO,KAAK,KAAK,QAAQ;gBAC5B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,KAAK;qBACF,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;qBACnB,IAAI,EAAE;qBACN,KAAK,CAAC,GAAG,CAAC;qBACV,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACX,CAAC;CACJ;AA1DD,gCA0DC"}
@@ -1,9 +0,0 @@
1
- import { Answerable, Question } from '@serenity-js/core';
2
- export declare class Cookie {
3
- static valueOf(cookieName: Answerable<string>): Question<Promise<string>>;
4
- static pathOf(cookieName: Answerable<string>): Question<Promise<string>>;
5
- static domainOf(cookieName: string): Question<Promise<string>>;
6
- static isHTTPOnly(cookieName: string): Question<Promise<boolean>>;
7
- static isSecure(cookieName: string): Question<Promise<boolean>>;
8
- static expiryDateOf(cookieName: string): Question<Promise<Date>>;
9
- }
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Cookie = void 0;
4
- /* eslint-disable unicorn/consistent-function-scoping */
5
- const core_1 = require("@serenity-js/core");
6
- const abilities_1 = require("../abilities");
7
- class Cookie {
8
- static valueOf(cookieName) {
9
- return core_1.Transform.the(new CookieDetails(cookieName), details => details && details.value)
10
- .as(`the value of the "${cookieName}" cookie`);
11
- }
12
- static pathOf(cookieName) {
13
- return core_1.Transform.the(new CookieDetails(cookieName), details => details && details.path)
14
- .as(`the path of the "${cookieName}" cookie`);
15
- }
16
- static domainOf(cookieName) {
17
- return new CookieDetails(cookieName)
18
- .map(actor => details => details === null || details === void 0 ? void 0 : details.domain)
19
- .describedAs(`the domain of the "${cookieName}" cookie`);
20
- }
21
- static isHTTPOnly(cookieName) {
22
- return new CookieDetails(cookieName)
23
- .map(actor => details => details && !!details.httpOnly)
24
- .describedAs(`the HTTP-only status of the "${cookieName}" cookie`);
25
- }
26
- static isSecure(cookieName) {
27
- return new CookieDetails(cookieName)
28
- .map(actor => details => details && !!details.secure)
29
- .describedAs(`the "secure" status of the "${cookieName}" cookie`);
30
- }
31
- static expiryDateOf(cookieName) {
32
- return new CookieDetails(cookieName)
33
- .map(actor => details => (details === null || details === void 0 ? void 0 : details.expiry) && new Date(Number(details.expiry) * 1000) // expiry date coming from webdriver is expressed in seconds
34
- )
35
- .describedAs(`the expiry date of the "${cookieName}" cookie`);
36
- }
37
- }
38
- exports.Cookie = Cookie;
39
- /**
40
- * @package
41
- */
42
- class CookieDetails extends core_1.Question {
43
- constructor(name) {
44
- super(`the details of the "${name} cookie`);
45
- this.name = name;
46
- }
47
- /**
48
- * @desc
49
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
50
- * answer this {@link @serenity-js/core/lib/screenplay~Question}.
51
- *
52
- * @param {AnswersQuestions & UsesAbilities} actor
53
- * @returns {Promise<void>}
54
- *
55
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
56
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
57
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
58
- */
59
- answeredBy(actor) {
60
- return actor.answer(this.name)
61
- .then(name => abilities_1.BrowseTheWeb.as(actor).manage().getCookie(name))
62
- .then(details => details ? details : undefined);
63
- }
64
- }
65
- //# sourceMappingURL=Cookie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cookie.js","sourceRoot":"","sources":["../../../src/screenplay/questions/Cookie.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,4CAAqG;AAGrG,4CAA4C;AAE5C,MAAa,MAAM;IACf,MAAM,CAAC,OAAO,CAAC,UAA8B;QACzC,OAAO,gBAAS,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;aACnF,EAAE,CAAC,qBAAsB,UAAW,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAA8B;QACxC,OAAO,gBAAS,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;aAClF,EAAE,CAAC,oBAAqB,UAAW,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,UAAkB;QAC9B,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC;aAC/B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;aACxC,WAAW,CAAC,sBAAuB,UAAW,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,UAAkB;QAChC,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC;aAC/B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC;aACvD,WAAW,CAAC,gCAAiC,UAAW,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,UAAkB;QAC9B,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC;aAC/B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,CAAE,OAAO,CAAC,MAAM,CAAC;aACrD,WAAW,CAAC,+BAAgC,UAAW,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,UAAkB;QAClC,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC;aAC/B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CACpB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,4DAA4D;SAC1H;aACA,WAAW,CAAC,2BAA4B,UAAW,UAAU,CAAC,CAAC;IACxE,CAAC;CACJ;AApCD,wBAoCC;AAED;;GAEG;AACH,MAAM,aAAc,SAAQ,eAA0C;IAClE,YAA6B,IAAwB;QACjD,KAAK,CAAC,uBAAwB,IAAK,SAAS,CAAC,CAAC;QADrB,SAAI,GAAJ,IAAI,CAAoB;IAErD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,KAAuC;QAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aACzB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC7D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACJ"}
@@ -1,14 +0,0 @@
1
- import { Question } from '@serenity-js/core';
2
- /**
3
- * @desc
4
- * Returns the result of last script executed via {@link ExecuteScript}
5
- */
6
- export declare class LastScriptExecution {
7
- /**
8
- * @desc
9
- * Enables asserting on the result of a function executed via {@link ExecuteScript}.
10
- *
11
- * @returns {Question<R>}
12
- */
13
- static result<R>(): Question<R>;
14
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LastScriptExecution = void 0;
4
- const core_1 = require("@serenity-js/core");
5
- const abilities_1 = require("../abilities");
6
- /**
7
- * @desc
8
- * Returns the result of last script executed via {@link ExecuteScript}
9
- */
10
- class LastScriptExecution {
11
- /**
12
- * @desc
13
- * Enables asserting on the result of a function executed via {@link ExecuteScript}.
14
- *
15
- * @returns {Question<R>}
16
- */
17
- static result() {
18
- return core_1.Question.about(`last script execution result`, actor => abilities_1.BrowseTheWeb.as(actor).getLastScriptExecutionResult());
19
- }
20
- }
21
- exports.LastScriptExecution = LastScriptExecution;
22
- //# sourceMappingURL=LastScriptExecution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LastScriptExecution.js","sourceRoot":"","sources":["../../../src/screenplay/questions/LastScriptExecution.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAE7C,4CAA4C;AAE5C;;;GAGG;AACH,MAAa,mBAAmB;IAE5B;;;;;OAKG;IACH,MAAM,CAAC,MAAM;QACT,OAAO,eAAQ,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,EAAE,CAC1D,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC/D,CAAC;CACJ;AAZD,kDAYC"}
@@ -1,120 +0,0 @@
1
- import { Question } from '@serenity-js/core';
2
- import { AlertPromise } from 'selenium-webdriver';
3
- /**
4
- * @desc
5
- * Represents a modal dialog window created using
6
- * [`Window.alert()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/alert),
7
- * [`Window.prompt()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt) or
8
- * [`Window.confirm()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm).
9
- *
10
- * Check out the examples below, as well as the unit tests demonstrating the usage.
11
- *
12
- * @example <caption>Example widget</caption>
13
- * <button
14
- * data-test="trigger"
15
- * onclick="alert('Hello!')">Trigger Alert</button>
16
- *
17
- * @example <caption>Lean Page Object</caption>
18
- * import { Target } from '@serenity-js/protractor';
19
- * import { browser, by } from 'protractor';
20
- *
21
- * class Widget {
22
- * static trigger = Target.the('trigger button')
23
- * .located(by.css('[data-test="trigger"]'));
24
- * }
25
- *
26
- * @see {@link Accept}
27
- * @see {@link Dismiss}
28
- * @see {@link Enter}
29
- * @see {@link Wait}
30
- * @see {@link @serenity-js/assertions~Ensure}
31
- */
32
- export declare class ModalDialog {
33
- /**
34
- * @desc
35
- * A modal dialog window that could be {@link Accept}ed or {@link Dismiss}ed.
36
- *
37
- * If the window was created using [`Window.prompt()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt)
38
- * you can use the {@link @serenity-js/core/lib/screenplay~Interaction} to {@link Enter} with it too.
39
- *
40
- * @example <caption>Accepting an alert</caption>
41
- * import { actorCalled } from '@serenity-js/core';
42
- * import { Accept, BrowseTheWeb, Click, ModalDialog } from '@serenity-js/protractor';
43
- * import { protractor } from 'protractor';
44
- *
45
- * actorCalled('Nick')
46
- * .whoCan(BrowseTheWeb.using(protractor.browser))
47
- * .attemptsTo(
48
- * Click.on(Widget.trigger),
49
- * Accept.the(ModalDialog.window()),
50
- * );
51
- *
52
- * @see {@link Accept}
53
- * @see {@link Dismiss}
54
- * @see {@link Enter}
55
- *
56
- * @returns {@serenity-js/core/lib/screenplay~Question<AlertPromise>}
57
- */
58
- static window(): Question<AlertPromise>;
59
- /**
60
- * @desc
61
- * Resolves to `true` if the modal dialog window is present, or `false` if it's not.
62
- *
63
- * @example <caption>Verifying if a modal dialog window is present</caption>
64
- * import { actorCalled } from '@serenity-js/core';
65
- * import { BrowseTheWeb, Click, ModalDialog } from '@serenity-js/protractor';
66
- * import { Ensure, isFalse, isTrue } from '@serenity-js/assertions';
67
- * import { protractor } from 'protractor';
68
- *
69
- * actorCalled('Nick')
70
- * .whoCan(BrowseTheWeb.using(protractor.browser))
71
- * .attemptsTo(
72
- * Ensure.that(ModalDialog.hasPoppedUp(), isFalse()),
73
- * Click.on(Widget.trigger),
74
- * Ensure.that(ModalDialog.hasPoppedUp(), isTrue()),
75
- * );
76
- *
77
- * @example <caption>Waiting for a modal dialog window</caption>
78
- * import { actorCalled } from '@serenity-js/core';
79
- * import { BrowseTheWeb, Click, Dismiss, ModalDialog, Wait } from '@serenity-js/protractor';
80
- * import { isTrue } from '@serenity-js/assertions';
81
- * import { protractor } from 'protractor';
82
- *
83
- * actorCalled('Nick')
84
- * .whoCan(BrowseTheWeb.using(protractor.browser))
85
- * .attemptsTo(
86
- * Click.on(Widget.trigger),
87
- * Wait.until(ModalDialog.hasPoppedUp(), isTrue()),
88
- * Dismiss.the(ModalDialog.window()),
89
- * );
90
- *
91
- * @see {@link @serenity-js/assertions~Ensure}
92
- * @see {@link Wait}
93
- *
94
- * @returns {@serenity-js/core/lib/screenplay~Question<Promise<boolean>>}
95
- */
96
- static hasPoppedUp(): Question<Promise<boolean>>;
97
- /**
98
- * @desc
99
- * Resolves to the message displayed in the modal dialog window.
100
- *
101
- * @example <caption>Verifying the message</caption>
102
- * import { actorCalled } from '@serenity-js/core';
103
- * import { BrowseTheWeb, Click, ModalDialog } from '@serenity-js/protractor';
104
- * import { Ensure, equals } from '@serenity-js/assertions';
105
- * import { protractor } from 'protractor';
106
- *
107
- * actorCalled('Nick')
108
- * .whoCan(BrowseTheWeb.using(protractor.browser))
109
- * .attemptsTo(
110
- * Click.on(Widget.trigger),
111
- * Ensure.that(ModalDialog.message(), equals('Hello!')),
112
- * );
113
- *
114
- * @see {@link @serenity-js/assertions~Ensure}
115
- * @see {@link Wait}
116
- *
117
- * @returns {@serenity-js/core/lib/screenplay~Question<Promise<string>>}
118
- */
119
- static message(): Question<Promise<string>>;
120
- }
@@ -1,142 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModalDialog = void 0;
4
- const core_1 = require("@serenity-js/core");
5
- const selenium_webdriver_1 = require("selenium-webdriver");
6
- const promiseOf_1 = require("../../promiseOf");
7
- const abilities_1 = require("../abilities");
8
- /**
9
- * @desc
10
- * Represents a modal dialog window created using
11
- * [`Window.alert()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/alert),
12
- * [`Window.prompt()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt) or
13
- * [`Window.confirm()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm).
14
- *
15
- * Check out the examples below, as well as the unit tests demonstrating the usage.
16
- *
17
- * @example <caption>Example widget</caption>
18
- * <button
19
- * data-test="trigger"
20
- * onclick="alert('Hello!')">Trigger Alert</button>
21
- *
22
- * @example <caption>Lean Page Object</caption>
23
- * import { Target } from '@serenity-js/protractor';
24
- * import { browser, by } from 'protractor';
25
- *
26
- * class Widget {
27
- * static trigger = Target.the('trigger button')
28
- * .located(by.css('[data-test="trigger"]'));
29
- * }
30
- *
31
- * @see {@link Accept}
32
- * @see {@link Dismiss}
33
- * @see {@link Enter}
34
- * @see {@link Wait}
35
- * @see {@link @serenity-js/assertions~Ensure}
36
- */
37
- class ModalDialog {
38
- /**
39
- * @desc
40
- * A modal dialog window that could be {@link Accept}ed or {@link Dismiss}ed.
41
- *
42
- * If the window was created using [`Window.prompt()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt)
43
- * you can use the {@link @serenity-js/core/lib/screenplay~Interaction} to {@link Enter} with it too.
44
- *
45
- * @example <caption>Accepting an alert</caption>
46
- * import { actorCalled } from '@serenity-js/core';
47
- * import { Accept, BrowseTheWeb, Click, ModalDialog } from '@serenity-js/protractor';
48
- * import { protractor } from 'protractor';
49
- *
50
- * actorCalled('Nick')
51
- * .whoCan(BrowseTheWeb.using(protractor.browser))
52
- * .attemptsTo(
53
- * Click.on(Widget.trigger),
54
- * Accept.the(ModalDialog.window()),
55
- * );
56
- *
57
- * @see {@link Accept}
58
- * @see {@link Dismiss}
59
- * @see {@link Enter}
60
- *
61
- * @returns {@serenity-js/core/lib/screenplay~Question<AlertPromise>}
62
- */
63
- static window() {
64
- return core_1.Question.about(`the modal dialog window`, actor => abilities_1.BrowseTheWeb.as(actor).alert());
65
- }
66
- /**
67
- * @desc
68
- * Resolves to `true` if the modal dialog window is present, or `false` if it's not.
69
- *
70
- * @example <caption>Verifying if a modal dialog window is present</caption>
71
- * import { actorCalled } from '@serenity-js/core';
72
- * import { BrowseTheWeb, Click, ModalDialog } from '@serenity-js/protractor';
73
- * import { Ensure, isFalse, isTrue } from '@serenity-js/assertions';
74
- * import { protractor } from 'protractor';
75
- *
76
- * actorCalled('Nick')
77
- * .whoCan(BrowseTheWeb.using(protractor.browser))
78
- * .attemptsTo(
79
- * Ensure.that(ModalDialog.hasPoppedUp(), isFalse()),
80
- * Click.on(Widget.trigger),
81
- * Ensure.that(ModalDialog.hasPoppedUp(), isTrue()),
82
- * );
83
- *
84
- * @example <caption>Waiting for a modal dialog window</caption>
85
- * import { actorCalled } from '@serenity-js/core';
86
- * import { BrowseTheWeb, Click, Dismiss, ModalDialog, Wait } from '@serenity-js/protractor';
87
- * import { isTrue } from '@serenity-js/assertions';
88
- * import { protractor } from 'protractor';
89
- *
90
- * actorCalled('Nick')
91
- * .whoCan(BrowseTheWeb.using(protractor.browser))
92
- * .attemptsTo(
93
- * Click.on(Widget.trigger),
94
- * Wait.until(ModalDialog.hasPoppedUp(), isTrue()),
95
- * Dismiss.the(ModalDialog.window()),
96
- * );
97
- *
98
- * @see {@link @serenity-js/assertions~Ensure}
99
- * @see {@link Wait}
100
- *
101
- * @returns {@serenity-js/core/lib/screenplay~Question<Promise<boolean>>}
102
- */
103
- static hasPoppedUp() {
104
- return core_1.Question.about(`the modal dialog has popped up`, actor => (0, promiseOf_1.promiseOf)(abilities_1.BrowseTheWeb.as(actor).alert()).then(() => true, error => {
105
- // Based on:
106
- // https://github.com/SeleniumHQ/selenium/blob/941dc9c6b2e2aa4f701c1b72be8de03d4b7e996a/javascript/node/selenium-webdriver/lib/until.js#L107
107
- return !(error instanceof selenium_webdriver_1.error.NoSuchAlertError
108
- // XXX: Workaround for GeckoDriver error `TypeError: can't convert null
109
- // to object`. For more details, see
110
- // https://github.com/SeleniumHQ/selenium/pull/2137
111
- || (error instanceof selenium_webdriver_1.error.WebDriverError
112
- && error.message === `can't convert null to object`));
113
- }));
114
- }
115
- /**
116
- * @desc
117
- * Resolves to the message displayed in the modal dialog window.
118
- *
119
- * @example <caption>Verifying the message</caption>
120
- * import { actorCalled } from '@serenity-js/core';
121
- * import { BrowseTheWeb, Click, ModalDialog } from '@serenity-js/protractor';
122
- * import { Ensure, equals } from '@serenity-js/assertions';
123
- * import { protractor } from 'protractor';
124
- *
125
- * actorCalled('Nick')
126
- * .whoCan(BrowseTheWeb.using(protractor.browser))
127
- * .attemptsTo(
128
- * Click.on(Widget.trigger),
129
- * Ensure.that(ModalDialog.message(), equals('Hello!')),
130
- * );
131
- *
132
- * @see {@link @serenity-js/assertions~Ensure}
133
- * @see {@link Wait}
134
- *
135
- * @returns {@serenity-js/core/lib/screenplay~Question<Promise<string>>}
136
- */
137
- static message() {
138
- return core_1.Question.about(`the modal dialog message`, actor => (0, promiseOf_1.promiseOf)(abilities_1.BrowseTheWeb.as(actor).alert().getText()));
139
- }
140
- }
141
- exports.ModalDialog = ModalDialog;
142
- //# sourceMappingURL=ModalDialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModalDialog.js","sourceRoot":"","sources":["../../../src/screenplay/questions/ModalDialog.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAC7C,2DAAmE;AAEnE,+CAA4C;AAC5C,4CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAa,WAAW;IAEpB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAC,MAAM;QACT,OAAO,eAAQ,CAAC,KAAK,CAAe,yBAAyB,EAAE,KAAK,CAAC,EAAE,CACnE,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CACjC,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,MAAM,CAAC,WAAW;QACd,OAAO,eAAQ,CAAC,KAAK,CAAmB,gCAAgC,EAAE,KAAK,CAAC,EAAE,CAC9E,IAAA,qBAAS,EAAC,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YAC/D,YAAY;YACZ,4IAA4I;YAC5I,OAAO,CAAE,CAAC,KAAK,YAAY,0BAAM,CAAC,gBAAgB;gBAC9C,uEAAuE;gBACvE,oCAAoC;gBACpC,mDAAmD;mBAChD,CAAC,KAAK,YAAY,0BAAM,CAAC,cAAc;uBACnC,KAAK,CAAC,OAAO,KAAK,8BAA8B,CAAC,CAC3D,CAAC;QACN,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,OAAO;QACV,OAAO,eAAQ,CAAC,KAAK,CAAkB,0BAA0B,EAAE,KAAK,CAAC,EAAE,CACvE,IAAA,qBAAS,EAAC,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CACtD,CAAC;IACN,CAAC;CACJ;AAjHD,kCAiHC"}