@serenity-js/protractor 2.32.5 → 3.0.0-rc.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 (333) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/lib/index.d.ts +0 -2
  3. package/lib/index.js +0 -2
  4. package/lib/index.js.map +1 -1
  5. package/lib/screenplay/abilities/{BrowseTheWeb.d.ts → BrowseTheWebWithProtractor.d.ts} +52 -160
  6. package/lib/screenplay/abilities/{BrowseTheWeb.js → BrowseTheWebWithProtractor.js} +169 -218
  7. package/lib/screenplay/abilities/BrowseTheWebWithProtractor.js.map +1 -0
  8. package/lib/screenplay/abilities/index.d.ts +1 -1
  9. package/lib/screenplay/abilities/index.js +1 -1
  10. package/lib/screenplay/abilities/index.js.map +1 -1
  11. package/lib/screenplay/index.d.ts +1 -0
  12. package/lib/screenplay/index.js +1 -0
  13. package/lib/screenplay/index.js.map +1 -1
  14. package/lib/screenplay/interactions/UseAngular.js +2 -2
  15. package/lib/screenplay/interactions/UseAngular.js.map +1 -1
  16. package/lib/screenplay/interactions/index.d.ts +0 -19
  17. package/lib/screenplay/interactions/index.js +0 -19
  18. package/lib/screenplay/interactions/index.js.map +1 -1
  19. package/lib/screenplay/models/ProtractorCookie.d.ts +11 -0
  20. package/lib/screenplay/models/ProtractorCookie.js +39 -0
  21. package/lib/screenplay/models/ProtractorCookie.js.map +1 -0
  22. package/lib/screenplay/models/ProtractorModalDialog.d.ts +11 -0
  23. package/lib/screenplay/models/ProtractorModalDialog.js +43 -0
  24. package/lib/screenplay/models/ProtractorModalDialog.js.map +1 -0
  25. package/lib/screenplay/models/ProtractorNativeElementRoot.d.ts +5 -0
  26. package/lib/screenplay/{interactions/EnterBuilder.js → models/ProtractorNativeElementRoot.js} +1 -1
  27. package/lib/screenplay/models/ProtractorNativeElementRoot.js.map +1 -0
  28. package/lib/screenplay/models/ProtractorPage.d.ts +24 -0
  29. package/lib/screenplay/models/ProtractorPage.js +92 -0
  30. package/lib/screenplay/models/ProtractorPage.js.map +1 -0
  31. package/lib/screenplay/models/ProtractorPageElement.d.ts +23 -0
  32. package/lib/screenplay/models/ProtractorPageElement.js +112 -0
  33. package/lib/screenplay/models/ProtractorPageElement.js.map +1 -0
  34. package/lib/screenplay/models/ProtractorPageElements.d.ts +16 -0
  35. package/lib/screenplay/models/ProtractorPageElements.js +62 -0
  36. package/lib/screenplay/models/ProtractorPageElements.js.map +1 -0
  37. package/lib/screenplay/models/index.d.ts +6 -0
  38. package/lib/{expectations → screenplay/models}/index.js +6 -6
  39. package/lib/screenplay/models/index.js.map +1 -0
  40. package/lib/{promiseOf.d.ts → screenplay/promised.d.ts} +1 -1
  41. package/lib/{promiseOf.js → screenplay/promised.js} +4 -4
  42. package/lib/screenplay/promised.js.map +1 -0
  43. package/lib/screenplay/promisedWebElement.d.ts +11 -0
  44. package/lib/screenplay/promisedWebElement.js +27 -0
  45. package/lib/screenplay/promisedWebElement.js.map +1 -0
  46. package/lib/screenplay/questions/ProtractorParam.d.ts +24 -29
  47. package/lib/screenplay/questions/ProtractorParam.js +26 -33
  48. package/lib/screenplay/questions/ProtractorParam.js.map +1 -1
  49. package/lib/screenplay/questions/index.d.ts +0 -13
  50. package/lib/screenplay/questions/index.js +0 -16
  51. package/lib/screenplay/questions/index.js.map +1 -1
  52. package/package.json +15 -17
  53. package/src/index.ts +0 -2
  54. package/src/screenplay/abilities/{BrowseTheWeb.ts → BrowseTheWebWithProtractor.ts} +216 -241
  55. package/src/screenplay/abilities/index.ts +1 -1
  56. package/src/screenplay/index.ts +1 -0
  57. package/src/screenplay/interactions/UseAngular.ts +3 -3
  58. package/src/screenplay/interactions/index.ts +0 -19
  59. package/src/screenplay/models/ProtractorCookie.ts +41 -0
  60. package/src/screenplay/models/ProtractorModalDialog.ts +49 -0
  61. package/src/screenplay/models/ProtractorNativeElementRoot.ts +6 -0
  62. package/src/screenplay/models/ProtractorPage.ts +116 -0
  63. package/src/screenplay/models/ProtractorPageElement.ts +167 -0
  64. package/src/screenplay/models/ProtractorPageElements.ts +86 -0
  65. package/src/screenplay/models/index.ts +7 -0
  66. package/src/{promiseOf.ts → screenplay/promised.ts} +1 -1
  67. package/src/screenplay/promisedWebElement.ts +28 -0
  68. package/src/screenplay/questions/ProtractorParam.ts +29 -38
  69. package/src/screenplay/questions/index.ts +0 -13
  70. package/lib/expectations/ElementFinderExpectation.d.ts +0 -11
  71. package/lib/expectations/ElementFinderExpectation.js +0 -24
  72. package/lib/expectations/ElementFinderExpectation.js.map +0 -1
  73. package/lib/expectations/index.d.ts +0 -6
  74. package/lib/expectations/index.js.map +0 -1
  75. package/lib/expectations/isActive.d.ts +0 -13
  76. package/lib/expectations/isActive.js +0 -19
  77. package/lib/expectations/isActive.js.map +0 -1
  78. package/lib/expectations/isClickable.d.ts +0 -13
  79. package/lib/expectations/isClickable.js +0 -22
  80. package/lib/expectations/isClickable.js.map +0 -1
  81. package/lib/expectations/isEnabled.d.ts +0 -13
  82. package/lib/expectations/isEnabled.js +0 -19
  83. package/lib/expectations/isEnabled.js.map +0 -1
  84. package/lib/expectations/isPresent.d.ts +0 -14
  85. package/lib/expectations/isPresent.js +0 -20
  86. package/lib/expectations/isPresent.js.map +0 -1
  87. package/lib/expectations/isSelected.d.ts +0 -13
  88. package/lib/expectations/isSelected.js +0 -22
  89. package/lib/expectations/isSelected.js.map +0 -1
  90. package/lib/expectations/isVisible.d.ts +0 -13
  91. package/lib/expectations/isVisible.js +0 -25
  92. package/lib/expectations/isVisible.js.map +0 -1
  93. package/lib/promiseOf.js.map +0 -1
  94. package/lib/screenplay/abilities/BrowseTheWeb.js.map +0 -1
  95. package/lib/screenplay/interactions/Accept.d.ts +0 -81
  96. package/lib/screenplay/interactions/Accept.js +0 -95
  97. package/lib/screenplay/interactions/Accept.js.map +0 -1
  98. package/lib/screenplay/interactions/Clear.d.ts +0 -88
  99. package/lib/screenplay/interactions/Clear.js +0 -121
  100. package/lib/screenplay/interactions/Clear.js.map +0 -1
  101. package/lib/screenplay/interactions/Click.d.ts +0 -81
  102. package/lib/screenplay/interactions/Click.js +0 -95
  103. package/lib/screenplay/interactions/Click.js.map +0 -1
  104. package/lib/screenplay/interactions/Close.d.ts +0 -89
  105. package/lib/screenplay/interactions/Close.js +0 -169
  106. package/lib/screenplay/interactions/Close.js.map +0 -1
  107. package/lib/screenplay/interactions/DeleteCookies.d.ts +0 -72
  108. package/lib/screenplay/interactions/DeleteCookies.js +0 -149
  109. package/lib/screenplay/interactions/DeleteCookies.js.map +0 -1
  110. package/lib/screenplay/interactions/Dismiss.d.ts +0 -85
  111. package/lib/screenplay/interactions/Dismiss.js +0 -99
  112. package/lib/screenplay/interactions/Dismiss.js.map +0 -1
  113. package/lib/screenplay/interactions/DoubleClick.d.ts +0 -99
  114. package/lib/screenplay/interactions/DoubleClick.js +0 -121
  115. package/lib/screenplay/interactions/DoubleClick.js.map +0 -1
  116. package/lib/screenplay/interactions/Enter.d.ts +0 -81
  117. package/lib/screenplay/interactions/Enter.js +0 -96
  118. package/lib/screenplay/interactions/Enter.js.map +0 -1
  119. package/lib/screenplay/interactions/EnterBuilder.d.ts +0 -27
  120. package/lib/screenplay/interactions/EnterBuilder.js.map +0 -1
  121. package/lib/screenplay/interactions/ExecuteScript.d.ts +0 -171
  122. package/lib/screenplay/interactions/ExecuteScript.js +0 -291
  123. package/lib/screenplay/interactions/ExecuteScript.js.map +0 -1
  124. package/lib/screenplay/interactions/Hover.d.ts +0 -86
  125. package/lib/screenplay/interactions/Hover.js +0 -103
  126. package/lib/screenplay/interactions/Hover.js.map +0 -1
  127. package/lib/screenplay/interactions/Navigate.d.ts +0 -149
  128. package/lib/screenplay/interactions/Navigate.js +0 -345
  129. package/lib/screenplay/interactions/Navigate.js.map +0 -1
  130. package/lib/screenplay/interactions/Press.d.ts +0 -90
  131. package/lib/screenplay/interactions/Press.js +0 -127
  132. package/lib/screenplay/interactions/Press.js.map +0 -1
  133. package/lib/screenplay/interactions/PressBuilder.d.ts +0 -27
  134. package/lib/screenplay/interactions/PressBuilder.js +0 -3
  135. package/lib/screenplay/interactions/PressBuilder.js.map +0 -1
  136. package/lib/screenplay/interactions/ResizeBrowserWindow.d.ts +0 -69
  137. package/lib/screenplay/interactions/ResizeBrowserWindow.js +0 -144
  138. package/lib/screenplay/interactions/ResizeBrowserWindow.js.map +0 -1
  139. package/lib/screenplay/interactions/RightClick.d.ts +0 -97
  140. package/lib/screenplay/interactions/RightClick.js +0 -113
  141. package/lib/screenplay/interactions/RightClick.js.map +0 -1
  142. package/lib/screenplay/interactions/Scroll.d.ts +0 -83
  143. package/lib/screenplay/interactions/Scroll.js +0 -98
  144. package/lib/screenplay/interactions/Scroll.js.map +0 -1
  145. package/lib/screenplay/interactions/Select.d.ts +0 -212
  146. package/lib/screenplay/interactions/Select.js +0 -342
  147. package/lib/screenplay/interactions/Select.js.map +0 -1
  148. package/lib/screenplay/interactions/SelectBuilder.d.ts +0 -33
  149. package/lib/screenplay/interactions/SelectBuilder.js +0 -3
  150. package/lib/screenplay/interactions/SelectBuilder.js.map +0 -1
  151. package/lib/screenplay/interactions/Switch.d.ts +0 -210
  152. package/lib/screenplay/interactions/Switch.js +0 -345
  153. package/lib/screenplay/interactions/Switch.js.map +0 -1
  154. package/lib/screenplay/interactions/TakeScreenshot.d.ts +0 -67
  155. package/lib/screenplay/interactions/TakeScreenshot.js +0 -86
  156. package/lib/screenplay/interactions/TakeScreenshot.js.map +0 -1
  157. package/lib/screenplay/interactions/Wait.d.ts +0 -147
  158. package/lib/screenplay/interactions/Wait.js +0 -247
  159. package/lib/screenplay/interactions/Wait.js.map +0 -1
  160. package/lib/screenplay/interactions/WaitBuilder.d.ts +0 -33
  161. package/lib/screenplay/interactions/WaitBuilder.js +0 -3
  162. package/lib/screenplay/interactions/WaitBuilder.js.map +0 -1
  163. package/lib/screenplay/questions/Attribute.d.ts +0 -29
  164. package/lib/screenplay/questions/Attribute.js +0 -56
  165. package/lib/screenplay/questions/Attribute.js.map +0 -1
  166. package/lib/screenplay/questions/Browser.d.ts +0 -47
  167. package/lib/screenplay/questions/Browser.js +0 -55
  168. package/lib/screenplay/questions/Browser.js.map +0 -1
  169. package/lib/screenplay/questions/CSSClasses.d.ts +0 -94
  170. package/lib/screenplay/questions/CSSClasses.js +0 -118
  171. package/lib/screenplay/questions/CSSClasses.js.map +0 -1
  172. package/lib/screenplay/questions/Cookie.d.ts +0 -9
  173. package/lib/screenplay/questions/Cookie.js +0 -65
  174. package/lib/screenplay/questions/Cookie.js.map +0 -1
  175. package/lib/screenplay/questions/LastScriptExecution.d.ts +0 -14
  176. package/lib/screenplay/questions/LastScriptExecution.js +0 -22
  177. package/lib/screenplay/questions/LastScriptExecution.js.map +0 -1
  178. package/lib/screenplay/questions/ModalDialog.d.ts +0 -120
  179. package/lib/screenplay/questions/ModalDialog.js +0 -142
  180. package/lib/screenplay/questions/ModalDialog.js.map +0 -1
  181. package/lib/screenplay/questions/Pick.d.ts +0 -72
  182. package/lib/screenplay/questions/Pick.js +0 -254
  183. package/lib/screenplay/questions/Pick.js.map +0 -1
  184. package/lib/screenplay/questions/Selected.d.ts +0 -185
  185. package/lib/screenplay/questions/Selected.js +0 -254
  186. package/lib/screenplay/questions/Selected.js.map +0 -1
  187. package/lib/screenplay/questions/Value.d.ts +0 -47
  188. package/lib/screenplay/questions/Value.js +0 -67
  189. package/lib/screenplay/questions/Value.js.map +0 -1
  190. package/lib/screenplay/questions/Website.d.ts +0 -15
  191. package/lib/screenplay/questions/Website.js +0 -25
  192. package/lib/screenplay/questions/Website.js.map +0 -1
  193. package/lib/screenplay/questions/Window.d.ts +0 -23
  194. package/lib/screenplay/questions/Window.js +0 -28
  195. package/lib/screenplay/questions/Window.js.map +0 -1
  196. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.d.ts +0 -89
  197. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.js +0 -138
  198. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.js.map +0 -1
  199. package/lib/screenplay/questions/lists/index.d.ts +0 -1
  200. package/lib/screenplay/questions/lists/index.js +0 -14
  201. package/lib/screenplay/questions/lists/index.js.map +0 -1
  202. package/lib/screenplay/questions/targets/Target.d.ts +0 -168
  203. package/lib/screenplay/questions/targets/Target.js +0 -190
  204. package/lib/screenplay/questions/targets/Target.js.map +0 -1
  205. package/lib/screenplay/questions/targets/TargetElement.d.ts +0 -50
  206. package/lib/screenplay/questions/targets/TargetElement.js +0 -62
  207. package/lib/screenplay/questions/targets/TargetElement.js.map +0 -1
  208. package/lib/screenplay/questions/targets/TargetElements.d.ts +0 -102
  209. package/lib/screenplay/questions/targets/TargetElements.js +0 -124
  210. package/lib/screenplay/questions/targets/TargetElements.js.map +0 -1
  211. package/lib/screenplay/questions/targets/TargetNestedElement.d.ts +0 -49
  212. package/lib/screenplay/questions/targets/TargetNestedElement.js +0 -61
  213. package/lib/screenplay/questions/targets/TargetNestedElement.js.map +0 -1
  214. package/lib/screenplay/questions/targets/TargetNestedElements.d.ts +0 -101
  215. package/lib/screenplay/questions/targets/TargetNestedElements.js +0 -123
  216. package/lib/screenplay/questions/targets/TargetNestedElements.js.map +0 -1
  217. package/lib/screenplay/questions/targets/builders.d.ts +0 -8
  218. package/lib/screenplay/questions/targets/builders.js +0 -3
  219. package/lib/screenplay/questions/targets/builders.js.map +0 -1
  220. package/lib/screenplay/questions/targets/index.d.ts +0 -5
  221. package/lib/screenplay/questions/targets/index.js +0 -18
  222. package/lib/screenplay/questions/targets/index.js.map +0 -1
  223. package/lib/screenplay/questions/targets/override.d.ts +0 -7
  224. package/lib/screenplay/questions/targets/override.js +0 -21
  225. package/lib/screenplay/questions/targets/override.js.map +0 -1
  226. package/lib/screenplay/questions/text/Text.d.ts +0 -41
  227. package/lib/screenplay/questions/text/Text.js +0 -50
  228. package/lib/screenplay/questions/text/Text.js.map +0 -1
  229. package/lib/screenplay/questions/text/TextOfMultipleElements.d.ts +0 -23
  230. package/lib/screenplay/questions/text/TextOfMultipleElements.js +0 -37
  231. package/lib/screenplay/questions/text/TextOfMultipleElements.js.map +0 -1
  232. package/lib/screenplay/questions/text/TextOfSingleElement.d.ts +0 -23
  233. package/lib/screenplay/questions/text/TextOfSingleElement.js +0 -35
  234. package/lib/screenplay/questions/text/TextOfSingleElement.js.map +0 -1
  235. package/lib/screenplay/questions/text/index.d.ts +0 -1
  236. package/lib/screenplay/questions/text/index.js +0 -14
  237. package/lib/screenplay/questions/text/index.js.map +0 -1
  238. package/lib/screenplay/withAnswerOf.d.ts +0 -8
  239. package/lib/screenplay/withAnswerOf.js +0 -18
  240. package/lib/screenplay/withAnswerOf.js.map +0 -1
  241. package/lib/stage/crew/index.d.ts +0 -1
  242. package/lib/stage/crew/index.js +0 -14
  243. package/lib/stage/crew/index.js.map +0 -1
  244. package/lib/stage/crew/photographer/Photographer.d.ts +0 -83
  245. package/lib/stage/crew/photographer/Photographer.js +0 -102
  246. package/lib/stage/crew/photographer/Photographer.js.map +0 -1
  247. package/lib/stage/crew/photographer/index.d.ts +0 -2
  248. package/lib/stage/crew/photographer/index.js +0 -15
  249. package/lib/stage/crew/photographer/index.js.map +0 -1
  250. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +0 -28
  251. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +0 -65
  252. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +0 -1
  253. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +0 -18
  254. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +0 -30
  255. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +0 -1
  256. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +0 -17
  257. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +0 -28
  258. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +0 -1
  259. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +0 -19
  260. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +0 -28
  261. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +0 -1
  262. package/lib/stage/crew/photographer/strategies/index.d.ts +0 -4
  263. package/lib/stage/crew/photographer/strategies/index.js +0 -17
  264. package/lib/stage/crew/photographer/strategies/index.js.map +0 -1
  265. package/lib/stage/index.d.ts +0 -1
  266. package/lib/stage/index.js +0 -14
  267. package/lib/stage/index.js.map +0 -1
  268. package/src/expectations/ElementFinderExpectation.ts +0 -29
  269. package/src/expectations/index.ts +0 -6
  270. package/src/expectations/isActive.ts +0 -24
  271. package/src/expectations/isClickable.ts +0 -20
  272. package/src/expectations/isEnabled.ts +0 -18
  273. package/src/expectations/isPresent.ts +0 -19
  274. package/src/expectations/isSelected.ts +0 -23
  275. package/src/expectations/isVisible.ts +0 -27
  276. package/src/screenplay/interactions/Accept.ts +0 -95
  277. package/src/screenplay/interactions/Clear.ts +0 -130
  278. package/src/screenplay/interactions/Click.ts +0 -96
  279. package/src/screenplay/interactions/Close.ts +0 -184
  280. package/src/screenplay/interactions/DeleteCookies.ts +0 -154
  281. package/src/screenplay/interactions/Dismiss.ts +0 -99
  282. package/src/screenplay/interactions/DoubleClick.ts +0 -124
  283. package/src/screenplay/interactions/Enter.ts +0 -104
  284. package/src/screenplay/interactions/EnterBuilder.ts +0 -29
  285. package/src/screenplay/interactions/ExecuteScript.ts +0 -325
  286. package/src/screenplay/interactions/Hover.ts +0 -106
  287. package/src/screenplay/interactions/Navigate.ts +0 -363
  288. package/src/screenplay/interactions/Press.ts +0 -137
  289. package/src/screenplay/interactions/PressBuilder.ts +0 -29
  290. package/src/screenplay/interactions/ResizeBrowserWindow.ts +0 -148
  291. package/src/screenplay/interactions/RightClick.ts +0 -114
  292. package/src/screenplay/interactions/Scroll.ts +0 -99
  293. package/src/screenplay/interactions/Select.ts +0 -402
  294. package/src/screenplay/interactions/SelectBuilder.ts +0 -35
  295. package/src/screenplay/interactions/Switch.ts +0 -393
  296. package/src/screenplay/interactions/TakeScreenshot.ts +0 -89
  297. package/src/screenplay/interactions/Wait.ts +0 -267
  298. package/src/screenplay/interactions/WaitBuilder.ts +0 -35
  299. package/src/screenplay/questions/Attribute.ts +0 -67
  300. package/src/screenplay/questions/Browser.ts +0 -55
  301. package/src/screenplay/questions/CSSClasses.ts +0 -121
  302. package/src/screenplay/questions/Cookie.ts +0 -70
  303. package/src/screenplay/questions/LastScriptExecution.ts +0 -21
  304. package/src/screenplay/questions/ModalDialog.ts +0 -149
  305. package/src/screenplay/questions/Pick.ts +0 -334
  306. package/src/screenplay/questions/Selected.ts +0 -268
  307. package/src/screenplay/questions/Value.ts +0 -73
  308. package/src/screenplay/questions/Website.ts +0 -27
  309. package/src/screenplay/questions/Window.ts +0 -29
  310. package/src/screenplay/questions/lists/ElementArrayFinderListAdapter.ts +0 -158
  311. package/src/screenplay/questions/lists/index.ts +0 -1
  312. package/src/screenplay/questions/targets/Target.ts +0 -198
  313. package/src/screenplay/questions/targets/TargetElement.ts +0 -70
  314. package/src/screenplay/questions/targets/TargetElements.ts +0 -142
  315. package/src/screenplay/questions/targets/TargetNestedElement.ts +0 -71
  316. package/src/screenplay/questions/targets/TargetNestedElements.ts +0 -142
  317. package/src/screenplay/questions/targets/builders.ts +0 -10
  318. package/src/screenplay/questions/targets/index.ts +0 -5
  319. package/src/screenplay/questions/targets/override.ts +0 -17
  320. package/src/screenplay/questions/text/Text.ts +0 -55
  321. package/src/screenplay/questions/text/TextOfMultipleElements.ts +0 -40
  322. package/src/screenplay/questions/text/TextOfSingleElement.ts +0 -37
  323. package/src/screenplay/questions/text/index.ts +0 -1
  324. package/src/screenplay/withAnswerOf.ts +0 -19
  325. package/src/stage/crew/index.ts +0 -1
  326. package/src/stage/crew/photographer/Photographer.ts +0 -108
  327. package/src/stage/crew/photographer/index.ts +0 -2
  328. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +0 -102
  329. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +0 -28
  330. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +0 -26
  331. package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +0 -26
  332. package/src/stage/crew/photographer/strategies/index.ts +0 -4
  333. package/src/stage/index.ts +0 -1
@@ -10,24 +10,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./Accept"), exports);
14
- __exportStar(require("./Clear"), exports);
15
- __exportStar(require("./Click"), exports);
16
- __exportStar(require("./Close"), exports);
17
- __exportStar(require("./DeleteCookies"), exports);
18
- __exportStar(require("./Dismiss"), exports);
19
- __exportStar(require("./DoubleClick"), exports);
20
- __exportStar(require("./Enter"), exports);
21
- __exportStar(require("./ExecuteScript"), exports);
22
- __exportStar(require("./Hover"), exports);
23
- __exportStar(require("./Navigate"), exports);
24
- __exportStar(require("./Press"), exports);
25
- __exportStar(require("./ResizeBrowserWindow"), exports);
26
- __exportStar(require("./RightClick"), exports);
27
- __exportStar(require("./Scroll"), exports);
28
- __exportStar(require("./Select"), exports);
29
- __exportStar(require("./Switch"), exports);
30
- __exportStar(require("./TakeScreenshot"), exports);
31
13
  __exportStar(require("./UseAngular"), exports);
32
- __exportStar(require("./Wait"), exports);
33
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,0CAAwB;AACxB,kDAAgC;AAChC,4CAA0B;AAC1B,gDAA8B;AAC9B,0CAAwB;AACxB,kDAAgC;AAChC,0CAAwB;AACxB,6CAA2B;AAC3B,0CAAwB;AACxB,wDAAsC;AACtC,+CAA6B;AAC7B,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,mDAAiC;AACjC,+CAA6B;AAC7B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B"}
@@ -0,0 +1,11 @@
1
+ import { Cookie, CookieData } from '@serenity-js/web';
2
+ import { ProtractorBrowser } from 'protractor';
3
+ export declare class ProtractorCookie extends Cookie {
4
+ private readonly browser;
5
+ constructor(browser: ProtractorBrowser, cookieName: string);
6
+ delete(): Promise<void>;
7
+ /**
8
+ * @protected
9
+ */
10
+ protected read(): Promise<CookieData>;
11
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProtractorCookie = void 0;
4
+ const core_1 = require("@serenity-js/core");
5
+ const web_1 = require("@serenity-js/web");
6
+ const tiny_types_1 = require("tiny-types");
7
+ const promised_1 = require("../promised");
8
+ class ProtractorCookie extends web_1.Cookie {
9
+ constructor(browser, cookieName) {
10
+ super(cookieName);
11
+ this.browser = browser;
12
+ (0, tiny_types_1.ensure)('browser', browser, (0, tiny_types_1.isDefined)());
13
+ }
14
+ delete() {
15
+ return (0, promised_1.promised)(this.browser.manage().deleteCookie(this.cookieName));
16
+ }
17
+ /**
18
+ * @protected
19
+ */
20
+ async read() {
21
+ const cookie = await this.browser.manage().getCookie(this.cookieName);
22
+ if (!cookie) {
23
+ throw new web_1.CookieMissingError(`Cookie '${this.cookieName}' not set`);
24
+ }
25
+ return {
26
+ name: cookie.name,
27
+ value: cookie.value,
28
+ domain: cookie.domain,
29
+ path: cookie.path,
30
+ expiry: cookie.expiry !== undefined
31
+ ? core_1.Timestamp.fromTimestampInSeconds(Math.round(cookie.expiry))
32
+ : undefined,
33
+ httpOnly: cookie.httpOnly,
34
+ secure: cookie.secure,
35
+ };
36
+ }
37
+ }
38
+ exports.ProtractorCookie = ProtractorCookie;
39
+ //# sourceMappingURL=ProtractorCookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtractorCookie.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorCookie.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,0CAA0E;AAE1E,2CAA+C;AAE/C,0CAAuC;AAEvC,MAAa,gBAAiB,SAAQ,YAAM;IAExC,YAA6B,OAA0B,EAAE,UAAkB;QACvE,KAAK,CAAC,UAAU,CAAC,CAAC;QADO,YAAO,GAAP,OAAO,CAAmB;QAEnD,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM;QACF,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,IAAI;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,CAAE,MAAM,EAAE;YACV,MAAM,IAAI,wBAAkB,CAAC,WAAY,IAAI,CAAC,UAAW,WAAW,CAAC,CAAC;SACzE;QAED,OAAO;YACH,IAAI,EAAQ,MAAM,CAAC,IAAI;YACvB,KAAK,EAAO,MAAM,CAAC,KAAK;YACxB,MAAM,EAAM,MAAM,CAAC,MAAM;YACzB,IAAI,EAAQ,MAAM,CAAC,IAAI;YACvB,MAAM,EAAM,MAAM,CAAC,MAAM,KAAK,SAAS;gBACnC,CAAC,CAAC,gBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7D,CAAC,CAAC,SAAS;YACf,QAAQ,EAAI,MAAM,CAAC,QAAQ;YAC3B,MAAM,EAAM,MAAM,CAAC,MAAM;SAC5B,CAAA;IACL,CAAC;CACJ;AAjCD,4CAiCC"}
@@ -0,0 +1,11 @@
1
+ import { ModalDialog } from '@serenity-js/web';
2
+ import { ProtractorBrowser } from 'protractor';
3
+ export declare class ProtractorModalDialog extends ModalDialog {
4
+ private readonly browser;
5
+ constructor(browser: ProtractorBrowser);
6
+ accept(): Promise<void>;
7
+ dismiss(): Promise<void>;
8
+ text(): Promise<string>;
9
+ enterValue(value: string | number | (string | number)[]): Promise<void>;
10
+ isPresent(): Promise<boolean>;
11
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProtractorModalDialog = void 0;
4
+ const web_1 = require("@serenity-js/web");
5
+ const selenium_webdriver_1 = require("selenium-webdriver");
6
+ const promised_1 = require("../promised");
7
+ class ProtractorModalDialog extends web_1.ModalDialog {
8
+ constructor(browser) {
9
+ super();
10
+ this.browser = browser;
11
+ }
12
+ accept() {
13
+ return (0, promised_1.promised)(this.browser.switchTo().alert().accept());
14
+ }
15
+ dismiss() {
16
+ return (0, promised_1.promised)(this.browser.switchTo().alert().dismiss());
17
+ }
18
+ text() {
19
+ return (0, promised_1.promised)(this.browser.switchTo().alert().getText());
20
+ }
21
+ async enterValue(value) {
22
+ const text = [].concat(value).join('');
23
+ await (0, promised_1.promised)(this.browser.switchTo().alert().sendKeys(text));
24
+ await (0, promised_1.promised)(this.browser.switchTo().alert().accept());
25
+ }
26
+ // todo: remove in favour of auto-wait in the above methods
27
+ isPresent() {
28
+ return (0, promised_1.promised)(this.browser.switchTo().alert())
29
+ .then(() => true, error => {
30
+ // Based on:
31
+ // https://github.com/SeleniumHQ/selenium/blob/941dc9c6b2e2aa4f701c1b72be8de03d4b7e996a/javascript/node/selenium-webdriver/lib/until.js#L107
32
+ return error instanceof Error &&
33
+ !(error.name === selenium_webdriver_1.error.NoSuchAlertError.name
34
+ // XXX: Workaround for GeckoDriver error `TypeError: can't convert null
35
+ // to object`. For more details, see
36
+ // https://github.com/SeleniumHQ/selenium/pull/2137
37
+ || (error.name === selenium_webdriver_1.error.WebDriverError.name
38
+ && error.message === `can't convert null to object`));
39
+ });
40
+ }
41
+ }
42
+ exports.ProtractorModalDialog = ProtractorModalDialog;
43
+ //# sourceMappingURL=ProtractorModalDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtractorModalDialog.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorModalDialog.ts"],"names":[],"mappings":";;;AAAA,0CAA+C;AAE/C,2DAAqD;AAErD,0CAAuC;AAEvC,MAAa,qBAAsB,SAAQ,iBAAW;IAElD,YAA6B,OAA0B;QACnD,KAAK,EAAE,CAAC;QADiB,YAAO,GAAP,OAAO,CAAmB;IAEvD,CAAC;IAED,MAAM;QACF,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACH,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI;QACA,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAA4C;QACzD,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,2DAA2D;IAC3D,SAAS;QACL,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC;aAC3C,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YAEtB,YAAY;YACZ,4IAA4I;YAC5I,OAAO,KAAK,YAAY,KAAK;gBACzB,CAAE,CACE,KAAK,CAAC,IAAI,KAAK,0BAAM,CAAC,gBAAgB,CAAC,IAAI;oBAC3C,uEAAuE;oBACvE,oCAAoC;oBACpC,mDAAmD;uBAChD,CAAC,KAAK,CAAC,IAAI,KAAK,0BAAM,CAAC,cAAc,CAAC,IAAI;2BACtC,KAAK,CAAC,OAAO,KAAK,8BAA8B,CAAC,CAC3D,CAAC;QACV,CAAC,CAAC,CAAC;IACX,CAAC;CACJ;AA1CD,sDA0CC"}
@@ -0,0 +1,5 @@
1
+ import { ElementArrayFinder, ElementFinder, Locator } from 'protractor';
2
+ export interface ProtractorNativeElementRoot {
3
+ element: (selector: Locator) => ElementFinder;
4
+ all: (selector: Locator) => ElementArrayFinder;
5
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=EnterBuilder.js.map
3
+ //# sourceMappingURL=ProtractorNativeElementRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtractorNativeElementRoot.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorNativeElementRoot.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ /// <reference types="node" />
2
+ import { Page } from '@serenity-js/web';
3
+ import { ProtractorBrowser } from 'protractor';
4
+ import { URL } from 'url';
5
+ export declare class ProtractorPage extends Page {
6
+ private readonly browser;
7
+ constructor(browser: ProtractorBrowser, handle: string);
8
+ title(): Promise<string>;
9
+ name(): Promise<string>;
10
+ url(): Promise<URL>;
11
+ viewportSize(): Promise<{
12
+ width: number;
13
+ height: number;
14
+ }>;
15
+ setViewportSize(size: {
16
+ width: number;
17
+ height: number;
18
+ }): Promise<void>;
19
+ close(): Promise<void>;
20
+ closeOthers(): Promise<void>;
21
+ isPresent(): Promise<boolean>;
22
+ switchTo(): Promise<void>;
23
+ private switchToAndPerform;
24
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProtractorPage = void 0;
4
+ const web_1 = require("@serenity-js/web");
5
+ const url_1 = require("url");
6
+ const promised_1 = require("../promised");
7
+ class ProtractorPage extends web_1.Page {
8
+ constructor(browser, handle) {
9
+ super(handle);
10
+ this.browser = browser;
11
+ }
12
+ title() {
13
+ return this.switchToAndPerform(async (browser) => {
14
+ return (0, promised_1.promised)(browser.getTitle());
15
+ });
16
+ }
17
+ name() {
18
+ return this.switchToAndPerform(async (browser) => {
19
+ return (0, promised_1.promised)(browser.executeScript('return window.name'));
20
+ });
21
+ }
22
+ url() {
23
+ return this.switchToAndPerform(async (browser) => {
24
+ return new url_1.URL(await (0, promised_1.promised)(browser.getCurrentUrl()));
25
+ });
26
+ }
27
+ async viewportSize() {
28
+ return this.switchToAndPerform(async (browser) => {
29
+ const calculatedViewportSize = await (0, promised_1.promised)(browser.executeScript(`return {
30
+ width: Math.max(document.documentElement.clientWidth, window.innerWidth || 0),
31
+ height: Math.max(document.documentElement.clientHeight, window.innerHeight || 0)
32
+ };`));
33
+ if (calculatedViewportSize.width > 0 && calculatedViewportSize.height > 0) {
34
+ return calculatedViewportSize;
35
+ }
36
+ // Chrome headless hard-codes window.innerWidth and window.innerHeight to 0
37
+ return (0, promised_1.promised)(browser.manage().window().getSize());
38
+ });
39
+ }
40
+ async setViewportSize(size) {
41
+ return this.switchToAndPerform(async (browser) => {
42
+ const desiredWindowSize = await (0, promised_1.promised)(browser.executeScript(`
43
+ var currentViewportWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)
44
+ var currentViewportHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0)
45
+
46
+ return {
47
+ width: Math.max(window.outerWidth - currentViewportWidth + ${size.width}, ${size.width}),
48
+ height: Math.max(window.outerHeight - currentViewportHeight + ${size.height}, ${size.height}),
49
+ };
50
+ `));
51
+ return (0, promised_1.promised)(browser.manage().window().setSize(desiredWindowSize.width, desiredWindowSize.height));
52
+ });
53
+ }
54
+ async close() {
55
+ return this.switchToAndPerform(browser => (0, promised_1.promised)(browser.close()));
56
+ }
57
+ async closeOthers() {
58
+ const windowHandles = await this.browser.getAllWindowHandles();
59
+ for (const handle of windowHandles) {
60
+ if (handle !== this.handle) {
61
+ await this.browser.switchTo().window(handle);
62
+ await this.browser.close();
63
+ }
64
+ }
65
+ await this.browser.switchTo().window(this.handle);
66
+ }
67
+ async isPresent() {
68
+ const currentPageHandle = await this.browser.getWindowHandle();
69
+ const desiredPageHandle = this.handle;
70
+ const isOpen = await this.browser.switchTo().window(desiredPageHandle).then(() => true, _error => false);
71
+ await this.browser.switchTo().window(currentPageHandle);
72
+ return isOpen;
73
+ }
74
+ async switchTo() {
75
+ await this.browser.switchTo().window(this.handle);
76
+ }
77
+ async switchToAndPerform(action) {
78
+ const originalPageHandle = await this.browser.getWindowHandle();
79
+ const desiredPageHandle = this.handle;
80
+ const shouldSwitch = originalPageHandle !== desiredPageHandle;
81
+ if (shouldSwitch) {
82
+ await this.browser.switchTo().window(desiredPageHandle);
83
+ }
84
+ const result = await action(this.browser);
85
+ if (shouldSwitch) {
86
+ await this.browser.switchTo().window(originalPageHandle);
87
+ }
88
+ return result;
89
+ }
90
+ }
91
+ exports.ProtractorPage = ProtractorPage;
92
+ //# sourceMappingURL=ProtractorPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtractorPage.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { PageElement } from '@serenity-js/web';
2
+ import { ElementFinder } from 'protractor';
3
+ import { ProtractorNativeElementRoot } from './ProtractorNativeElementRoot';
4
+ export declare class ProtractorPageElement extends PageElement<ProtractorNativeElementRoot, ElementFinder> {
5
+ constructor(context: () => Promise<ProtractorNativeElementRoot> | ProtractorNativeElementRoot, locator: (root: ProtractorNativeElementRoot) => Promise<ElementFinder> | ElementFinder);
6
+ of(parent: ProtractorPageElement): PageElement<ProtractorNativeElementRoot, ElementFinder>;
7
+ clearValue(): Promise<void>;
8
+ click(): Promise<void>;
9
+ doubleClick(): Promise<void>;
10
+ enterValue(value: string | number | Array<string | number>): Promise<void>;
11
+ scrollIntoView(): Promise<void>;
12
+ hoverOver(): Promise<void>;
13
+ rightClick(): Promise<void>;
14
+ attribute(name: string): Promise<string>;
15
+ text(): Promise<string>;
16
+ value(): Promise<string>;
17
+ isActive(): Promise<boolean>;
18
+ isClickable(): Promise<boolean>;
19
+ isDisplayed(): Promise<boolean>;
20
+ isEnabled(): Promise<boolean>;
21
+ isPresent(): Promise<boolean>;
22
+ isSelected(): Promise<boolean>;
23
+ }
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProtractorPageElement = void 0;
4
+ const web_1 = require("@serenity-js/web");
5
+ const protractor_1 = require("protractor");
6
+ const promised_1 = require("../promised");
7
+ const promisedWebElement_1 = require("../promisedWebElement");
8
+ class ProtractorPageElement extends web_1.PageElement {
9
+ constructor(context, locator) {
10
+ super(context, context => {
11
+ return (0, promisedWebElement_1.promisedWebElement)(locator(context));
12
+ });
13
+ }
14
+ of(parent) {
15
+ return new ProtractorPageElement(() => parent.nativeElement(), this.locator);
16
+ }
17
+ async clearValue() {
18
+ function removeCharactersFrom(elf, numberOfCharacters) {
19
+ return numberOfCharacters === 0
20
+ ? Promise.resolve(void 0)
21
+ : elf.sendKeys(protractor_1.protractor.Key.END, ...times(numberOfCharacters, protractor_1.protractor.Key.BACK_SPACE));
22
+ }
23
+ // eslint-disable-next-line unicorn/consistent-function-scoping
24
+ function times(length, key) {
25
+ return Array.from({ length }).map(() => key);
26
+ }
27
+ const currentValue = await this.value();
28
+ if (currentValue !== null && currentValue !== undefined) {
29
+ const element = await this.nativeElement();
30
+ return removeCharactersFrom(element, currentValue.length);
31
+ }
32
+ }
33
+ async click() {
34
+ const element = await this.nativeElement();
35
+ return element.click();
36
+ }
37
+ async doubleClick() {
38
+ const element = await this.nativeElement();
39
+ const webElement = await element.getWebElement();
40
+ return (0, promised_1.promised)(webElement.getDriver().actions()
41
+ .mouseMove(webElement)
42
+ .doubleClick()
43
+ .perform());
44
+ }
45
+ async enterValue(value) {
46
+ const element = await this.nativeElement();
47
+ return element.sendKeys([].concat(value).join(''));
48
+ }
49
+ async scrollIntoView() {
50
+ const element = await this.nativeElement();
51
+ const webElement = await element.getWebElement();
52
+ return (0, promised_1.promised)(webElement.getDriver().executeScript('arguments[0].scrollIntoView(true);', webElement));
53
+ }
54
+ async hoverOver() {
55
+ const element = await this.nativeElement();
56
+ const webElement = await element.getWebElement();
57
+ return (0, promised_1.promised)(webElement.getDriver().actions()
58
+ .mouseMove(webElement)
59
+ .perform());
60
+ }
61
+ async rightClick() {
62
+ const element = await this.nativeElement();
63
+ const webElement = await element.getWebElement();
64
+ return (0, promised_1.promised)(webElement.getDriver().actions()
65
+ .mouseMove(webElement)
66
+ .click(protractor_1.protractor.Button.RIGHT)
67
+ .perform());
68
+ }
69
+ async attribute(name) {
70
+ const element = await this.nativeElement();
71
+ return element.getAttribute(name);
72
+ }
73
+ async text() {
74
+ const element = await this.nativeElement();
75
+ return element.getText();
76
+ }
77
+ async value() {
78
+ const element = await this.nativeElement();
79
+ const webElement = await element.getWebElement();
80
+ return (0, promised_1.promised)(webElement.getDriver().executeScript(
81
+ /* istanbul ignore next */
82
+ function getValue(webElement) {
83
+ return webElement.value;
84
+ }, webElement));
85
+ }
86
+ async isActive() {
87
+ const element = await this.nativeElement();
88
+ const webElement = await element.getWebElement();
89
+ return webElement.getDriver().switchTo().activeElement().then((active) => element.equals(active));
90
+ }
91
+ async isClickable() {
92
+ return this.isEnabled();
93
+ }
94
+ async isDisplayed() {
95
+ const element = await this.nativeElement();
96
+ return element.isDisplayed();
97
+ }
98
+ async isEnabled() {
99
+ const element = await this.nativeElement();
100
+ return element.isEnabled();
101
+ }
102
+ async isPresent() {
103
+ const element = await this.nativeElement();
104
+ return element.isPresent();
105
+ }
106
+ async isSelected() {
107
+ const element = await this.nativeElement();
108
+ return element.isSelected();
109
+ }
110
+ }
111
+ exports.ProtractorPageElement = ProtractorPageElement;
112
+ //# sourceMappingURL=ProtractorPageElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtractorPageElement.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPageElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { PageElement, PageElements } from '@serenity-js/web';
2
+ import { ElementArrayFinder, ElementFinder } from 'protractor';
3
+ import { ProtractorNativeElementRoot } from './ProtractorNativeElementRoot';
4
+ import { ProtractorPageElement } from './ProtractorPageElement';
5
+ export declare class ProtractorPageElements extends PageElements<ProtractorNativeElementRoot, ElementArrayFinder, ElementFinder> {
6
+ constructor(context: () => Promise<ProtractorNativeElementRoot> | ProtractorNativeElementRoot, locator: (root: ProtractorNativeElementRoot) => Promise<ElementArrayFinder> | ElementArrayFinder);
7
+ of(parent: PageElement<ProtractorNativeElementRoot, ElementFinder>): ProtractorPageElements;
8
+ count(): Promise<number>;
9
+ first(): Promise<ProtractorPageElement>;
10
+ last(): Promise<ProtractorPageElement>;
11
+ get(index: number): Promise<ProtractorPageElement>;
12
+ map<O>(fn: (element: PageElement, index?: number, elements?: PageElements) => Promise<O> | O): Promise<O[]>;
13
+ filter(fn: (element: PageElement, index?: number) => Promise<boolean> | boolean): PageElements;
14
+ forEach(fn: (element: PageElement, index?: number, elements?: PageElements) => Promise<void> | void): Promise<void>;
15
+ private asElement;
16
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProtractorPageElements = void 0;
4
+ const core_1 = require("@serenity-js/core");
5
+ const web_1 = require("@serenity-js/web");
6
+ const promisedWebElement_1 = require("../promisedWebElement");
7
+ const ProtractorPageElement_1 = require("./ProtractorPageElement");
8
+ class ProtractorPageElements extends web_1.PageElements {
9
+ constructor(context, locator) {
10
+ super(context, async (context) => {
11
+ return (0, promisedWebElement_1.promisedWebElement)(locator(context));
12
+ });
13
+ }
14
+ of(parent) {
15
+ return new ProtractorPageElements(() => parent.nativeElement(), this.locator);
16
+ }
17
+ async count() {
18
+ const elements = await this.nativeElementList();
19
+ return elements.count();
20
+ }
21
+ async first() {
22
+ const elements = await this.nativeElementList();
23
+ return this.asElement(elements.first());
24
+ }
25
+ async last() {
26
+ const elements = await this.nativeElementList();
27
+ return this.asElement(elements.last());
28
+ }
29
+ async get(index) {
30
+ const elements = await this.nativeElementList();
31
+ if (!elements.get(index)) {
32
+ throw new core_1.LogicError(`There's no item at index ${index}`);
33
+ }
34
+ return this.asElement(elements.get(index));
35
+ }
36
+ async map(fn) {
37
+ const elements = await this.nativeElementList();
38
+ return elements.map((element, i) => fn(new ProtractorPageElement_1.ProtractorPageElement(this.context, _context => element), i, this));
39
+ }
40
+ filter(fn) {
41
+ return new ProtractorPageElements(this.context, async (context) => {
42
+ const elements = await this.locator(context);
43
+ const result = elements.filter(async (nativeElement, index) => {
44
+ const element = new ProtractorPageElement_1.ProtractorPageElement(this.context, _context => nativeElement);
45
+ const result = await fn(element, index);
46
+ return result;
47
+ });
48
+ return (0, promisedWebElement_1.promisedWebElement)(result);
49
+ });
50
+ }
51
+ async forEach(fn) {
52
+ const elements = await this.nativeElementList();
53
+ return elements.each((element, index) => {
54
+ return fn(new ProtractorPageElement_1.ProtractorPageElement(this.context, _context => element), index, this);
55
+ });
56
+ }
57
+ asElement(elementFinder) {
58
+ return new ProtractorPageElement_1.ProtractorPageElement(this.context, _context => elementFinder);
59
+ }
60
+ }
61
+ exports.ProtractorPageElements = ProtractorPageElements;
62
+ //# sourceMappingURL=ProtractorPageElements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtractorPageElements.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorPageElements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './ProtractorCookie';
2
+ export * from './ProtractorModalDialog';
3
+ export * from './ProtractorNativeElementRoot';
4
+ export * from './ProtractorPage';
5
+ export * from './ProtractorPageElement';
6
+ export * from './ProtractorPageElements';
@@ -10,10 +10,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./isActive"), exports);
14
- __exportStar(require("./isClickable"), exports);
15
- __exportStar(require("./isEnabled"), exports);
16
- __exportStar(require("./isPresent"), exports);
17
- __exportStar(require("./isSelected"), exports);
18
- __exportStar(require("./isVisible"), exports);
13
+ __exportStar(require("./ProtractorCookie"), exports);
14
+ __exportStar(require("./ProtractorModalDialog"), exports);
15
+ __exportStar(require("./ProtractorNativeElementRoot"), exports);
16
+ __exportStar(require("./ProtractorPage"), exports);
17
+ __exportStar(require("./ProtractorPageElement"), exports);
18
+ __exportStar(require("./ProtractorPageElements"), exports);
19
19
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAmC;AACnC,0DAAwC;AACxC,gEAA8C;AAC9C,mDAAiC;AACjC,0DAAwC;AACxC,2DAAyC"}
@@ -7,4 +7,4 @@
7
7
  * @param promiseLike
8
8
  * @returns {Promise<T>}
9
9
  */
10
- export declare function promiseOf<T>(promiseLike: PromiseLike<T>): Promise<T>;
10
+ export declare function promised<T>(promiseLike: PromiseLike<T>): Promise<T>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.promiseOf = void 0;
3
+ exports.promised = void 0;
4
4
  /**
5
5
  * @desc
6
6
  * Wraps Webdriver promise into a Node-native promise to allow for correct promise chaining.
@@ -10,10 +10,10 @@ exports.promiseOf = void 0;
10
10
  * @param promiseLike
11
11
  * @returns {Promise<T>}
12
12
  */
13
- function promiseOf(promiseLike) {
13
+ function promised(promiseLike) {
14
14
  return new Promise((resolve, reject) => {
15
15
  promiseLike.then(resolve, reject);
16
16
  });
17
17
  }
18
- exports.promiseOf = promiseOf;
19
- //# sourceMappingURL=promiseOf.js.map
18
+ exports.promised = promised;
19
+ //# sourceMappingURL=promised.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promised.js","sourceRoot":"","sources":["../../src/screenplay/promised.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAI,WAA2B;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC;AAJD,4BAIC"}
@@ -0,0 +1,11 @@
1
+ import { WebElement } from 'protractor';
2
+ /**
3
+ * @desc
4
+ * Wraps Webdriver then-ables into a Node-native promise to allow for correct promise chaining.
5
+ *
6
+ * @private
7
+ *
8
+ * @param promiseLike
9
+ * @returns {Promise<T>}
10
+ */
11
+ export declare function promisedWebElement<T extends WebElement>(promiseLike: PromiseLike<T> | T): Promise<T>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.promisedWebElement = void 0;
4
+ /**
5
+ * @desc
6
+ * Wraps Webdriver then-ables into a Node-native promise to allow for correct promise chaining.
7
+ *
8
+ * @private
9
+ *
10
+ * @param promiseLike
11
+ * @returns {Promise<T>}
12
+ */
13
+ function promisedWebElement(promiseLike) {
14
+ if (promiseLike instanceof Promise) {
15
+ return promiseLike;
16
+ }
17
+ return Promise.resolve(new Proxy(promiseLike, {
18
+ has: (target, property) => property !== 'then',
19
+ ownKeys: (target) => Reflect.ownKeys(target)
20
+ .filter(property => property !== 'then'),
21
+ get: (target, property, receiver) => (property in receiver)
22
+ ? target[property]
23
+ : undefined,
24
+ }));
25
+ }
26
+ exports.promisedWebElement = promisedWebElement;
27
+ //# sourceMappingURL=promisedWebElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promisedWebElement.js","sourceRoot":"","sources":["../../src/screenplay/promisedWebElement.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAAuB,WAA+B;IACpF,IAAI,WAAW,YAAY,OAAO,EAAE;QAChC,OAAO,WAAW,CAAC;KACtB;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE;QAC1C,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CACtB,QAAQ,KAAK,MAAM;QACvB,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAChB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC;QAChD,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAChC,CAAC,QAAQ,IAAI,QAAQ,CAAC;YAClB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClB,CAAC,CAAC,SAAS;KACtB,CAAC,CAAC,CAAC;AACR,CAAC;AAhBD,gDAgBC"}