@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
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProtractorLocator = void 0;
4
+ const web_1 = require("@serenity-js/web");
5
+ const unpromisedWebElement_1 = require("../../unpromisedWebElement");
6
+ const ProtractorPageElement_1 = require("../ProtractorPageElement");
7
+ class ProtractorLocator extends web_1.Locator {
8
+ static createRootLocator(browser, selector, protractorBy) {
9
+ const parentRoot = {
10
+ element: browser.element.bind(browser),
11
+ all: browser.element.all.bind(browser),
12
+ };
13
+ return new ProtractorLocator(() => parentRoot, selector, (root) => (0, unpromisedWebElement_1.unpromisedWebElement)(root.element(protractorBy)), async (root) => root.all(protractorBy));
14
+ }
15
+ of(parent) {
16
+ return new ProtractorLocator(() => parent.nativeElement(), this.selector, (parentRoot) => this.locateElement(parentRoot), (parentRoot) => this.locateAllElements(parentRoot));
17
+ }
18
+ element() {
19
+ return new ProtractorPageElement_1.ProtractorPageElement(this);
20
+ }
21
+ async allElements() {
22
+ const parentRoot = await this.parentRoot();
23
+ const elements = await this.locateAllElements(parentRoot);
24
+ return Promise.all(elements.map(childElement => new ProtractorPageElement_1.ProtractorPageElement(new ProtractorLocator(this.parentRoot, this.selector, () => (0, unpromisedWebElement_1.unpromisedWebElement)(childElement), () => [(0, unpromisedWebElement_1.unpromisedWebElement)(childElement)]))));
25
+ }
26
+ }
27
+ exports.ProtractorLocator = ProtractorLocator;
28
+ //# sourceMappingURL=ProtractorLocator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtractorLocator.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/ProtractorLocator.ts"],"names":[],"mappings":";;;AAAA,0CAAkE;AAGlE,qEAAkE;AAClE,oEAAiE;AAGjE,MAAa,iBAAkD,SAAQ,aAAkE;IAErI,MAAM,CAAC,iBAAiB,CAAsB,OAA0B,EAAE,QAAY,EAAE,YAAqC;QACzH,MAAM,UAAU,GAAgC;YAC5C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YACtC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;SACzC,CAAA;QAED,OAAO,IAAI,iBAAiB,CACxB,GAAG,EAAE,CAAC,UAAU,EAChB,QAAQ,EACR,CAAC,IAAiC,EAAE,EAAE,CAAC,IAAA,2CAAoB,EAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EACvF,KAAK,EAAE,IAAiC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CACtE,CAAC;IACN,CAAC;IAED,EAAE,CAAC,MAAkC;QACjC,OAAO,IAAI,iBAAiB,CACxB,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAC5B,IAAI,CAAC,QAAQ,EACb,CAAC,UAAuC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAC3E,CAAC,UAAuC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAClF,CAAC;IACN,CAAC;IAED,OAAO;QACH,OAAO,IAAI,6CAAqB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,UAAU,GAAM,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QAC7C,MAAM,QAAQ,GAAQ,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE/D,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAC3C,IAAI,6CAAqB,CAAC,IAAI,iBAAiB,CAC3C,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,GAAG,EAAE,CAAC,IAAA,2CAAoB,EAAC,YAAY,CAAC,EACxC,GAAG,EAAE,CAAC,CAAE,IAAA,2CAAoB,EAAC,YAAY,CAAC,CAAE,CAC/C,CAAC,CACL,CAAC,CAAC;IACP,CAAC;CACJ;AA1CD,8CA0CC"}
@@ -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/locators/ProtractorNativeElementRoot.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './ProtractorLocator';
2
+ export * from './ProtractorNativeElementRoot';
@@ -10,5 +10,6 @@ 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("./photographer"), exports);
13
+ __exportStar(require("./ProtractorLocator"), exports);
14
+ __exportStar(require("./ProtractorNativeElementRoot"), exports);
14
15
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,gEAA8C"}
@@ -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"}
@@ -1,4 +1,4 @@
1
- import { Answerable, AnswersQuestions, Question, UsesAbilities } from '@serenity-js/core';
1
+ import { Answerable, QuestionAdapter } from '@serenity-js/core';
2
2
  /**
3
3
  * @desc
4
4
  * Returns a Protractor configuration parameter specified in `protractor.conf.js`.
@@ -13,52 +13,47 @@ import { Answerable, AnswersQuestions, Question, UsesAbilities } from '@serenity
13
13
  * }
14
14
  * }
15
15
  * // ...
16
- * }
16
+ * }
17
17
  *
18
18
  * @example <caption>Overriding configuration parameter via the command line</caption>
19
19
  * protractor ./protractor.conf.js --params.login.username="bob@example.org"
20
20
  *
21
- * @example <caption>Using in a test scenario</caption>
21
+ * @example <caption>Using as Screenplay Adapter</caption>
22
22
  * import { actorCalled } from '@serenity-js/core';
23
- * import { BrowseTheWeb, Enter, ProtractorParam } from '@serenity-js/protractor';
23
+ * import { BrowseTheWebWithProtractor, ProtractorParam } from '@serenity-js/protractor';
24
+ * import { Enter } from '@serenity-js/web';
24
25
  * import { protractor } from 'protractor';
25
26
  *
26
27
  * actorCalled('Jane')
27
- * .whoCan(BrowseTheWeb.using(protractor.browser))
28
+ * .whoCan( BrowseTheWebWithProtractor.using(protractor.browser))
28
29
  * .attemptsTo(
29
- * Enter.theValue(ProtractorParam.called('login.username').into(Form.exampleInput),
30
+ * Enter.theValue(ProtractorParam.called('login').username).into(Form.exampleInput),
30
31
  * );
31
32
  *
32
- * @extends {@serenity-js/core/lib/screenplay~Question<Promise<T>>}
33
+ * @example <caption>Specifying path to param as string</caption>
34
+ * import { actorCalled } from '@serenity-js/core';
35
+ * import { BrowseTheWebWithProtractor, ProtractorParam } from '@serenity-js/protractor';
36
+ * import { Enter } from '@serenity-js/web';
37
+ * import { protractor } from 'protractor';
38
+ *
39
+ * actorCalled('Jane')
40
+ * .whoCan( BrowseTheWebWithProtractor.using(protractor.browser))
41
+ * .attemptsTo(
42
+ * Enter.theValue(ProtractorParam.called('login.username')).into(Form.exampleInput),
43
+ * );
33
44
  *
34
- * @see {@link BrowseTheWeb#param}
45
+ * @extends {@serenity-js/core/lib/screenplay~Question<Promise<T>>}
46
+ *g
47
+ * @see {@link BrowseTheWebWithProtractor#param}
35
48
  */
36
- export declare class ProtractorParam<T = any> extends Question<Promise<T>> {
37
- private readonly name;
49
+ export declare class ProtractorParam {
38
50
  /**
39
51
  * @desc
40
52
  * Name of the parameter to retrieve. This could also be a dot-delimited path,
41
53
  * i.e. `login.username`
42
54
  *
43
55
  * @param {@serenity-js/core/lib/screenplay~Answerable<string>} name
44
- * @returns {ProtractorParam<R>}
45
- */
46
- static called<R>(name: Answerable<string>): ProtractorParam;
47
- /**
48
- * @param {@serenity-js/core/lib/screenplay~Answerable<string>} name
49
- */
50
- constructor(name: Answerable<string>);
51
- /**
52
- * @desc
53
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
54
- * answer this {@link @serenity-js/core/lib/screenplay~Question}.
55
- *
56
- * @param {AnswersQuestions & UsesAbilities} actor
57
- * @returns {Promise<void>}
58
- *
59
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
60
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
61
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
56
+ * @returns {Question<Promise<R>> & Adapter<R>}
62
57
  */
63
- answeredBy(actor: AnswersQuestions & UsesAbilities): Promise<T>;
58
+ static called<R>(name: Answerable<string>): QuestionAdapter<R>;
64
59
  }
@@ -19,60 +19,53 @@ const abilities_1 = require("../abilities");
19
19
  * }
20
20
  * }
21
21
  * // ...
22
- * }
22
+ * }
23
23
  *
24
24
  * @example <caption>Overriding configuration parameter via the command line</caption>
25
25
  * protractor ./protractor.conf.js --params.login.username="bob@example.org"
26
26
  *
27
- * @example <caption>Using in a test scenario</caption>
27
+ * @example <caption>Using as Screenplay Adapter</caption>
28
28
  * import { actorCalled } from '@serenity-js/core';
29
- * import { BrowseTheWeb, Enter, ProtractorParam } from '@serenity-js/protractor';
29
+ * import { BrowseTheWebWithProtractor, ProtractorParam } from '@serenity-js/protractor';
30
+ * import { Enter } from '@serenity-js/web';
30
31
  * import { protractor } from 'protractor';
31
32
  *
32
33
  * actorCalled('Jane')
33
- * .whoCan(BrowseTheWeb.using(protractor.browser))
34
+ * .whoCan( BrowseTheWebWithProtractor.using(protractor.browser))
34
35
  * .attemptsTo(
35
- * Enter.theValue(ProtractorParam.called('login.username').into(Form.exampleInput),
36
+ * Enter.theValue(ProtractorParam.called('login').username).into(Form.exampleInput),
36
37
  * );
37
38
  *
38
- * @extends {@serenity-js/core/lib/screenplay~Question<Promise<T>>}
39
+ * @example <caption>Specifying path to param as string</caption>
40
+ * import { actorCalled } from '@serenity-js/core';
41
+ * import { BrowseTheWebWithProtractor, ProtractorParam } from '@serenity-js/protractor';
42
+ * import { Enter } from '@serenity-js/web';
43
+ * import { protractor } from 'protractor';
39
44
  *
40
- * @see {@link BrowseTheWeb#param}
45
+ * actorCalled('Jane')
46
+ * .whoCan( BrowseTheWebWithProtractor.using(protractor.browser))
47
+ * .attemptsTo(
48
+ * Enter.theValue(ProtractorParam.called('login.username')).into(Form.exampleInput),
49
+ * );
50
+ *
51
+ * @extends {@serenity-js/core/lib/screenplay~Question<Promise<T>>}
52
+ *g
53
+ * @see {@link BrowseTheWebWithProtractor#param}
41
54
  */
42
- class ProtractorParam extends core_1.Question {
43
- /**
44
- * @param {@serenity-js/core/lib/screenplay~Answerable<string>} name
45
- */
46
- constructor(name) {
47
- super((0, io_1.formatted) `the ${name} param specified in Protractor config`);
48
- this.name = name;
49
- }
55
+ class ProtractorParam {
50
56
  /**
51
57
  * @desc
52
58
  * Name of the parameter to retrieve. This could also be a dot-delimited path,
53
59
  * i.e. `login.username`
54
60
  *
55
61
  * @param {@serenity-js/core/lib/screenplay~Answerable<string>} name
56
- * @returns {ProtractorParam<R>}
62
+ * @returns {Question<Promise<R>> & Adapter<R>}
57
63
  */
58
64
  static called(name) {
59
- return new ProtractorParam(name);
60
- }
61
- /**
62
- * @desc
63
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
64
- * answer this {@link @serenity-js/core/lib/screenplay~Question}.
65
- *
66
- * @param {AnswersQuestions & UsesAbilities} actor
67
- * @returns {Promise<void>}
68
- *
69
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
70
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
71
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
72
- */
73
- answeredBy(actor) {
74
- return actor.answer(this.name)
75
- .then(name => abilities_1.BrowseTheWeb.as(actor).param(name));
65
+ return core_1.Question.about((0, io_1.formatted) `the ${name} param specified in Protractor config`, actor => {
66
+ return actor.answer(name)
67
+ .then(name => actor.abilityTo(abilities_1.BrowseTheWebWithProtractor).param(name));
68
+ });
76
69
  }
77
70
  }
78
71
  exports.ProtractorParam = ProtractorParam;
@@ -1 +1 @@
1
- {"version":3,"file":"ProtractorParam.js","sourceRoot":"","sources":["../../../src/screenplay/questions/ProtractorParam.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,4CAA0F;AAC1F,iDAAqD;AAErD,4CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAa,eACT,SAAQ,eAAoB;IAc5B;;OAEG;IACH,YAA6B,IAAwB;QACjD,KAAK,CAAC,IAAA,cAAS,EAAC,OAAQ,IAAK,uCAAuC,CAAC,CAAC;QAD7C,SAAI,GAAJ,IAAI,CAAoB;IAErD,CAAC;IAjBD;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CAAI,IAAwB;QACrC,OAAO,IAAI,eAAe,CAAI,IAAI,CAAC,CAAC;IACxC,CAAC;IASD;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,KAAuC;QAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aACzB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;CACJ;AAtCD,0CAsCC"}
1
+ {"version":3,"file":"ProtractorParam.js","sourceRoot":"","sources":["../../../src/screenplay/questions/ProtractorParam.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,4CAA0E;AAC1E,iDAAqD;AAErD,4CAA0D;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAa,eAAe;IAExB;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CAAI,IAAwB;QACrC,OAAO,eAAQ,CAAC,KAAK,CAAI,IAAA,cAAS,EAAC,OAAQ,IAAK,uCAAuC,EAAE,KAAK,CAAC,EAAE;YAC7F,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;iBACpB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAE,KAAK,CAAC,SAAS,CAAC,sCAA0B,CAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAhBD,0CAgBC"}
@@ -1,14 +1 @@
1
- export * from './Attribute';
2
- export * from './Browser';
3
- export * from './Cookie';
4
- export * from './CSSClasses';
5
- export * from './LastScriptExecution';
6
- export * from './ModalDialog';
7
- export { Pick } from './Pick';
8
1
  export * from './ProtractorParam';
9
- export * from './Selected';
10
- export { Target } from './targets';
11
- export * from './text';
12
- export * from './Value';
13
- export * from './Website';
14
- export * from './Window';
@@ -10,21 +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
- exports.Target = exports.Pick = void 0;
14
- __exportStar(require("./Attribute"), exports);
15
- __exportStar(require("./Browser"), exports);
16
- __exportStar(require("./Cookie"), exports);
17
- __exportStar(require("./CSSClasses"), exports);
18
- __exportStar(require("./LastScriptExecution"), exports);
19
- __exportStar(require("./ModalDialog"), exports);
20
- var Pick_1 = require("./Pick");
21
- Object.defineProperty(exports, "Pick", { enumerable: true, get: function () { return Pick_1.Pick; } });
22
13
  __exportStar(require("./ProtractorParam"), exports);
23
- __exportStar(require("./Selected"), exports);
24
- var targets_1 = require("./targets");
25
- Object.defineProperty(exports, "Target", { enumerable: true, get: function () { return targets_1.Target; } });
26
- __exportStar(require("./text"), exports);
27
- __exportStar(require("./Value"), exports);
28
- __exportStar(require("./Website"), exports);
29
- __exportStar(require("./Window"), exports);
30
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/questions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,4CAA0B;AAC1B,2CAAyB;AACzB,+CAA6B;AAC7B,wDAAsC;AACtC,gDAA8B;AAC9B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,oDAAkC;AAClC,6CAA2B;AAC3B,qCAAmC;AAA1B,iGAAA,MAAM,OAAA;AACf,yCAAuB;AACvB,0CAAwB;AACxB,4CAA0B;AAC1B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/questions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC"}
@@ -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 unpromisedWebElement<T extends WebElement>(promiseLike: T): T;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unpromisedWebElement = 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 unpromisedWebElement(promiseLike) {
14
+ return new Proxy(promiseLike, {
15
+ has: (target, property) => property !== 'then',
16
+ ownKeys: (target) => Reflect.ownKeys(target)
17
+ .filter(property => property !== 'then'),
18
+ get: (target, property, receiver) => (property in receiver)
19
+ ? target[property]
20
+ : undefined,
21
+ });
22
+ }
23
+ exports.unpromisedWebElement = unpromisedWebElement;
24
+ //# sourceMappingURL=unpromisedWebElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unpromisedWebElement.js","sourceRoot":"","sources":["../../src/screenplay/unpromisedWebElement.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAAuB,WAAc;IAErE,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE;QAC1B,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;AACP,CAAC;AAbD,oDAaC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/protractor",
3
- "version": "2.33.1",
3
+ "version": "3.0.0-rc.11",
4
4
  "description": "Test your web apps with Serenity/JS",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -31,12 +31,10 @@
31
31
  ],
32
32
  "scripts": {
33
33
  "clean": "rimraf .nyc_output lib target",
34
- "lint": "eslint --ext ts --config ../../.eslintrc.js .",
34
+ "lint": "eslint --ext ts --config ../../.eslintrc.yml .",
35
35
  "lint:fix": "npm run lint -- --fix",
36
36
  "debug": "node --inspect-brk node_modules/.bin/protractor ./spec/protractor.conf.js",
37
- "test": "cross-env PORT=8081 start-server-and-test test:start-server http://localhost:8081 test:protractor",
38
- "test:start-server": "static-content-server",
39
- "test:protractor": "nyc --report-dir ../../target/coverage/protractor protractor ./spec/protractor.conf.js",
37
+ "test": "nyc --report-dir ../../target/coverage/protractor protractor ./spec/protractor.conf.js",
40
38
  "compile": "tsc --project tsconfig.json",
41
39
  "site": "esdoc -c .esdoc.js"
42
40
  },
@@ -48,20 +46,21 @@
48
46
  "url": "https://github.com/serenity-js/serenity-js/issues"
49
47
  },
50
48
  "engines": {
51
- "node": "^12 || ^14 || ^16",
49
+ "node": "^14 || ^16",
52
50
  "npm": "^6 || ^7 || ^8"
53
51
  },
54
52
  "dependencies": {
55
- "@serenity-js/assertions": "2.33.1",
56
- "@serenity-js/core": "2.33.1",
53
+ "@serenity-js/assertions": "3.0.0-rc.11",
54
+ "@serenity-js/core": "3.0.0-rc.11",
57
55
  "deepmerge": "^4.2.2",
58
56
  "is-plain-object": "^5.0.0",
57
+ "query-selector-shadow-dom": "^1.0.0",
59
58
  "tiny-types": "^1.17.0"
60
59
  },
61
60
  "peerDependencies": {
62
- "@serenity-js/cucumber": "^2.29.0",
63
- "@serenity-js/jasmine": "^2.29.0",
64
- "@serenity-js/mocha": "^2.29.0",
61
+ "@serenity-js/cucumber": "^3.0.0-rc",
62
+ "@serenity-js/jasmine": "^3.0.0-rc",
63
+ "@serenity-js/mocha": "^3.0.0-rc",
65
64
  "protractor": "^5.0.0 || ^7.0.0",
66
65
  "selenium-webdriver": "^3.6.0"
67
66
  },
@@ -77,14 +76,14 @@
77
76
  }
78
77
  },
79
78
  "devDependencies": {
80
- "@documentation/esdoc-template": "2.0.0",
81
- "@integration/testing-tools": "2.0.0",
82
- "@integration/web-testing-tools": "2.0.0",
83
- "@serenity-js/cucumber": "2.33.1",
84
- "@serenity-js/jasmine": "2.33.1",
85
- "@serenity-js/local-server": "2.33.1",
86
- "@serenity-js/mocha": "2.33.1",
87
- "@serenity-js/rest": "2.33.1",
79
+ "@documentation/esdoc-template": "3.0.0",
80
+ "@integration/testing-tools": "3.0.0",
81
+ "@serenity-js/cucumber": "3.0.0-rc.11",
82
+ "@serenity-js/jasmine": "3.0.0-rc.11",
83
+ "@serenity-js/local-server": "3.0.0-rc.11",
84
+ "@serenity-js/mocha": "3.0.0-rc.11",
85
+ "@serenity-js/rest": "3.0.0-rc.11",
86
+ "@serenity-js/web": "3.0.0-rc.11",
88
87
  "@types/chai": "^4.3.0",
89
88
  "@types/express": "^4.17.13",
90
89
  "@types/html-minifier": "^4.0.2",
@@ -124,5 +123,5 @@
124
123
  "cache": true,
125
124
  "all": true
126
125
  },
127
- "gitHead": "c029cb6dde88fb0f034b8471ab93e0483c8b106d"
126
+ "gitHead": "0a232ce7ff21df56a9cc9e64859af5b0bce33b32"
128
127
  }
@@ -2,6 +2,7 @@ import { ArtifactArchiver, Serenity } from '@serenity-js/core';
2
2
  import { isPlainObject } from 'is-plain-object'; // fails when using default import
3
3
  import { protractor, Runner } from 'protractor';
4
4
  import deepmerge = require('deepmerge');
5
+ const querySelectorShadowDomPlugin = require('query-selector-shadow-dom/plugins/protractor'); // eslint-disable-line @typescript-eslint/no-var-requires
5
6
 
6
7
  import { BrowserDetector, StandardisedCapabilities } from './browser-detector';
7
8
  import { Config } from './Config';
@@ -27,6 +28,10 @@ export class ProtractorFrameworkAdapter {
27
28
  */
28
29
  run(specs: string[]): Promise<ProtractorReport> {
29
30
 
31
+ if (! this.protractorRunner.plugins_?.pluginObjs?.some(plugin => plugin.name === querySelectorShadowDomPlugin.name)) {
32
+ this.protractorRunner.plugins_?.pluginObjs?.push(querySelectorShadowDomPlugin);
33
+ }
34
+
30
35
  const runner = this.detector.runnerFor(this.protractorRunner.getConfig());
31
36
  const reporter = new ProtractorReporter(this.protractorRunner, runner.successThreshold());
32
37
 
package/src/index.ts CHANGED
@@ -1,3 +1 @@
1
- export * from './expectations';
2
1
  export * from './screenplay';
3
- export * from './stage';