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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/CHANGELOG.md +481 -0
  2. package/lib/adapter/ProtractorFrameworkAdapter.js +5 -0
  3. package/lib/adapter/ProtractorFrameworkAdapter.js.map +1 -1
  4. package/lib/index.d.ts +0 -2
  5. package/lib/index.js +0 -2
  6. package/lib/index.js.map +1 -1
  7. package/lib/screenplay/abilities/{BrowseTheWeb.d.ts → BrowseTheWebWithProtractor.d.ts} +38 -191
  8. package/lib/screenplay/abilities/{BrowseTheWeb.js → BrowseTheWebWithProtractor.js} +129 -251
  9. package/lib/screenplay/abilities/BrowseTheWebWithProtractor.js.map +1 -0
  10. package/lib/screenplay/abilities/index.d.ts +1 -1
  11. package/lib/screenplay/abilities/index.js +1 -1
  12. package/lib/screenplay/abilities/index.js.map +1 -1
  13. package/lib/screenplay/index.d.ts +1 -0
  14. package/lib/screenplay/index.js +1 -0
  15. package/lib/screenplay/index.js.map +1 -1
  16. package/lib/screenplay/interactions/UseAngular.js +2 -2
  17. package/lib/screenplay/interactions/UseAngular.js.map +1 -1
  18. package/lib/screenplay/interactions/index.d.ts +0 -19
  19. package/lib/screenplay/interactions/index.js +0 -19
  20. package/lib/screenplay/interactions/index.js.map +1 -1
  21. package/lib/screenplay/models/ProtractorCookie.d.ts +11 -0
  22. package/lib/screenplay/models/ProtractorCookie.js +39 -0
  23. package/lib/screenplay/models/ProtractorCookie.js.map +1 -0
  24. package/lib/screenplay/models/ProtractorFrame.d.ts +10 -0
  25. package/lib/screenplay/models/ProtractorFrame.js +39 -0
  26. package/lib/screenplay/models/ProtractorFrame.js.map +1 -0
  27. package/lib/screenplay/models/ProtractorModalDialog.d.ts +11 -0
  28. package/lib/screenplay/models/ProtractorModalDialog.js +43 -0
  29. package/lib/screenplay/models/ProtractorModalDialog.js.map +1 -0
  30. package/lib/screenplay/models/ProtractorPage.d.ts +26 -0
  31. package/lib/screenplay/models/ProtractorPage.js +98 -0
  32. package/lib/screenplay/models/ProtractorPage.js.map +1 -0
  33. package/lib/screenplay/models/ProtractorPageElement.d.ts +21 -0
  34. package/lib/screenplay/models/ProtractorPageElement.js +230 -0
  35. package/lib/screenplay/models/ProtractorPageElement.js.map +1 -0
  36. package/lib/screenplay/models/index.d.ts +5 -0
  37. package/lib/screenplay/{questions/lists → models}/index.js +5 -1
  38. package/lib/screenplay/models/index.js.map +1 -0
  39. package/lib/screenplay/models/locators/ProtractorLocator.d.ts +9 -0
  40. package/lib/screenplay/models/locators/ProtractorLocator.js +28 -0
  41. package/lib/screenplay/models/locators/ProtractorLocator.js.map +1 -0
  42. package/lib/screenplay/models/locators/ProtractorNativeElementRoot.d.ts +5 -0
  43. package/lib/screenplay/{interactions/EnterBuilder.js → models/locators/ProtractorNativeElementRoot.js} +1 -1
  44. package/lib/screenplay/models/locators/ProtractorNativeElementRoot.js.map +1 -0
  45. package/lib/screenplay/models/locators/index.d.ts +2 -0
  46. package/lib/{stage/crew → screenplay/models/locators}/index.js +2 -1
  47. package/lib/screenplay/models/locators/index.js.map +1 -0
  48. package/lib/{promiseOf.d.ts → screenplay/promised.d.ts} +1 -1
  49. package/lib/{promiseOf.js → screenplay/promised.js} +4 -4
  50. package/lib/screenplay/promised.js.map +1 -0
  51. package/lib/screenplay/questions/ProtractorParam.d.ts +24 -29
  52. package/lib/screenplay/questions/ProtractorParam.js +26 -33
  53. package/lib/screenplay/questions/ProtractorParam.js.map +1 -1
  54. package/lib/screenplay/questions/index.d.ts +0 -13
  55. package/lib/screenplay/questions/index.js +0 -16
  56. package/lib/screenplay/questions/index.js.map +1 -1
  57. package/lib/screenplay/unpromisedWebElement.d.ts +11 -0
  58. package/lib/screenplay/unpromisedWebElement.js +24 -0
  59. package/lib/screenplay/unpromisedWebElement.js.map +1 -0
  60. package/package.json +19 -20
  61. package/src/adapter/ProtractorFrameworkAdapter.ts +5 -0
  62. package/src/index.ts +0 -2
  63. package/src/screenplay/abilities/{BrowseTheWeb.ts → BrowseTheWebWithProtractor.ts} +148 -263
  64. package/src/screenplay/abilities/index.ts +1 -1
  65. package/src/screenplay/index.ts +1 -0
  66. package/src/screenplay/interactions/UseAngular.ts +3 -3
  67. package/src/screenplay/interactions/index.ts +0 -19
  68. package/src/screenplay/models/ProtractorCookie.ts +41 -0
  69. package/src/screenplay/models/ProtractorFrame.ts +44 -0
  70. package/src/screenplay/models/ProtractorModalDialog.ts +49 -0
  71. package/src/screenplay/models/ProtractorPage.ts +124 -0
  72. package/src/screenplay/models/ProtractorPageElement.ts +285 -0
  73. package/src/screenplay/models/index.ts +6 -0
  74. package/src/screenplay/models/locators/ProtractorLocator.ts +50 -0
  75. package/src/screenplay/models/locators/ProtractorNativeElementRoot.ts +6 -0
  76. package/src/screenplay/models/locators/index.ts +2 -0
  77. package/src/{promiseOf.ts → screenplay/promised.ts} +1 -1
  78. package/src/screenplay/questions/ProtractorParam.ts +29 -38
  79. package/src/screenplay/questions/index.ts +0 -13
  80. package/src/screenplay/unpromisedWebElement.ts +25 -0
  81. package/lib/expectations/ElementFinderExpectation.d.ts +0 -11
  82. package/lib/expectations/ElementFinderExpectation.js +0 -24
  83. package/lib/expectations/ElementFinderExpectation.js.map +0 -1
  84. package/lib/expectations/index.d.ts +0 -6
  85. package/lib/expectations/index.js +0 -19
  86. package/lib/expectations/index.js.map +0 -1
  87. package/lib/expectations/isActive.d.ts +0 -13
  88. package/lib/expectations/isActive.js +0 -19
  89. package/lib/expectations/isActive.js.map +0 -1
  90. package/lib/expectations/isClickable.d.ts +0 -13
  91. package/lib/expectations/isClickable.js +0 -22
  92. package/lib/expectations/isClickable.js.map +0 -1
  93. package/lib/expectations/isEnabled.d.ts +0 -13
  94. package/lib/expectations/isEnabled.js +0 -19
  95. package/lib/expectations/isEnabled.js.map +0 -1
  96. package/lib/expectations/isPresent.d.ts +0 -14
  97. package/lib/expectations/isPresent.js +0 -20
  98. package/lib/expectations/isPresent.js.map +0 -1
  99. package/lib/expectations/isSelected.d.ts +0 -13
  100. package/lib/expectations/isSelected.js +0 -22
  101. package/lib/expectations/isSelected.js.map +0 -1
  102. package/lib/expectations/isVisible.d.ts +0 -13
  103. package/lib/expectations/isVisible.js +0 -25
  104. package/lib/expectations/isVisible.js.map +0 -1
  105. package/lib/promiseOf.js.map +0 -1
  106. package/lib/screenplay/abilities/BrowseTheWeb.js.map +0 -1
  107. package/lib/screenplay/interactions/Accept.d.ts +0 -81
  108. package/lib/screenplay/interactions/Accept.js +0 -95
  109. package/lib/screenplay/interactions/Accept.js.map +0 -1
  110. package/lib/screenplay/interactions/Clear.d.ts +0 -88
  111. package/lib/screenplay/interactions/Clear.js +0 -121
  112. package/lib/screenplay/interactions/Clear.js.map +0 -1
  113. package/lib/screenplay/interactions/Click.d.ts +0 -81
  114. package/lib/screenplay/interactions/Click.js +0 -95
  115. package/lib/screenplay/interactions/Click.js.map +0 -1
  116. package/lib/screenplay/interactions/Close.d.ts +0 -89
  117. package/lib/screenplay/interactions/Close.js +0 -169
  118. package/lib/screenplay/interactions/Close.js.map +0 -1
  119. package/lib/screenplay/interactions/DeleteCookies.d.ts +0 -72
  120. package/lib/screenplay/interactions/DeleteCookies.js +0 -149
  121. package/lib/screenplay/interactions/DeleteCookies.js.map +0 -1
  122. package/lib/screenplay/interactions/Dismiss.d.ts +0 -85
  123. package/lib/screenplay/interactions/Dismiss.js +0 -99
  124. package/lib/screenplay/interactions/Dismiss.js.map +0 -1
  125. package/lib/screenplay/interactions/DoubleClick.d.ts +0 -99
  126. package/lib/screenplay/interactions/DoubleClick.js +0 -121
  127. package/lib/screenplay/interactions/DoubleClick.js.map +0 -1
  128. package/lib/screenplay/interactions/Enter.d.ts +0 -81
  129. package/lib/screenplay/interactions/Enter.js +0 -96
  130. package/lib/screenplay/interactions/Enter.js.map +0 -1
  131. package/lib/screenplay/interactions/EnterBuilder.d.ts +0 -27
  132. package/lib/screenplay/interactions/EnterBuilder.js.map +0 -1
  133. package/lib/screenplay/interactions/ExecuteScript.d.ts +0 -171
  134. package/lib/screenplay/interactions/ExecuteScript.js +0 -291
  135. package/lib/screenplay/interactions/ExecuteScript.js.map +0 -1
  136. package/lib/screenplay/interactions/Hover.d.ts +0 -86
  137. package/lib/screenplay/interactions/Hover.js +0 -103
  138. package/lib/screenplay/interactions/Hover.js.map +0 -1
  139. package/lib/screenplay/interactions/Navigate.d.ts +0 -149
  140. package/lib/screenplay/interactions/Navigate.js +0 -345
  141. package/lib/screenplay/interactions/Navigate.js.map +0 -1
  142. package/lib/screenplay/interactions/Press.d.ts +0 -90
  143. package/lib/screenplay/interactions/Press.js +0 -127
  144. package/lib/screenplay/interactions/Press.js.map +0 -1
  145. package/lib/screenplay/interactions/PressBuilder.d.ts +0 -27
  146. package/lib/screenplay/interactions/PressBuilder.js +0 -3
  147. package/lib/screenplay/interactions/PressBuilder.js.map +0 -1
  148. package/lib/screenplay/interactions/ResizeBrowserWindow.d.ts +0 -69
  149. package/lib/screenplay/interactions/ResizeBrowserWindow.js +0 -144
  150. package/lib/screenplay/interactions/ResizeBrowserWindow.js.map +0 -1
  151. package/lib/screenplay/interactions/RightClick.d.ts +0 -97
  152. package/lib/screenplay/interactions/RightClick.js +0 -113
  153. package/lib/screenplay/interactions/RightClick.js.map +0 -1
  154. package/lib/screenplay/interactions/Scroll.d.ts +0 -83
  155. package/lib/screenplay/interactions/Scroll.js +0 -98
  156. package/lib/screenplay/interactions/Scroll.js.map +0 -1
  157. package/lib/screenplay/interactions/Select.d.ts +0 -212
  158. package/lib/screenplay/interactions/Select.js +0 -342
  159. package/lib/screenplay/interactions/Select.js.map +0 -1
  160. package/lib/screenplay/interactions/SelectBuilder.d.ts +0 -33
  161. package/lib/screenplay/interactions/SelectBuilder.js +0 -3
  162. package/lib/screenplay/interactions/SelectBuilder.js.map +0 -1
  163. package/lib/screenplay/interactions/Switch.d.ts +0 -210
  164. package/lib/screenplay/interactions/Switch.js +0 -345
  165. package/lib/screenplay/interactions/Switch.js.map +0 -1
  166. package/lib/screenplay/interactions/TakeScreenshot.d.ts +0 -67
  167. package/lib/screenplay/interactions/TakeScreenshot.js +0 -86
  168. package/lib/screenplay/interactions/TakeScreenshot.js.map +0 -1
  169. package/lib/screenplay/interactions/Wait.d.ts +0 -147
  170. package/lib/screenplay/interactions/Wait.js +0 -247
  171. package/lib/screenplay/interactions/Wait.js.map +0 -1
  172. package/lib/screenplay/interactions/WaitBuilder.d.ts +0 -33
  173. package/lib/screenplay/interactions/WaitBuilder.js +0 -3
  174. package/lib/screenplay/interactions/WaitBuilder.js.map +0 -1
  175. package/lib/screenplay/questions/Attribute.d.ts +0 -29
  176. package/lib/screenplay/questions/Attribute.js +0 -56
  177. package/lib/screenplay/questions/Attribute.js.map +0 -1
  178. package/lib/screenplay/questions/Browser.d.ts +0 -47
  179. package/lib/screenplay/questions/Browser.js +0 -55
  180. package/lib/screenplay/questions/Browser.js.map +0 -1
  181. package/lib/screenplay/questions/CSSClasses.d.ts +0 -94
  182. package/lib/screenplay/questions/CSSClasses.js +0 -118
  183. package/lib/screenplay/questions/CSSClasses.js.map +0 -1
  184. package/lib/screenplay/questions/Cookie.d.ts +0 -9
  185. package/lib/screenplay/questions/Cookie.js +0 -65
  186. package/lib/screenplay/questions/Cookie.js.map +0 -1
  187. package/lib/screenplay/questions/LastScriptExecution.d.ts +0 -14
  188. package/lib/screenplay/questions/LastScriptExecution.js +0 -22
  189. package/lib/screenplay/questions/LastScriptExecution.js.map +0 -1
  190. package/lib/screenplay/questions/ModalDialog.d.ts +0 -120
  191. package/lib/screenplay/questions/ModalDialog.js +0 -142
  192. package/lib/screenplay/questions/ModalDialog.js.map +0 -1
  193. package/lib/screenplay/questions/Pick.d.ts +0 -72
  194. package/lib/screenplay/questions/Pick.js +0 -254
  195. package/lib/screenplay/questions/Pick.js.map +0 -1
  196. package/lib/screenplay/questions/Selected.d.ts +0 -185
  197. package/lib/screenplay/questions/Selected.js +0 -254
  198. package/lib/screenplay/questions/Selected.js.map +0 -1
  199. package/lib/screenplay/questions/Value.d.ts +0 -47
  200. package/lib/screenplay/questions/Value.js +0 -67
  201. package/lib/screenplay/questions/Value.js.map +0 -1
  202. package/lib/screenplay/questions/Website.d.ts +0 -15
  203. package/lib/screenplay/questions/Website.js +0 -25
  204. package/lib/screenplay/questions/Website.js.map +0 -1
  205. package/lib/screenplay/questions/Window.d.ts +0 -23
  206. package/lib/screenplay/questions/Window.js +0 -28
  207. package/lib/screenplay/questions/Window.js.map +0 -1
  208. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.d.ts +0 -89
  209. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.js +0 -138
  210. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.js.map +0 -1
  211. package/lib/screenplay/questions/lists/index.d.ts +0 -1
  212. package/lib/screenplay/questions/lists/index.js.map +0 -1
  213. package/lib/screenplay/questions/targets/Target.d.ts +0 -168
  214. package/lib/screenplay/questions/targets/Target.js +0 -190
  215. package/lib/screenplay/questions/targets/Target.js.map +0 -1
  216. package/lib/screenplay/questions/targets/TargetElement.d.ts +0 -50
  217. package/lib/screenplay/questions/targets/TargetElement.js +0 -62
  218. package/lib/screenplay/questions/targets/TargetElement.js.map +0 -1
  219. package/lib/screenplay/questions/targets/TargetElements.d.ts +0 -102
  220. package/lib/screenplay/questions/targets/TargetElements.js +0 -124
  221. package/lib/screenplay/questions/targets/TargetElements.js.map +0 -1
  222. package/lib/screenplay/questions/targets/TargetNestedElement.d.ts +0 -49
  223. package/lib/screenplay/questions/targets/TargetNestedElement.js +0 -61
  224. package/lib/screenplay/questions/targets/TargetNestedElement.js.map +0 -1
  225. package/lib/screenplay/questions/targets/TargetNestedElements.d.ts +0 -101
  226. package/lib/screenplay/questions/targets/TargetNestedElements.js +0 -123
  227. package/lib/screenplay/questions/targets/TargetNestedElements.js.map +0 -1
  228. package/lib/screenplay/questions/targets/builders.d.ts +0 -8
  229. package/lib/screenplay/questions/targets/builders.js +0 -3
  230. package/lib/screenplay/questions/targets/builders.js.map +0 -1
  231. package/lib/screenplay/questions/targets/index.d.ts +0 -5
  232. package/lib/screenplay/questions/targets/index.js +0 -18
  233. package/lib/screenplay/questions/targets/index.js.map +0 -1
  234. package/lib/screenplay/questions/targets/override.d.ts +0 -7
  235. package/lib/screenplay/questions/targets/override.js +0 -21
  236. package/lib/screenplay/questions/targets/override.js.map +0 -1
  237. package/lib/screenplay/questions/text/Text.d.ts +0 -41
  238. package/lib/screenplay/questions/text/Text.js +0 -50
  239. package/lib/screenplay/questions/text/Text.js.map +0 -1
  240. package/lib/screenplay/questions/text/TextOfMultipleElements.d.ts +0 -23
  241. package/lib/screenplay/questions/text/TextOfMultipleElements.js +0 -37
  242. package/lib/screenplay/questions/text/TextOfMultipleElements.js.map +0 -1
  243. package/lib/screenplay/questions/text/TextOfSingleElement.d.ts +0 -23
  244. package/lib/screenplay/questions/text/TextOfSingleElement.js +0 -35
  245. package/lib/screenplay/questions/text/TextOfSingleElement.js.map +0 -1
  246. package/lib/screenplay/questions/text/index.d.ts +0 -1
  247. package/lib/screenplay/questions/text/index.js +0 -14
  248. package/lib/screenplay/questions/text/index.js.map +0 -1
  249. package/lib/screenplay/withAnswerOf.d.ts +0 -8
  250. package/lib/screenplay/withAnswerOf.js +0 -18
  251. package/lib/screenplay/withAnswerOf.js.map +0 -1
  252. package/lib/stage/crew/index.d.ts +0 -1
  253. package/lib/stage/crew/index.js.map +0 -1
  254. package/lib/stage/crew/photographer/Photographer.d.ts +0 -83
  255. package/lib/stage/crew/photographer/Photographer.js +0 -102
  256. package/lib/stage/crew/photographer/Photographer.js.map +0 -1
  257. package/lib/stage/crew/photographer/index.d.ts +0 -2
  258. package/lib/stage/crew/photographer/index.js +0 -15
  259. package/lib/stage/crew/photographer/index.js.map +0 -1
  260. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +0 -28
  261. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +0 -65
  262. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +0 -1
  263. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +0 -18
  264. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +0 -30
  265. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +0 -1
  266. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +0 -17
  267. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +0 -28
  268. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +0 -1
  269. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +0 -19
  270. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +0 -28
  271. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +0 -1
  272. package/lib/stage/crew/photographer/strategies/index.d.ts +0 -4
  273. package/lib/stage/crew/photographer/strategies/index.js +0 -17
  274. package/lib/stage/crew/photographer/strategies/index.js.map +0 -1
  275. package/lib/stage/index.d.ts +0 -1
  276. package/lib/stage/index.js +0 -14
  277. package/lib/stage/index.js.map +0 -1
  278. package/src/expectations/ElementFinderExpectation.ts +0 -29
  279. package/src/expectations/index.ts +0 -6
  280. package/src/expectations/isActive.ts +0 -24
  281. package/src/expectations/isClickable.ts +0 -20
  282. package/src/expectations/isEnabled.ts +0 -18
  283. package/src/expectations/isPresent.ts +0 -19
  284. package/src/expectations/isSelected.ts +0 -23
  285. package/src/expectations/isVisible.ts +0 -27
  286. package/src/screenplay/interactions/Accept.ts +0 -95
  287. package/src/screenplay/interactions/Clear.ts +0 -130
  288. package/src/screenplay/interactions/Click.ts +0 -96
  289. package/src/screenplay/interactions/Close.ts +0 -184
  290. package/src/screenplay/interactions/DeleteCookies.ts +0 -154
  291. package/src/screenplay/interactions/Dismiss.ts +0 -99
  292. package/src/screenplay/interactions/DoubleClick.ts +0 -124
  293. package/src/screenplay/interactions/Enter.ts +0 -104
  294. package/src/screenplay/interactions/EnterBuilder.ts +0 -29
  295. package/src/screenplay/interactions/ExecuteScript.ts +0 -325
  296. package/src/screenplay/interactions/Hover.ts +0 -106
  297. package/src/screenplay/interactions/Navigate.ts +0 -363
  298. package/src/screenplay/interactions/Press.ts +0 -137
  299. package/src/screenplay/interactions/PressBuilder.ts +0 -29
  300. package/src/screenplay/interactions/ResizeBrowserWindow.ts +0 -148
  301. package/src/screenplay/interactions/RightClick.ts +0 -114
  302. package/src/screenplay/interactions/Scroll.ts +0 -99
  303. package/src/screenplay/interactions/Select.ts +0 -402
  304. package/src/screenplay/interactions/SelectBuilder.ts +0 -35
  305. package/src/screenplay/interactions/Switch.ts +0 -393
  306. package/src/screenplay/interactions/TakeScreenshot.ts +0 -89
  307. package/src/screenplay/interactions/Wait.ts +0 -267
  308. package/src/screenplay/interactions/WaitBuilder.ts +0 -35
  309. package/src/screenplay/questions/Attribute.ts +0 -67
  310. package/src/screenplay/questions/Browser.ts +0 -55
  311. package/src/screenplay/questions/CSSClasses.ts +0 -121
  312. package/src/screenplay/questions/Cookie.ts +0 -70
  313. package/src/screenplay/questions/LastScriptExecution.ts +0 -21
  314. package/src/screenplay/questions/ModalDialog.ts +0 -149
  315. package/src/screenplay/questions/Pick.ts +0 -334
  316. package/src/screenplay/questions/Selected.ts +0 -268
  317. package/src/screenplay/questions/Value.ts +0 -73
  318. package/src/screenplay/questions/Website.ts +0 -27
  319. package/src/screenplay/questions/Window.ts +0 -29
  320. package/src/screenplay/questions/lists/ElementArrayFinderListAdapter.ts +0 -158
  321. package/src/screenplay/questions/lists/index.ts +0 -1
  322. package/src/screenplay/questions/targets/Target.ts +0 -198
  323. package/src/screenplay/questions/targets/TargetElement.ts +0 -70
  324. package/src/screenplay/questions/targets/TargetElements.ts +0 -142
  325. package/src/screenplay/questions/targets/TargetNestedElement.ts +0 -71
  326. package/src/screenplay/questions/targets/TargetNestedElements.ts +0 -142
  327. package/src/screenplay/questions/targets/builders.ts +0 -10
  328. package/src/screenplay/questions/targets/index.ts +0 -5
  329. package/src/screenplay/questions/targets/override.ts +0 -17
  330. package/src/screenplay/questions/text/Text.ts +0 -55
  331. package/src/screenplay/questions/text/TextOfMultipleElements.ts +0 -40
  332. package/src/screenplay/questions/text/TextOfSingleElement.ts +0 -37
  333. package/src/screenplay/questions/text/index.ts +0 -1
  334. package/src/screenplay/withAnswerOf.ts +0 -19
  335. package/src/stage/crew/index.ts +0 -1
  336. package/src/stage/crew/photographer/Photographer.ts +0 -108
  337. package/src/stage/crew/photographer/index.ts +0 -2
  338. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +0 -102
  339. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +0 -28
  340. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +0 -26
  341. package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +0 -26
  342. package/src/stage/crew/photographer/strategies/index.ts +0 -4
  343. package/src/stage/index.ts +0 -1
@@ -1,345 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Navigate = void 0;
4
- const core_1 = require("@serenity-js/core");
5
- const io_1 = require("@serenity-js/core/lib/io");
6
- const promiseOf_1 = require("../../promiseOf");
7
- const abilities_1 = require("../abilities");
8
- /**
9
- * @desc
10
- * Allows the {@link @serenity-js/core/lib/screenplay/actor~Actor} to navigate to a specific destination,
11
- * as well as back and forth in the browser history, or reload the current page.
12
- */
13
- class Navigate {
14
- /**
15
- * @desc
16
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
17
- * navigate to a given URL.
18
- *
19
- * The URL can be:
20
- * - absolute, i.e. `https://example.org/search`
21
- * - relative, i.e. `/search`
22
- *
23
- * If the URL is relative, Protractor will append it to `baseUrl` configured in [`protractor.conf.js`](https://github.com/angular/protractor/blob/master/lib/config.ts).
24
- *
25
- * @example <caption>protractor.conf.js</caption>
26
- * exports.config = {
27
- * baseUrl: 'https://example.org',
28
- * // ...
29
- * }
30
- *
31
- * @example <caption>Navigate to path relative to baseUrl</caption>
32
- * import { actorCalled } from '@serenity-js/core';
33
- * import { BrowseTheWeb, Navigate } from '@serenity-js/protractor';
34
- *
35
- * actorCalled('Hannu')
36
- * .whoCan(BrowseTheWeb.using(protractor.browser))
37
- * .attemptsTo(
38
- * Navigate.to('/search'),
39
- * );
40
- *
41
- * @example <caption>Navigate to an absolute URL (overrides baseUrl)</caption>
42
- * import { actorCalled } from '@serenity-js/core';
43
- * import { BrowseTheWeb, Navigate } from '@serenity-js/protractor';
44
- *
45
- * actorCalled('Hannu')
46
- * .whoCan(BrowseTheWeb.using(protractor.browser))
47
- * .attemptsTo(
48
- * Navigate.to('https://mycompany.org/login'),
49
- * );
50
- *
51
- * @example <caption>Navigate to URL with timeout</caption>
52
- * import { actorCalled, Duration } from '@serenity-js/core';
53
- * import { BrowseTheWeb, Navigate } from '@serenity-js/protractor';
54
- *
55
- * actorCalled('Hannu')
56
- * .whoCan(BrowseTheWeb.using(protractor.browser))
57
- * .attemptsTo(
58
- * Navigate.to('/search').withTimeout(Duration.ofSeconds(2)),
59
- * );
60
- *
61
- * @param {Answerable<string>} url
62
- * An absolute URL or path an {@link @serenity-js/core/lib/screenplay/actor~Actor} should navigate to
63
- *
64
- * @returns {@serenity-js/core/lib/screenplay~Interaction & { withTimeout: (duration: Answerable<Duration>) => Interaction }}
65
- *
66
- * @see {@link BrowseTheWeb}
67
- * @see {@link @serenity-js/core~Duration}
68
- */
69
- static to(url) {
70
- return new NavigateToUrl(url);
71
- }
72
- /**
73
- * @desc
74
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
75
- * navigate back one page in the session history.
76
- *
77
- * @example <caption>Navigate to path relative to baseUrl</caption>
78
- * import { actorCalled } from '@serenity-js/core';
79
- * import { Ensure, endsWith } from '@serenity-js/assertions';
80
- * import { BrowseTheWeb, Navigate } from '@serenity-js/protractor';
81
- *
82
- * actorCalled('Hannu')
83
- * .whoCan(BrowseTheWeb.using(protractor.browser))
84
- * .attemptsTo(
85
- * Navigate.to('/first'),
86
- * Navigate.to('/second'),
87
- *
88
- * Navigate.back(),
89
- *
90
- * Ensure.that(Website.url(), endsWith('/first')),
91
- * );
92
- *
93
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
94
- *
95
- * @see {@link BrowseTheWeb}
96
- * @see {@link @serenity-js/assertions~Ensure}
97
- * @see {@link @serenity-js/assertions/lib/expectations~endsWith}
98
- */
99
- static back() {
100
- return new NavigateBack();
101
- }
102
- /**
103
- * @desc
104
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
105
- * navigate forward one page in the session history.
106
- *
107
- * @example <caption>Navigate to path relative to baseUrl</caption>
108
- * import { actorCalled } from '@serenity-js/core';
109
- * import { Ensure, endsWith } from '@serenity-js/assertions';
110
- * import { BrowseTheWeb, Navigate } from '@serenity-js/protractor';
111
- *
112
- * actorCalled('Hannu')
113
- * .whoCan(BrowseTheWeb.using(protractor.browser))
114
- * .attemptsTo(
115
- * Navigate.to('/first'),
116
- * Navigate.to('/second'),
117
- *
118
- * Navigate.back(),
119
- * Navigate.forward(),
120
- *
121
- * Ensure.that(Website.url(), endsWith('/second')),
122
- * );
123
- *
124
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
125
- *
126
- * @see {@link BrowseTheWeb}
127
- * @see {@link @serenity-js/assertions~Ensure}
128
- * @see {@link @serenity-js/assertions/lib/expectations~endsWith}
129
- */
130
- static forward() {
131
- return new NavigateForward();
132
- }
133
- /**
134
- * @desc
135
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
136
- * reload the current page.
137
- *
138
- * @example <caption>Navigate to path relative to baseUrl</caption>
139
- * import { actorCalled } from '@serenity-js/core';
140
- * import { Ensure, endsWith } from '@serenity-js/assertions';
141
- * import { Navigate, BrowseTheWeb, DeleteCookies } from '@serenity-js/protractor';
142
- *
143
- * actorCalled('Hannu')
144
- * .whoCan(BrowseTheWeb.using(protractor.browser))
145
- * .attemptsTo(
146
- * Navigate.to('/login'),
147
- * DeleteCookies.called('session_id'),
148
- * Navigate.reloadPage(),
149
- * );
150
- *
151
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
152
- *
153
- * @see {@link BrowseTheWeb}
154
- * @see {@link DeleteCookies}
155
- * @see {@link @serenity-js/assertions~Ensure}
156
- * @see {@link @serenity-js/assertions/lib/expectations~endsWith}
157
- */
158
- static reloadPage() {
159
- return new ReloadPage();
160
- }
161
- }
162
- exports.Navigate = Navigate;
163
- /**
164
- * @package
165
- */
166
- class NavigateToUrl extends core_1.Interaction {
167
- constructor(url) {
168
- super();
169
- this.url = url;
170
- }
171
- /**
172
- * @desc
173
- * Specifies timeout to wait for an Angular app to load.
174
- * Please note that the timeout is ignored if you disable
175
- * synchronisation with Angular.
176
- *
177
- * @param {Answerable<Duration>} duration
178
- */
179
- withTimeout(duration) {
180
- return new NavigateToUrlWithTimeout(this.url, duration);
181
- }
182
- /**
183
- * @desc
184
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
185
- * perform this {@link @serenity-js/core/lib/screenplay~Interaction}.
186
- *
187
- * @param {UsesAbilities & AnswersQuestions} actor
188
- * An {@link @serenity-js/core/lib/screenplay/actor~Actor} to perform this {@link @serenity-js/core/lib/screenplay~Interaction}
189
- *
190
- * @returns {PromiseLike<void>}
191
- *
192
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
193
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
194
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
195
- */
196
- performAs(actor) {
197
- return actor.answer(this.url)
198
- .then(url => abilities_1.BrowseTheWeb.as(actor).get(url)
199
- .catch(error => {
200
- throw new core_1.TestCompromisedError(`Couldn't navigate to ${url}`, error);
201
- }));
202
- }
203
- /**
204
- * @desc
205
- * Generates a description to be used when reporting this {@link @serenity-js/core/lib/screenplay~Activity}.
206
- *
207
- * @returns {string}
208
- */
209
- toString() {
210
- return (0, io_1.formatted) `#actor navigates to ${this.url}`;
211
- }
212
- }
213
- /**
214
- * @package
215
- */
216
- class NavigateToUrlWithTimeout extends core_1.Interaction {
217
- constructor(url, timeout) {
218
- super();
219
- this.url = url;
220
- this.timeout = timeout;
221
- }
222
- /**
223
- * @desc
224
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
225
- * perform this {@link @serenity-js/core/lib/screenplay~Interaction}.
226
- *
227
- * @param {UsesAbilities & AnswersQuestions} actor
228
- * An {@link @serenity-js/core/lib/screenplay/actor~Actor} to perform this {@link @serenity-js/core/lib/screenplay~Interaction}
229
- *
230
- * @returns {PromiseLike<void>}
231
- *
232
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
233
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
234
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
235
- */
236
- performAs(actor) {
237
- return Promise.all([
238
- actor.answer(this.url),
239
- actor.answer(this.timeout),
240
- ]).then(([url, timeout]) => abilities_1.BrowseTheWeb.as(actor).get(url, timeout.inMilliseconds()));
241
- }
242
- /**
243
- * @desc
244
- * Generates a description to be used when reporting this {@link @serenity-js/core/lib/screenplay~Activity}.
245
- *
246
- * @returns {string}
247
- */
248
- toString() {
249
- return (0, io_1.formatted) `#actor navigates to ${this.url} waiting up to ${this.timeout} for Angular to load`;
250
- }
251
- }
252
- /**
253
- * @package
254
- */
255
- class NavigateBack extends core_1.Interaction {
256
- /**
257
- * @desc
258
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
259
- * perform this {@link @serenity-js/core/lib/screenplay~Interaction}.
260
- *
261
- * @param {UsesAbilities & AnswersQuestions} actor
262
- * An {@link @serenity-js/core/lib/screenplay/actor~Actor} to perform this {@link @serenity-js/core/lib/screenplay~Interaction}
263
- *
264
- * @returns {PromiseLike<void>}
265
- *
266
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
267
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
268
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
269
- */
270
- performAs(actor) {
271
- return (0, promiseOf_1.promiseOf)(abilities_1.BrowseTheWeb.as(actor).navigate().back());
272
- }
273
- /**
274
- * @desc
275
- * Generates a description to be used when reporting this {@link @serenity-js/core/lib/screenplay~Activity}.
276
- *
277
- * @returns {string}
278
- */
279
- toString() {
280
- return (0, io_1.formatted) `#actor navigates back in the browser history`;
281
- }
282
- }
283
- /**
284
- * @package
285
- */
286
- class NavigateForward extends core_1.Interaction {
287
- /**
288
- * @desc
289
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
290
- * perform this {@link @serenity-js/core/lib/screenplay~Interaction}.
291
- *
292
- * @param {UsesAbilities & AnswersQuestions} actor
293
- * An {@link @serenity-js/core/lib/screenplay/actor~Actor} to perform this {@link @serenity-js/core/lib/screenplay~Interaction}
294
- *
295
- * @returns {PromiseLike<void>}
296
- *
297
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
298
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
299
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
300
- */
301
- performAs(actor) {
302
- return (0, promiseOf_1.promiseOf)(abilities_1.BrowseTheWeb.as(actor).navigate().forward());
303
- }
304
- /**
305
- * @desc
306
- * Generates a description to be used when reporting this {@link @serenity-js/core/lib/screenplay~Activity}.
307
- *
308
- * @returns {string}
309
- */
310
- toString() {
311
- return (0, io_1.formatted) `#actor navigates forward in the browser history`;
312
- }
313
- }
314
- /**
315
- * @package
316
- */
317
- class ReloadPage extends core_1.Interaction {
318
- /**
319
- * @desc
320
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
321
- * perform this {@link @serenity-js/core/lib/screenplay~Interaction}.
322
- *
323
- * @param {UsesAbilities & AnswersQuestions} actor
324
- * An {@link @serenity-js/core/lib/screenplay/actor~Actor} to perform this {@link @serenity-js/core/lib/screenplay~Interaction}
325
- *
326
- * @returns {PromiseLike<void>}
327
- *
328
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
329
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
330
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
331
- */
332
- performAs(actor) {
333
- return (0, promiseOf_1.promiseOf)(abilities_1.BrowseTheWeb.as(actor).navigate().refresh());
334
- }
335
- /**
336
- * @desc
337
- * Generates a description to be used when reporting this {@link @serenity-js/core/lib/screenplay~Activity}.
338
- *
339
- * @returns {string}
340
- */
341
- toString() {
342
- return (0, io_1.formatted) `#actor reloads the page`;
343
- }
344
- }
345
- //# sourceMappingURL=Navigate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Navigate.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Navigate.ts"],"names":[],"mappings":";;;AAAA,4CAA6H;AAC7H,iDAAqD;AAErD,+CAA4C;AAC5C,4CAA4C;AAE5C;;;;GAIG;AACH,MAAa,QAAQ;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACH,MAAM,CAAC,EAAE,CAAC,GAAuB;QAC7B,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,IAAI;QACP,OAAO,IAAI,YAAY,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,OAAO;QACV,OAAO,IAAI,eAAe,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAC,UAAU;QACb,OAAO,IAAI,UAAU,EAAE,CAAC;IAC5B,CAAC;CACJ;AAxJD,4BAwJC;AAED;;GAEG;AACH,MAAM,aAAc,SAAQ,kBAAW;IACnC,YAA6B,GAAuB;QAChD,KAAK,EAAE,CAAC;QADiB,QAAG,GAAH,GAAG,CAAoB;IAEpD,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,QAA8B;QACtC,OAAO,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,KAAuC;QAC7C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;aACxB,IAAI,CAAC,GAAG,CAAC,EAAE,CACR,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;aAC1B,KAAK,CAAC,KAAK,CAAC,EAAE;YACX,MAAM,IAAI,2BAAoB,CAAC,wBAAyB,GAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC,CAAC,CACT,CAAA;IACT,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,OAAO,IAAA,cAAS,EAAC,uBAAwB,IAAI,CAAC,GAAI,EAAE,CAAC;IACzD,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,wBAAyB,SAAQ,kBAAW;IAC9C,YAA6B,GAAuB,EAAmB,OAA6B;QAChG,KAAK,EAAE,CAAC;QADiB,QAAG,GAAH,GAAG,CAAoB;QAAmB,YAAO,GAAP,OAAO,CAAsB;IAEpG,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,KAAuC;QAC7C,OAAO,OAAO,CAAC,GAAG,CAAC;YACf,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CACvB,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAC5D,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,OAAO,IAAA,cAAS,EAAC,uBAAwB,IAAI,CAAC,GAAI,kBAAmB,IAAI,CAAC,OAAQ,sBAAsB,CAAC;IAC7G,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,YAAa,SAAQ,kBAAW;IAElC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,KAAuC;QAC7C,OAAO,IAAA,qBAAS,EAAC,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,OAAO,IAAA,cAAS,EAAC,8CAA8C,CAAC;IACpE,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,eAAgB,SAAQ,kBAAW;IAErC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,KAAuC;QAC7C,OAAO,IAAA,qBAAS,EAAC,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,OAAO,IAAA,cAAS,EAAC,iDAAiD,CAAC;IACvE,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,UAAW,SAAQ,kBAAW;IAEhC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,KAAuC;QAC7C,OAAO,IAAA,qBAAS,EAAC,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,OAAO,IAAA,cAAS,EAAC,yBAAyB,CAAC;IAC/C,CAAC;CACJ"}
@@ -1,90 +0,0 @@
1
- import { AnswersQuestions, Interaction, Question, UsesAbilities } from '@serenity-js/core';
2
- import { ElementFinder } from 'protractor';
3
- import { AlertPromise } from 'selenium-webdriver';
4
- import { PressBuilder } from './PressBuilder';
5
- /**
6
- * @desc
7
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
8
- * send a key press or a sequence of keys to a Web element.
9
- *
10
- * **Please note** that modifier keys, such as Command ⌘, [won't work on Mac](https://github.com/angular/protractor/issues/690)
11
- *
12
- * @example <caption>Example widget</caption>
13
- * <form>
14
- * <input type="text" name="example" id="example" />
15
- * </form>
16
- *
17
- * @example <caption>Lean Page Object describing the widget</caption>
18
- * import { Target } from '@serenity-js/protractor';
19
- * import { by } from 'protractor';
20
- *
21
- * class Form {
22
- * static exampleInput = Target.the('example input')
23
- * .located(by.id('example'));
24
- * }
25
- *
26
- * @example <caption>Pressing keys</caption>
27
- * import { actorCalled } from '@serenity-js/core';
28
- * import { BrowseTheWeb, Press, Value } from '@serenity-js/protractor';
29
- * import { Ensure, equals } from '@serenity-js/assertions';
30
- * import { protractor, Key } from 'protractor';
31
- *
32
- * actorCalled('Priyanka')
33
- * .whoCan(BrowseTheWeb.using(protractor.browser))
34
- * .attemptsTo(
35
- * Press.the('H', 'i', '!', Key.ENTER).in(Form.exampleInput),
36
- * Ensure.that(Value.of(Form.exampleInput), equals('Hi!')),
37
- * );
38
- *
39
- * @see {@link BrowseTheWeb}
40
- * @see {@link Target}
41
- * @see {@link @serenity-js/assertions~Ensure}
42
- * @see {@link @serenity-js/assertions/lib/expectations~equals}
43
- * @see {@link selenium-webdriver~Key}
44
- *
45
- * @extends {@serenity-js/core/lib/screenplay~Interaction}
46
- */
47
- export declare class Press extends Interaction {
48
- private readonly keys;
49
- private readonly field;
50
- /**
51
- * @desc
52
- * Instantiates this {@link @serenity-js/core/lib/screenplay~Interaction}.
53
- *
54
- * @param {...keys: string[]} keys
55
- * A sequence of one or more keys to press
56
- *
57
- * @returns {PressBuilder}
58
- */
59
- static the(...keys: string[]): PressBuilder;
60
- /**
61
- * @param {string[]} keys
62
- * A sequence of one or more keys to press
63
- *
64
- * @param {Question<ElementFinder> | ElementFinder} field
65
- * Web element to send the keys to
66
- */
67
- constructor(keys: string[], field: Question<ElementFinder> | ElementFinder | Question<AlertPromise> | AlertPromise);
68
- /**
69
- * @desc
70
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
71
- * perform this {@link @serenity-js/core/lib/screenplay~Interaction}.
72
- *
73
- * @param {UsesAbilities & AnswersQuestions} actor
74
- * An {@link @serenity-js/core/lib/screenplay/actor~Actor} to perform this {@link @serenity-js/core/lib/screenplay~Interaction}
75
- *
76
- * @returns {PromiseLike<void>}
77
- *
78
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
79
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
80
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
81
- */
82
- performAs(actor: UsesAbilities & AnswersQuestions): PromiseLike<any>;
83
- /**
84
- * @desc
85
- * Generates a description to be used when reporting this {@link @serenity-js/core/lib/screenplay~Activity}.
86
- *
87
- * @returns {string}
88
- */
89
- toString(): string;
90
- }
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Press = void 0;
4
- const core_1 = require("@serenity-js/core");
5
- const protractor_1 = require("protractor");
6
- const withAnswerOf_1 = require("../withAnswerOf");
7
- /**
8
- * @desc
9
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
10
- * send a key press or a sequence of keys to a Web element.
11
- *
12
- * **Please note** that modifier keys, such as Command ⌘, [won't work on Mac](https://github.com/angular/protractor/issues/690)
13
- *
14
- * @example <caption>Example widget</caption>
15
- * <form>
16
- * <input type="text" name="example" id="example" />
17
- * </form>
18
- *
19
- * @example <caption>Lean Page Object describing the widget</caption>
20
- * import { Target } from '@serenity-js/protractor';
21
- * import { by } from 'protractor';
22
- *
23
- * class Form {
24
- * static exampleInput = Target.the('example input')
25
- * .located(by.id('example'));
26
- * }
27
- *
28
- * @example <caption>Pressing keys</caption>
29
- * import { actorCalled } from '@serenity-js/core';
30
- * import { BrowseTheWeb, Press, Value } from '@serenity-js/protractor';
31
- * import { Ensure, equals } from '@serenity-js/assertions';
32
- * import { protractor, Key } from 'protractor';
33
- *
34
- * actorCalled('Priyanka')
35
- * .whoCan(BrowseTheWeb.using(protractor.browser))
36
- * .attemptsTo(
37
- * Press.the('H', 'i', '!', Key.ENTER).in(Form.exampleInput),
38
- * Ensure.that(Value.of(Form.exampleInput), equals('Hi!')),
39
- * );
40
- *
41
- * @see {@link BrowseTheWeb}
42
- * @see {@link Target}
43
- * @see {@link @serenity-js/assertions~Ensure}
44
- * @see {@link @serenity-js/assertions/lib/expectations~equals}
45
- * @see {@link selenium-webdriver~Key}
46
- *
47
- * @extends {@serenity-js/core/lib/screenplay~Interaction}
48
- */
49
- class Press extends core_1.Interaction {
50
- /**
51
- * @param {string[]} keys
52
- * A sequence of one or more keys to press
53
- *
54
- * @param {Question<ElementFinder> | ElementFinder} field
55
- * Web element to send the keys to
56
- */
57
- constructor(keys, field) {
58
- super();
59
- this.keys = keys;
60
- this.field = field;
61
- }
62
- /**
63
- * @desc
64
- * Instantiates this {@link @serenity-js/core/lib/screenplay~Interaction}.
65
- *
66
- * @param {...keys: string[]} keys
67
- * A sequence of one or more keys to press
68
- *
69
- * @returns {PressBuilder}
70
- */
71
- static the(...keys) {
72
- return {
73
- in: (field) => new Press(keys, field),
74
- };
75
- }
76
- /**
77
- * @desc
78
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
79
- * perform this {@link @serenity-js/core/lib/screenplay~Interaction}.
80
- *
81
- * @param {UsesAbilities & AnswersQuestions} actor
82
- * An {@link @serenity-js/core/lib/screenplay/actor~Actor} to perform this {@link @serenity-js/core/lib/screenplay~Interaction}
83
- *
84
- * @returns {PromiseLike<void>}
85
- *
86
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
87
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
88
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
89
- */
90
- performAs(actor) {
91
- return (0, withAnswerOf_1.withAnswerOf)(actor, this.field, (elf) => elf.sendKeys(...this.keys));
92
- }
93
- /**
94
- * @desc
95
- * Generates a description to be used when reporting this {@link @serenity-js/core/lib/screenplay~Activity}.
96
- *
97
- * @returns {string}
98
- */
99
- toString() {
100
- return `#actor presses ${describeSequenceOf(this.keys)} in ${this.field.toString()}`;
101
- }
102
- }
103
- exports.Press = Press;
104
- function describeSequenceOf(keys) {
105
- return keys.map(key => [
106
- capitalised(nameOf(key)),
107
- isModifier(key) ? '-' : ', ',
108
- ]).
109
- reduce((acc, current) => acc.concat(current), []).
110
- slice(0, keys.length * 2 - 1).
111
- join('');
112
- }
113
- function isModifier(key) {
114
- return !!~[protractor_1.Key.ALT, protractor_1.Key.COMMAND, protractor_1.Key.CONTROL, protractor_1.Key.SHIFT].indexOf(key);
115
- }
116
- function nameOf(key) {
117
- for (const candidate in protractor_1.Key) {
118
- if (Object.prototype.hasOwnProperty.call(protractor_1.Key, candidate) && protractor_1.Key[candidate] === key) {
119
- return candidate;
120
- }
121
- }
122
- return key;
123
- }
124
- function capitalised(name) {
125
- return name.charAt(0).toLocaleUpperCase() + name.slice(1).toLocaleLowerCase();
126
- }
127
- //# sourceMappingURL=Press.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Press.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Press.ts"],"names":[],"mappings":";;;AAAA,4CAA2F;AAC3F,2CAAgD;AAGhD,kDAA+C;AAG/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAa,KAAM,SAAQ,kBAAW;IAiBlC;;;;;;OAMG;IACH,YACqB,IAAc,EACd,KAAsF;QAEvG,KAAK,EAAE,CAAC;QAHS,SAAI,GAAJ,IAAI,CAAU;QACd,UAAK,GAAL,KAAK,CAAiF;IAG3G,CAAC;IA3BD;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAc;QACxB,OAAO;YACH,EAAE,EAAE,CAAC,KAAsF,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;SACzH,CAAC;IACN,CAAC;IAgBD;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,KAAuC;QAC7C,OAAO,IAAA,2BAAY,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,OAAO,kBAAmB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAE,OAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAG,EAAE,CAAC;IAC7F,CAAC;CACJ;AA1DD,sBA0DC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;KAC/B,CAAC;QACF,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QACjD,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC3B,OAAO,CAAC,CAAE,CAAE,CAAE,gBAAG,CAAC,GAAG,EAAE,gBAAG,CAAC,OAAO,EAAE,gBAAG,CAAC,OAAO,EAAE,gBAAG,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IAEvB,KAAK,MAAM,SAAS,IAAI,gBAAG,EAAE;QACzB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAG,EAAE,SAAS,CAAC,IAAI,gBAAG,CAAE,SAAS,CAAE,KAAK,GAAG,EAAE;YAClF,OAAO,SAAS,CAAC;SACpB;KACJ;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;AAClF,CAAC"}
@@ -1,27 +0,0 @@
1
- import { Question } from '@serenity-js/core';
2
- import { Interaction } from '@serenity-js/core/lib/screenplay';
3
- import { ElementFinder } from 'protractor';
4
- import { AlertPromise } from 'selenium-webdriver';
5
- /**
6
- * @desc
7
- * Fluent interface to make the instantiation of
8
- * the {@link @serenity-js/core/lib/screenplay~Interaction}
9
- * to {@link Press} more readable.
10
- *
11
- * @see {@link Press}
12
- *
13
- * @interface
14
- */
15
- export interface PressBuilder {
16
- /**
17
- * @desc
18
- * Instantiates an {@link @serenity-js/core/lib/screenplay~Interaction}
19
- * to {@link Press}.
20
- *
21
- * @param {Question<ElementFinder> | ElementFinder | Question<AlertPromise> | AlertPromise} field
22
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
23
- *
24
- * @see {@link Target}
25
- */
26
- in: (field: Question<ElementFinder> | ElementFinder | Question<AlertPromise> | AlertPromise) => Interaction;
27
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=PressBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PressBuilder.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/PressBuilder.ts"],"names":[],"mappings":""}
@@ -1,69 +0,0 @@
1
- import { Interaction } from '@serenity-js/core';
2
- /**
3
- * @desc
4
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
5
- * resize the browser window.
6
- *
7
- * **Please note** that another way to set the size of the browser window
8
- * is to configure it in [`protractor.conf.js`](https://github.com/angular/protractor/blob/master/lib/config.ts).
9
- *
10
- * @see {@link Window}
11
- */
12
- export declare class ResizeBrowserWindow {
13
- /**
14
- * @desc
15
- * Instantiates a version of this {@link @serenity-js/core/lib/screenplay~Interaction}
16
- * setting the size of the browser window to maximum.
17
- *
18
- * @example <caption>Maximising browser window</caption>
19
- * import { actorCalled } from '@serenity-js/core';
20
- * import { BrowseTheWeb, Navigate, ResizeBrowserWindow, Window } from '@serenity-js/protractor';
21
- * import { Ensure, isGreaterThan } from '@serenity-js/assertions';
22
- * import { protractor } from 'protractor';
23
- *
24
- * actorCalled('Ventana')
25
- * .whoCan(BrowseTheWeb.using(protractor.browser))
26
- * .attemptsTo(
27
- * Navigate.to('/app'),
28
- * ResizeBrowserWindow.toMaximum(),
29
- * Ensure.that(Window.size(), property('width', isGreaterThan(1024))),
30
- * );
31
- *
32
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
33
- *
34
- * @see {@link BrowseTheWeb}
35
- * @see {@link Window.size}
36
- * @see {@link @serenity-js/assertions~Ensure}
37
- * @see {@link @serenity-js/assertions/lib/expectations~property}
38
- * @see {@link @serenity-js/assertions/lib/expectations~isGreaterThan}
39
- */
40
- static toMaximum(): Interaction;
41
- /**
42
- * @desc
43
- * Instantiates a version of this {@link @serenity-js/core/lib/screenplay~Interaction}
44
- * setting the size of the browser window to given `width` and `height`
45
- *
46
- * @example <caption>Setting specific window size</caption>
47
- * import { actorCalled } from '@serenity-js/core';
48
- * import { BrowseTheWeb, Navigate, ResizeBrowserWindow } from '@serenity-js/protractor';
49
- * import { protractor } from 'protractor';
50
- *
51
- * actorCalled('Ventana')
52
- * .whoCan(BrowseTheWeb.using(protractor.browser))
53
- * .attemptsTo(
54
- * Navigate.to('/app'),
55
- * ResizeBrowserWindow.to(828, 1792),
56
- * );
57
- *
58
- * @see {@link BrowseTheWeb}
59
- *
60
- * @param {number} width
61
- * Desired new width of the browser window
62
- *
63
- * @param {number} height
64
- * Desired new height of the browser window
65
- *
66
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
67
- */
68
- static to(width: number, height: number): Interaction;
69
- }