@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
@@ -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,10 @@
1
+ import { Frame, Locator } from '@serenity-js/web';
2
+ import { ElementFinder, ProtractorBrowser } from 'protractor';
3
+ export declare class ProtractorFrame extends Frame<ElementFinder> {
4
+ private readonly browser;
5
+ constructor(browser: ProtractorBrowser, locator: Locator<ElementFinder>);
6
+ isPresent(): Promise<boolean>;
7
+ switchTo(): Promise<{
8
+ switchBack(): Promise<void>;
9
+ }>;
10
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProtractorFrame = void 0;
4
+ const core_1 = require("@serenity-js/core");
5
+ const web_1 = require("@serenity-js/web");
6
+ class ProtractorFrame extends web_1.Frame {
7
+ constructor(browser, locator) {
8
+ super(locator);
9
+ this.browser = browser;
10
+ }
11
+ async isPresent() {
12
+ const element = await this.locator.nativeElement();
13
+ return element.isPresent();
14
+ }
15
+ async switchTo() {
16
+ const element = await this.locator.nativeElement();
17
+ let webElement;
18
+ try {
19
+ // https://github.com/angular/protractor/issues/1846#issuecomment-82634739;
20
+ webElement = await element.getWebElement();
21
+ }
22
+ catch (error) {
23
+ throw new core_1.LogicError(`Couldn't locate frame ${this.locator}`, error);
24
+ }
25
+ try {
26
+ await this.browser.switchTo().frame(webElement);
27
+ return {
28
+ switchBack: async () => {
29
+ await this.browser.driver.switchToParentFrame();
30
+ }
31
+ };
32
+ }
33
+ catch (error) {
34
+ throw new core_1.LogicError(`Couldn't switch to a frame located ${this.locator}`, error);
35
+ }
36
+ }
37
+ }
38
+ exports.ProtractorFrame = ProtractorFrame;
39
+ //# sourceMappingURL=ProtractorFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtractorFrame.js","sourceRoot":"","sources":["../../../src/screenplay/models/ProtractorFrame.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAC/C,0CAAkD;AAGlD,MAAa,eAAgB,SAAQ,WAAoB;IACrD,YACqB,OAA0B,EAC3C,OAA+B;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHE,YAAO,GAAP,OAAO,CAAmB;IAI/C,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,OAAO,GAAkB,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAElE,OAAO,OAAO,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,OAAO,GAAkB,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;QAEjE,IAAI,UAAsB,CAAC;QAE3B,IAAI;YACA,2EAA2E;YAC3E,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;SAC9C;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,IAAI,iBAAU,CAAC,yBAA0B,IAAI,CAAC,OAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;SAC1E;QAED,IAAI;YACA,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAEhD,OAAO;gBACH,UAAU,EAAE,KAAK,IAAmB,EAAE;oBAClC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBACpD,CAAC;aACJ,CAAA;SACJ;QACD,OAAO,KAAK,EAAE;YACV,MAAM,IAAI,iBAAU,CAAC,sCAAuC,IAAI,CAAC,OAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;SACvF;IACL,CAAC;CACJ;AAvCD,0CAuCC"}
@@ -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,26 @@
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<{
23
+ switchBack(): Promise<void>;
24
+ }>;
25
+ private switchToAndPerform;
26
+ }
@@ -0,0 +1,98 @@
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
+ const originalWindowHandle = await this.browser.getWindowHandle();
76
+ await this.browser.switchTo().window(this.handle);
77
+ return {
78
+ switchBack: async () => {
79
+ await this.browser.switchTo().window(originalWindowHandle);
80
+ }
81
+ };
82
+ }
83
+ async switchToAndPerform(action) {
84
+ const originalPageHandle = await this.browser.getWindowHandle();
85
+ const desiredPageHandle = this.handle;
86
+ const shouldSwitch = originalPageHandle !== desiredPageHandle;
87
+ if (shouldSwitch) {
88
+ await this.browser.switchTo().window(desiredPageHandle);
89
+ }
90
+ const result = await action(this.browser);
91
+ if (shouldSwitch) {
92
+ await this.browser.switchTo().window(originalPageHandle);
93
+ }
94
+ return result;
95
+ }
96
+ }
97
+ exports.ProtractorPage = ProtractorPage;
98
+ //# 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,21 @@
1
+ import { PageElement } from '@serenity-js/web';
2
+ import { ElementFinder } from 'protractor';
3
+ export declare class ProtractorPageElement extends PageElement<ElementFinder> {
4
+ of(parent: ProtractorPageElement): PageElement<ElementFinder>;
5
+ clearValue(): Promise<void>;
6
+ click(): Promise<void>;
7
+ doubleClick(): Promise<void>;
8
+ enterValue(value: string | number | Array<string | number>): Promise<void>;
9
+ scrollIntoView(): Promise<void>;
10
+ hoverOver(): Promise<void>;
11
+ rightClick(): Promise<void>;
12
+ attribute(name: string): Promise<string>;
13
+ text(): Promise<string>;
14
+ value(): Promise<string>;
15
+ isActive(): Promise<boolean>;
16
+ isClickable(): Promise<boolean>;
17
+ isEnabled(): Promise<boolean>;
18
+ isPresent(): Promise<boolean>;
19
+ isSelected(): Promise<boolean>;
20
+ isVisible(): Promise<boolean>;
21
+ }
@@ -0,0 +1,230 @@
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
+ class ProtractorPageElement extends web_1.PageElement {
8
+ of(parent) {
9
+ return new ProtractorPageElement(this.locator.of(parent.locator));
10
+ }
11
+ async clearValue() {
12
+ function removeCharactersFrom(elf, numberOfCharacters) {
13
+ return numberOfCharacters === 0
14
+ ? Promise.resolve(void 0)
15
+ : elf.sendKeys(protractor_1.protractor.Key.END, ...times(numberOfCharacters, protractor_1.protractor.Key.BACK_SPACE));
16
+ }
17
+ // eslint-disable-next-line unicorn/consistent-function-scoping
18
+ function times(length, key) {
19
+ return Array.from({ length }).map(() => key);
20
+ }
21
+ const currentValue = await this.value();
22
+ if (currentValue !== null && currentValue !== undefined) {
23
+ const element = await this.nativeElement();
24
+ return removeCharactersFrom(element, currentValue.length);
25
+ }
26
+ }
27
+ async click() {
28
+ const element = await this.nativeElement();
29
+ return element.click();
30
+ }
31
+ async doubleClick() {
32
+ const element = await this.nativeElement();
33
+ const webElement = await element.getWebElement();
34
+ return (0, promised_1.promised)(webElement.getDriver().actions()
35
+ .mouseMove(webElement)
36
+ .doubleClick()
37
+ .perform());
38
+ }
39
+ async enterValue(value) {
40
+ const element = await this.nativeElement();
41
+ return element.sendKeys([].concat(value).join(''));
42
+ }
43
+ async scrollIntoView() {
44
+ const element = await this.nativeElement();
45
+ const webElement = await element.getWebElement();
46
+ return (0, promised_1.promised)(webElement.getDriver().executeScript('arguments[0].scrollIntoView(true);', webElement));
47
+ }
48
+ async hoverOver() {
49
+ const element = await this.nativeElement();
50
+ const webElement = await element.getWebElement();
51
+ return (0, promised_1.promised)(webElement.getDriver().actions()
52
+ .mouseMove(webElement)
53
+ .perform());
54
+ }
55
+ async rightClick() {
56
+ const element = await this.nativeElement();
57
+ const webElement = await element.getWebElement();
58
+ return (0, promised_1.promised)(webElement.getDriver().actions()
59
+ .mouseMove(webElement)
60
+ .click(protractor_1.protractor.Button.RIGHT)
61
+ .perform());
62
+ }
63
+ async attribute(name) {
64
+ const element = await this.nativeElement();
65
+ return element.getAttribute(name);
66
+ }
67
+ async text() {
68
+ const element = await this.nativeElement();
69
+ return element.getText();
70
+ }
71
+ async value() {
72
+ const element = await this.nativeElement();
73
+ const webElement = await element.getWebElement();
74
+ return (0, promised_1.promised)(webElement.getDriver().executeScript(
75
+ /* istanbul ignore next */
76
+ function getValue(webElement) {
77
+ return webElement.value;
78
+ }, webElement));
79
+ }
80
+ async isActive() {
81
+ const element = await this.nativeElement();
82
+ const webElement = await element.getWebElement();
83
+ return webElement.getDriver().switchTo().activeElement().then((active) => element.equals(active));
84
+ }
85
+ async isClickable() {
86
+ return this.isEnabled();
87
+ }
88
+ async isEnabled() {
89
+ const element = await this.nativeElement();
90
+ return element.isEnabled();
91
+ }
92
+ async isPresent() {
93
+ const element = await this.nativeElement();
94
+ return element.isPresent();
95
+ }
96
+ async isSelected() {
97
+ const element = await this.nativeElement();
98
+ return element.isSelected();
99
+ }
100
+ async isVisible() {
101
+ const element = await this.nativeElement();
102
+ if (!await element.isDisplayed()) {
103
+ return false;
104
+ }
105
+ const webElement = await element.getWebElement();
106
+ // get element at cx/cy and see if the element we found is our element, and therefore it's visible.
107
+ return (0, promised_1.promised)(webElement.getDriver().executeScript(`
108
+ var element = arguments[0];
109
+
110
+ if (!element.getBoundingClientRect || !element.scrollIntoView || !element.contains || !element.getClientRects || !document.elementFromPoint) {
111
+ return false
112
+ }
113
+
114
+ // Edge before switching to Chromium
115
+ const isOldEdge = !!window['StyleMedia']
116
+ // returns true for Chrome and Firefox and false for Safari, Edge and IE
117
+ const scrollIntoViewFullSupport = !(window.safari || isOldEdge)
118
+
119
+ // get overlapping element
120
+ function getOverlappingElement (elem, context) {
121
+ context = context || document
122
+ const elemDimension = elem.getBoundingClientRect()
123
+ const x = elemDimension.left + (elem.clientWidth / 2)
124
+ const y = elemDimension.top + (elem.clientHeight / 2)
125
+ return context.elementFromPoint(x, y)
126
+ }
127
+
128
+ // get overlapping element rects (currently only the first)
129
+ // applicable if element's text is multiline.
130
+ function getOverlappingRects (elem, context) {
131
+ context = context || document
132
+ const elems = []
133
+
134
+ const rects = elem.getClientRects()
135
+ // webdriver clicks on center of the first element's rect (line of text), it might change in future
136
+ const rect = rects[0]
137
+ const x = rect.left + (rect.width / 2)
138
+ const y = rect.top + (rect.height / 2)
139
+ elems.push(context.elementFromPoint(x, y))
140
+
141
+ return elems
142
+ }
143
+
144
+ // get overlapping elements
145
+ function getOverlappingElements (elem, context) {
146
+ return [getOverlappingElement(elem, context)].concat(getOverlappingRects(elem, context))
147
+ }
148
+
149
+ // is a node a descendant of a given node
150
+ function nodeContains (elem, otherNode) {
151
+ // Edge doesn't support neither Shadow Dom nor contains if ShadowRoot polyfill is used
152
+ if (isOldEdge) {
153
+ let tmpElement = otherNode
154
+ while (tmpElement) {
155
+ if (tmpElement === elem) {
156
+ return true
157
+ }
158
+
159
+ tmpElement = tmpElement.parentNode
160
+ // DocumentFragment / ShadowRoot polyfill like ShadyRoot
161
+ if (tmpElement && tmpElement.nodeType === 11 && tmpElement.host) {
162
+ tmpElement = tmpElement.host
163
+ }
164
+ }
165
+ return false
166
+ }
167
+
168
+ return elem.contains(otherNode)
169
+ }
170
+
171
+ // is one of overlapping elements the \`elem\` or one of its child
172
+ function isOverlappingElementMatch (elementsFromPoint, elem) {
173
+ if (elementsFromPoint.some(function (elementFromPoint) {
174
+ return elementFromPoint === elem || nodeContains(elem, elementFromPoint)
175
+ })) {
176
+ return true
177
+ }
178
+
179
+ // shadow root
180
+ // filter unique elements with shadowRoot
181
+ // @ts-ignore
182
+ let elemsWithShadowRoot = [].concat(elementsFromPoint)
183
+ elemsWithShadowRoot = elemsWithShadowRoot.filter(function (x) {
184
+ return x && x.shadowRoot && x.shadowRoot.elementFromPoint
185
+ })
186
+
187
+ // getOverlappingElements of every element with shadowRoot
188
+ let shadowElementsFromPoint = []
189
+ for (let i = 0; i < elemsWithShadowRoot.length; ++i) {
190
+ let shadowElement = elemsWithShadowRoot[i]
191
+ shadowElementsFromPoint = shadowElementsFromPoint.concat(
192
+ getOverlappingElements(elem, shadowElement.shadowRoot)
193
+ )
194
+ }
195
+ // remove duplicates and parents
196
+ // @ts-ignore
197
+ shadowElementsFromPoint = [].concat(shadowElementsFromPoint)
198
+ shadowElementsFromPoint = shadowElementsFromPoint.filter(function (x) {
199
+ return !elementsFromPoint.includes(x)
200
+ })
201
+
202
+ if (shadowElementsFromPoint.length === 0) {
203
+ return false
204
+ }
205
+
206
+ return isOverlappingElementMatch(shadowElementsFromPoint, elem)
207
+ }
208
+
209
+ function isElementInViewport (elem) {
210
+ if (!elem.getBoundingClientRect) {
211
+ return false
212
+ }
213
+
214
+ const rect = elem.getBoundingClientRect()
215
+
216
+ const windowHeight = (window.innerHeight || document.documentElement.clientHeight)
217
+ const windowWidth = (window.innerWidth || document.documentElement.clientWidth)
218
+
219
+ const vertInView = (rect.top <= windowHeight) && ((rect.top + rect.height) > 0)
220
+ const horInView = (rect.left <= windowWidth) && ((rect.left + rect.width) > 0)
221
+
222
+ return (vertInView && horInView)
223
+ }
224
+
225
+ return isElementInViewport(element) && isOverlappingElementMatch(getOverlappingElements(element), element);
226
+ `, webElement));
227
+ }
228
+ }
229
+ exports.ProtractorPageElement = ProtractorPageElement;
230
+ //# 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,5 @@
1
+ export * from './ProtractorCookie';
2
+ export * from './ProtractorFrame';
3
+ export * from './ProtractorModalDialog';
4
+ export * from './ProtractorPage';
5
+ export * from './ProtractorPageElement';
@@ -10,5 +10,9 @@ 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("./ElementArrayFinderListAdapter"), exports);
13
+ __exportStar(require("./ProtractorCookie"), exports);
14
+ __exportStar(require("./ProtractorFrame"), exports);
15
+ __exportStar(require("./ProtractorModalDialog"), exports);
16
+ __exportStar(require("./ProtractorPage"), exports);
17
+ __exportStar(require("./ProtractorPageElement"), exports);
14
18
  //# 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,oDAAkC;AAClC,0DAAwC;AACxC,mDAAiC;AACjC,0DAAwC"}
@@ -0,0 +1,9 @@
1
+ import { Locator, PageElement, Selector } from '@serenity-js/web';
2
+ import { ElementFinder, Locator as ProtractorNativeLocator, ProtractorBrowser } from 'protractor';
3
+ import { ProtractorNativeElementRoot } from './ProtractorNativeElementRoot';
4
+ export declare class ProtractorLocator<Selector_Type extends Selector> extends Locator<ElementFinder, ProtractorNativeElementRoot, Selector_Type> {
5
+ static createRootLocator<ST extends Selector>(browser: ProtractorBrowser, selector: ST, protractorBy: ProtractorNativeLocator): ProtractorLocator<ST>;
6
+ of(parent: ProtractorLocator<unknown>): Locator<ElementFinder, ProtractorNativeElementRoot, Selector_Type>;
7
+ element(): PageElement<ElementFinder>;
8
+ allElements(): Promise<Array<PageElement<ElementFinder>>>;
9
+ }