@serenity-js/protractor 2.32.2 → 3.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/lib/index.d.ts +0 -2
  3. package/lib/index.js +0 -2
  4. package/lib/index.js.map +1 -1
  5. package/lib/screenplay/abilities/{BrowseTheWeb.d.ts → BrowseTheWebWithProtractor.d.ts} +52 -160
  6. package/lib/screenplay/abilities/{BrowseTheWeb.js → BrowseTheWebWithProtractor.js} +169 -218
  7. package/lib/screenplay/abilities/BrowseTheWebWithProtractor.js.map +1 -0
  8. package/lib/screenplay/abilities/index.d.ts +1 -1
  9. package/lib/screenplay/abilities/index.js +1 -1
  10. package/lib/screenplay/abilities/index.js.map +1 -1
  11. package/lib/screenplay/index.d.ts +1 -0
  12. package/lib/screenplay/index.js +1 -0
  13. package/lib/screenplay/index.js.map +1 -1
  14. package/lib/screenplay/interactions/UseAngular.js +2 -2
  15. package/lib/screenplay/interactions/UseAngular.js.map +1 -1
  16. package/lib/screenplay/interactions/index.d.ts +0 -19
  17. package/lib/screenplay/interactions/index.js +0 -19
  18. package/lib/screenplay/interactions/index.js.map +1 -1
  19. package/lib/screenplay/models/ProtractorCookie.d.ts +11 -0
  20. package/lib/screenplay/models/ProtractorCookie.js +39 -0
  21. package/lib/screenplay/models/ProtractorCookie.js.map +1 -0
  22. package/lib/screenplay/models/ProtractorModalDialog.d.ts +11 -0
  23. package/lib/screenplay/models/ProtractorModalDialog.js +43 -0
  24. package/lib/screenplay/models/ProtractorModalDialog.js.map +1 -0
  25. package/lib/screenplay/models/ProtractorNativeElementRoot.d.ts +5 -0
  26. package/lib/screenplay/{interactions/EnterBuilder.js → models/ProtractorNativeElementRoot.js} +1 -1
  27. package/lib/screenplay/models/ProtractorNativeElementRoot.js.map +1 -0
  28. package/lib/screenplay/models/ProtractorPage.d.ts +24 -0
  29. package/lib/screenplay/models/ProtractorPage.js +92 -0
  30. package/lib/screenplay/models/ProtractorPage.js.map +1 -0
  31. package/lib/screenplay/models/ProtractorPageElement.d.ts +23 -0
  32. package/lib/screenplay/models/ProtractorPageElement.js +112 -0
  33. package/lib/screenplay/models/ProtractorPageElement.js.map +1 -0
  34. package/lib/screenplay/models/ProtractorPageElements.d.ts +16 -0
  35. package/lib/screenplay/models/ProtractorPageElements.js +62 -0
  36. package/lib/screenplay/models/ProtractorPageElements.js.map +1 -0
  37. package/lib/screenplay/models/index.d.ts +6 -0
  38. package/lib/{expectations → screenplay/models}/index.js +6 -6
  39. package/lib/screenplay/models/index.js.map +1 -0
  40. package/lib/{promiseOf.d.ts → screenplay/promised.d.ts} +1 -1
  41. package/lib/{promiseOf.js → screenplay/promised.js} +4 -4
  42. package/lib/screenplay/promised.js.map +1 -0
  43. package/lib/screenplay/promisedWebElement.d.ts +11 -0
  44. package/lib/screenplay/promisedWebElement.js +27 -0
  45. package/lib/screenplay/promisedWebElement.js.map +1 -0
  46. package/lib/screenplay/questions/ProtractorParam.d.ts +24 -29
  47. package/lib/screenplay/questions/ProtractorParam.js +26 -33
  48. package/lib/screenplay/questions/ProtractorParam.js.map +1 -1
  49. package/lib/screenplay/questions/index.d.ts +0 -13
  50. package/lib/screenplay/questions/index.js +0 -16
  51. package/lib/screenplay/questions/index.js.map +1 -1
  52. package/package.json +20 -22
  53. package/src/index.ts +0 -2
  54. package/src/screenplay/abilities/{BrowseTheWeb.ts → BrowseTheWebWithProtractor.ts} +216 -241
  55. package/src/screenplay/abilities/index.ts +1 -1
  56. package/src/screenplay/index.ts +1 -0
  57. package/src/screenplay/interactions/UseAngular.ts +3 -3
  58. package/src/screenplay/interactions/index.ts +0 -19
  59. package/src/screenplay/models/ProtractorCookie.ts +41 -0
  60. package/src/screenplay/models/ProtractorModalDialog.ts +49 -0
  61. package/src/screenplay/models/ProtractorNativeElementRoot.ts +6 -0
  62. package/src/screenplay/models/ProtractorPage.ts +116 -0
  63. package/src/screenplay/models/ProtractorPageElement.ts +167 -0
  64. package/src/screenplay/models/ProtractorPageElements.ts +86 -0
  65. package/src/screenplay/models/index.ts +7 -0
  66. package/src/{promiseOf.ts → screenplay/promised.ts} +1 -1
  67. package/src/screenplay/promisedWebElement.ts +28 -0
  68. package/src/screenplay/questions/ProtractorParam.ts +29 -38
  69. package/src/screenplay/questions/index.ts +0 -13
  70. package/lib/expectations/ElementFinderExpectation.d.ts +0 -11
  71. package/lib/expectations/ElementFinderExpectation.js +0 -24
  72. package/lib/expectations/ElementFinderExpectation.js.map +0 -1
  73. package/lib/expectations/index.d.ts +0 -6
  74. package/lib/expectations/index.js.map +0 -1
  75. package/lib/expectations/isActive.d.ts +0 -13
  76. package/lib/expectations/isActive.js +0 -19
  77. package/lib/expectations/isActive.js.map +0 -1
  78. package/lib/expectations/isClickable.d.ts +0 -13
  79. package/lib/expectations/isClickable.js +0 -22
  80. package/lib/expectations/isClickable.js.map +0 -1
  81. package/lib/expectations/isEnabled.d.ts +0 -13
  82. package/lib/expectations/isEnabled.js +0 -19
  83. package/lib/expectations/isEnabled.js.map +0 -1
  84. package/lib/expectations/isPresent.d.ts +0 -14
  85. package/lib/expectations/isPresent.js +0 -20
  86. package/lib/expectations/isPresent.js.map +0 -1
  87. package/lib/expectations/isSelected.d.ts +0 -13
  88. package/lib/expectations/isSelected.js +0 -22
  89. package/lib/expectations/isSelected.js.map +0 -1
  90. package/lib/expectations/isVisible.d.ts +0 -13
  91. package/lib/expectations/isVisible.js +0 -25
  92. package/lib/expectations/isVisible.js.map +0 -1
  93. package/lib/promiseOf.js.map +0 -1
  94. package/lib/screenplay/abilities/BrowseTheWeb.js.map +0 -1
  95. package/lib/screenplay/interactions/Accept.d.ts +0 -81
  96. package/lib/screenplay/interactions/Accept.js +0 -95
  97. package/lib/screenplay/interactions/Accept.js.map +0 -1
  98. package/lib/screenplay/interactions/Clear.d.ts +0 -88
  99. package/lib/screenplay/interactions/Clear.js +0 -121
  100. package/lib/screenplay/interactions/Clear.js.map +0 -1
  101. package/lib/screenplay/interactions/Click.d.ts +0 -81
  102. package/lib/screenplay/interactions/Click.js +0 -95
  103. package/lib/screenplay/interactions/Click.js.map +0 -1
  104. package/lib/screenplay/interactions/Close.d.ts +0 -89
  105. package/lib/screenplay/interactions/Close.js +0 -169
  106. package/lib/screenplay/interactions/Close.js.map +0 -1
  107. package/lib/screenplay/interactions/DeleteCookies.d.ts +0 -72
  108. package/lib/screenplay/interactions/DeleteCookies.js +0 -149
  109. package/lib/screenplay/interactions/DeleteCookies.js.map +0 -1
  110. package/lib/screenplay/interactions/Dismiss.d.ts +0 -85
  111. package/lib/screenplay/interactions/Dismiss.js +0 -99
  112. package/lib/screenplay/interactions/Dismiss.js.map +0 -1
  113. package/lib/screenplay/interactions/DoubleClick.d.ts +0 -99
  114. package/lib/screenplay/interactions/DoubleClick.js +0 -121
  115. package/lib/screenplay/interactions/DoubleClick.js.map +0 -1
  116. package/lib/screenplay/interactions/Enter.d.ts +0 -81
  117. package/lib/screenplay/interactions/Enter.js +0 -96
  118. package/lib/screenplay/interactions/Enter.js.map +0 -1
  119. package/lib/screenplay/interactions/EnterBuilder.d.ts +0 -27
  120. package/lib/screenplay/interactions/EnterBuilder.js.map +0 -1
  121. package/lib/screenplay/interactions/ExecuteScript.d.ts +0 -171
  122. package/lib/screenplay/interactions/ExecuteScript.js +0 -291
  123. package/lib/screenplay/interactions/ExecuteScript.js.map +0 -1
  124. package/lib/screenplay/interactions/Hover.d.ts +0 -86
  125. package/lib/screenplay/interactions/Hover.js +0 -103
  126. package/lib/screenplay/interactions/Hover.js.map +0 -1
  127. package/lib/screenplay/interactions/Navigate.d.ts +0 -149
  128. package/lib/screenplay/interactions/Navigate.js +0 -345
  129. package/lib/screenplay/interactions/Navigate.js.map +0 -1
  130. package/lib/screenplay/interactions/Press.d.ts +0 -90
  131. package/lib/screenplay/interactions/Press.js +0 -127
  132. package/lib/screenplay/interactions/Press.js.map +0 -1
  133. package/lib/screenplay/interactions/PressBuilder.d.ts +0 -27
  134. package/lib/screenplay/interactions/PressBuilder.js +0 -3
  135. package/lib/screenplay/interactions/PressBuilder.js.map +0 -1
  136. package/lib/screenplay/interactions/ResizeBrowserWindow.d.ts +0 -69
  137. package/lib/screenplay/interactions/ResizeBrowserWindow.js +0 -144
  138. package/lib/screenplay/interactions/ResizeBrowserWindow.js.map +0 -1
  139. package/lib/screenplay/interactions/RightClick.d.ts +0 -97
  140. package/lib/screenplay/interactions/RightClick.js +0 -113
  141. package/lib/screenplay/interactions/RightClick.js.map +0 -1
  142. package/lib/screenplay/interactions/Scroll.d.ts +0 -83
  143. package/lib/screenplay/interactions/Scroll.js +0 -98
  144. package/lib/screenplay/interactions/Scroll.js.map +0 -1
  145. package/lib/screenplay/interactions/Select.d.ts +0 -212
  146. package/lib/screenplay/interactions/Select.js +0 -342
  147. package/lib/screenplay/interactions/Select.js.map +0 -1
  148. package/lib/screenplay/interactions/SelectBuilder.d.ts +0 -33
  149. package/lib/screenplay/interactions/SelectBuilder.js +0 -3
  150. package/lib/screenplay/interactions/SelectBuilder.js.map +0 -1
  151. package/lib/screenplay/interactions/Switch.d.ts +0 -210
  152. package/lib/screenplay/interactions/Switch.js +0 -345
  153. package/lib/screenplay/interactions/Switch.js.map +0 -1
  154. package/lib/screenplay/interactions/TakeScreenshot.d.ts +0 -67
  155. package/lib/screenplay/interactions/TakeScreenshot.js +0 -86
  156. package/lib/screenplay/interactions/TakeScreenshot.js.map +0 -1
  157. package/lib/screenplay/interactions/Wait.d.ts +0 -147
  158. package/lib/screenplay/interactions/Wait.js +0 -247
  159. package/lib/screenplay/interactions/Wait.js.map +0 -1
  160. package/lib/screenplay/interactions/WaitBuilder.d.ts +0 -33
  161. package/lib/screenplay/interactions/WaitBuilder.js +0 -3
  162. package/lib/screenplay/interactions/WaitBuilder.js.map +0 -1
  163. package/lib/screenplay/questions/Attribute.d.ts +0 -29
  164. package/lib/screenplay/questions/Attribute.js +0 -56
  165. package/lib/screenplay/questions/Attribute.js.map +0 -1
  166. package/lib/screenplay/questions/Browser.d.ts +0 -47
  167. package/lib/screenplay/questions/Browser.js +0 -55
  168. package/lib/screenplay/questions/Browser.js.map +0 -1
  169. package/lib/screenplay/questions/CSSClasses.d.ts +0 -94
  170. package/lib/screenplay/questions/CSSClasses.js +0 -118
  171. package/lib/screenplay/questions/CSSClasses.js.map +0 -1
  172. package/lib/screenplay/questions/Cookie.d.ts +0 -9
  173. package/lib/screenplay/questions/Cookie.js +0 -65
  174. package/lib/screenplay/questions/Cookie.js.map +0 -1
  175. package/lib/screenplay/questions/LastScriptExecution.d.ts +0 -14
  176. package/lib/screenplay/questions/LastScriptExecution.js +0 -22
  177. package/lib/screenplay/questions/LastScriptExecution.js.map +0 -1
  178. package/lib/screenplay/questions/ModalDialog.d.ts +0 -120
  179. package/lib/screenplay/questions/ModalDialog.js +0 -142
  180. package/lib/screenplay/questions/ModalDialog.js.map +0 -1
  181. package/lib/screenplay/questions/Pick.d.ts +0 -72
  182. package/lib/screenplay/questions/Pick.js +0 -254
  183. package/lib/screenplay/questions/Pick.js.map +0 -1
  184. package/lib/screenplay/questions/Selected.d.ts +0 -185
  185. package/lib/screenplay/questions/Selected.js +0 -254
  186. package/lib/screenplay/questions/Selected.js.map +0 -1
  187. package/lib/screenplay/questions/Value.d.ts +0 -47
  188. package/lib/screenplay/questions/Value.js +0 -67
  189. package/lib/screenplay/questions/Value.js.map +0 -1
  190. package/lib/screenplay/questions/Website.d.ts +0 -15
  191. package/lib/screenplay/questions/Website.js +0 -25
  192. package/lib/screenplay/questions/Website.js.map +0 -1
  193. package/lib/screenplay/questions/Window.d.ts +0 -23
  194. package/lib/screenplay/questions/Window.js +0 -28
  195. package/lib/screenplay/questions/Window.js.map +0 -1
  196. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.d.ts +0 -89
  197. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.js +0 -138
  198. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.js.map +0 -1
  199. package/lib/screenplay/questions/lists/index.d.ts +0 -1
  200. package/lib/screenplay/questions/lists/index.js +0 -14
  201. package/lib/screenplay/questions/lists/index.js.map +0 -1
  202. package/lib/screenplay/questions/targets/Target.d.ts +0 -168
  203. package/lib/screenplay/questions/targets/Target.js +0 -190
  204. package/lib/screenplay/questions/targets/Target.js.map +0 -1
  205. package/lib/screenplay/questions/targets/TargetElement.d.ts +0 -50
  206. package/lib/screenplay/questions/targets/TargetElement.js +0 -62
  207. package/lib/screenplay/questions/targets/TargetElement.js.map +0 -1
  208. package/lib/screenplay/questions/targets/TargetElements.d.ts +0 -102
  209. package/lib/screenplay/questions/targets/TargetElements.js +0 -124
  210. package/lib/screenplay/questions/targets/TargetElements.js.map +0 -1
  211. package/lib/screenplay/questions/targets/TargetNestedElement.d.ts +0 -49
  212. package/lib/screenplay/questions/targets/TargetNestedElement.js +0 -61
  213. package/lib/screenplay/questions/targets/TargetNestedElement.js.map +0 -1
  214. package/lib/screenplay/questions/targets/TargetNestedElements.d.ts +0 -101
  215. package/lib/screenplay/questions/targets/TargetNestedElements.js +0 -123
  216. package/lib/screenplay/questions/targets/TargetNestedElements.js.map +0 -1
  217. package/lib/screenplay/questions/targets/builders.d.ts +0 -8
  218. package/lib/screenplay/questions/targets/builders.js +0 -3
  219. package/lib/screenplay/questions/targets/builders.js.map +0 -1
  220. package/lib/screenplay/questions/targets/index.d.ts +0 -5
  221. package/lib/screenplay/questions/targets/index.js +0 -18
  222. package/lib/screenplay/questions/targets/index.js.map +0 -1
  223. package/lib/screenplay/questions/targets/override.d.ts +0 -7
  224. package/lib/screenplay/questions/targets/override.js +0 -21
  225. package/lib/screenplay/questions/targets/override.js.map +0 -1
  226. package/lib/screenplay/questions/text/Text.d.ts +0 -41
  227. package/lib/screenplay/questions/text/Text.js +0 -50
  228. package/lib/screenplay/questions/text/Text.js.map +0 -1
  229. package/lib/screenplay/questions/text/TextOfMultipleElements.d.ts +0 -23
  230. package/lib/screenplay/questions/text/TextOfMultipleElements.js +0 -37
  231. package/lib/screenplay/questions/text/TextOfMultipleElements.js.map +0 -1
  232. package/lib/screenplay/questions/text/TextOfSingleElement.d.ts +0 -23
  233. package/lib/screenplay/questions/text/TextOfSingleElement.js +0 -35
  234. package/lib/screenplay/questions/text/TextOfSingleElement.js.map +0 -1
  235. package/lib/screenplay/questions/text/index.d.ts +0 -1
  236. package/lib/screenplay/questions/text/index.js +0 -14
  237. package/lib/screenplay/questions/text/index.js.map +0 -1
  238. package/lib/screenplay/withAnswerOf.d.ts +0 -8
  239. package/lib/screenplay/withAnswerOf.js +0 -18
  240. package/lib/screenplay/withAnswerOf.js.map +0 -1
  241. package/lib/stage/crew/index.d.ts +0 -1
  242. package/lib/stage/crew/index.js +0 -14
  243. package/lib/stage/crew/index.js.map +0 -1
  244. package/lib/stage/crew/photographer/Photographer.d.ts +0 -83
  245. package/lib/stage/crew/photographer/Photographer.js +0 -102
  246. package/lib/stage/crew/photographer/Photographer.js.map +0 -1
  247. package/lib/stage/crew/photographer/index.d.ts +0 -2
  248. package/lib/stage/crew/photographer/index.js +0 -15
  249. package/lib/stage/crew/photographer/index.js.map +0 -1
  250. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +0 -28
  251. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +0 -65
  252. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +0 -1
  253. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +0 -18
  254. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +0 -30
  255. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +0 -1
  256. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +0 -17
  257. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +0 -28
  258. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +0 -1
  259. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +0 -19
  260. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +0 -28
  261. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +0 -1
  262. package/lib/stage/crew/photographer/strategies/index.d.ts +0 -4
  263. package/lib/stage/crew/photographer/strategies/index.js +0 -17
  264. package/lib/stage/crew/photographer/strategies/index.js.map +0 -1
  265. package/lib/stage/index.d.ts +0 -1
  266. package/lib/stage/index.js +0 -14
  267. package/lib/stage/index.js.map +0 -1
  268. package/src/expectations/ElementFinderExpectation.ts +0 -29
  269. package/src/expectations/index.ts +0 -6
  270. package/src/expectations/isActive.ts +0 -24
  271. package/src/expectations/isClickable.ts +0 -20
  272. package/src/expectations/isEnabled.ts +0 -18
  273. package/src/expectations/isPresent.ts +0 -19
  274. package/src/expectations/isSelected.ts +0 -23
  275. package/src/expectations/isVisible.ts +0 -27
  276. package/src/screenplay/interactions/Accept.ts +0 -95
  277. package/src/screenplay/interactions/Clear.ts +0 -130
  278. package/src/screenplay/interactions/Click.ts +0 -96
  279. package/src/screenplay/interactions/Close.ts +0 -184
  280. package/src/screenplay/interactions/DeleteCookies.ts +0 -154
  281. package/src/screenplay/interactions/Dismiss.ts +0 -99
  282. package/src/screenplay/interactions/DoubleClick.ts +0 -124
  283. package/src/screenplay/interactions/Enter.ts +0 -104
  284. package/src/screenplay/interactions/EnterBuilder.ts +0 -29
  285. package/src/screenplay/interactions/ExecuteScript.ts +0 -325
  286. package/src/screenplay/interactions/Hover.ts +0 -106
  287. package/src/screenplay/interactions/Navigate.ts +0 -363
  288. package/src/screenplay/interactions/Press.ts +0 -137
  289. package/src/screenplay/interactions/PressBuilder.ts +0 -29
  290. package/src/screenplay/interactions/ResizeBrowserWindow.ts +0 -148
  291. package/src/screenplay/interactions/RightClick.ts +0 -114
  292. package/src/screenplay/interactions/Scroll.ts +0 -99
  293. package/src/screenplay/interactions/Select.ts +0 -402
  294. package/src/screenplay/interactions/SelectBuilder.ts +0 -35
  295. package/src/screenplay/interactions/Switch.ts +0 -393
  296. package/src/screenplay/interactions/TakeScreenshot.ts +0 -89
  297. package/src/screenplay/interactions/Wait.ts +0 -267
  298. package/src/screenplay/interactions/WaitBuilder.ts +0 -35
  299. package/src/screenplay/questions/Attribute.ts +0 -67
  300. package/src/screenplay/questions/Browser.ts +0 -55
  301. package/src/screenplay/questions/CSSClasses.ts +0 -121
  302. package/src/screenplay/questions/Cookie.ts +0 -70
  303. package/src/screenplay/questions/LastScriptExecution.ts +0 -21
  304. package/src/screenplay/questions/ModalDialog.ts +0 -149
  305. package/src/screenplay/questions/Pick.ts +0 -334
  306. package/src/screenplay/questions/Selected.ts +0 -268
  307. package/src/screenplay/questions/Value.ts +0 -73
  308. package/src/screenplay/questions/Website.ts +0 -27
  309. package/src/screenplay/questions/Window.ts +0 -29
  310. package/src/screenplay/questions/lists/ElementArrayFinderListAdapter.ts +0 -158
  311. package/src/screenplay/questions/lists/index.ts +0 -1
  312. package/src/screenplay/questions/targets/Target.ts +0 -198
  313. package/src/screenplay/questions/targets/TargetElement.ts +0 -70
  314. package/src/screenplay/questions/targets/TargetElements.ts +0 -142
  315. package/src/screenplay/questions/targets/TargetNestedElement.ts +0 -71
  316. package/src/screenplay/questions/targets/TargetNestedElements.ts +0 -142
  317. package/src/screenplay/questions/targets/builders.ts +0 -10
  318. package/src/screenplay/questions/targets/index.ts +0 -5
  319. package/src/screenplay/questions/targets/override.ts +0 -17
  320. package/src/screenplay/questions/text/Text.ts +0 -55
  321. package/src/screenplay/questions/text/TextOfMultipleElements.ts +0 -40
  322. package/src/screenplay/questions/text/TextOfSingleElement.ts +0 -37
  323. package/src/screenplay/questions/text/index.ts +0 -1
  324. package/src/screenplay/withAnswerOf.ts +0 -19
  325. package/src/stage/crew/index.ts +0 -1
  326. package/src/stage/crew/photographer/Photographer.ts +0 -108
  327. package/src/stage/crew/photographer/index.ts +0 -2
  328. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +0 -102
  329. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +0 -28
  330. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +0 -26
  331. package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +0 -26
  332. package/src/stage/crew/photographer/strategies/index.ts +0 -4
  333. package/src/stage/index.ts +0 -1
@@ -1,345 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Switch = void 0;
4
- const core_1 = require("@serenity-js/core");
5
- const protractor_1 = require("protractor");
6
- const abilities_1 = require("../abilities");
7
- /**
8
- * @desc
9
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor}
10
- * to switch to a different [frame](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/frame),
11
- * [inline frame](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe),
12
- * or browser window/tab.
13
- *
14
- * @example <caption>Lean Page Object describing a login form, embedded in an iframe</caption>
15
- *
16
- * import { Target } from '@serenity-js/protractor';
17
- * import { by } from 'protractor';
18
- *
19
- * class LoginForm {
20
- * static iframe = Target.the('login form').located(by.tagName('iframe'));
21
- * static usernameField = Target.the('username field').located(by.css('[data-test="username"]'));
22
- * static passwordField = Target.the('password field').located(by.css('[data-test="password"]'));
23
- * static submitButton = Target.the('submit button').located(by.css(`button[type='submit']`));
24
- * }
25
- *
26
- * @example <caption>Switch to an iframe and back</caption>
27
- *
28
- * import { actorCalled } from '@serenity-js/core';
29
- * import { BrowseTheWeb, Switch, Enter, Click } from '@serenity-js/protractor';
30
- * import { protractor } from 'protractor';
31
- *
32
- * actorCalled('Francesca')
33
- * .whoCan(BrowseTheWeb.using(protractor.browser))
34
- * .attemptsTo(
35
- * Switch.toFrame(LoginForm.iframe),
36
- *
37
- * Enter.theValue('francesca@example.org').into(LoginForm.usernameField),
38
- * Enter.theValue('correct-horse-battery-staple').into(LoginForm.passwordField),
39
- * Click.on(LoginForm.submitButton),
40
- *
41
- * Switch.toParentFrame(),
42
- * );
43
- *
44
- * @example <caption>Perform activities in the context of an iframe</caption>
45
- *
46
- * import { actorCalled } from '@serenity-js/core';
47
- * import { BrowseTheWeb, Switch, Enter, Click } from '@serenity-js/protractor';
48
- * import { protractor } from 'protractor';
49
- *
50
- * actorCalled('Francesca')
51
- * .whoCan(BrowseTheWeb.using(protractor.browser))
52
- * .attemptsTo(
53
- * Switch.toFrame(LoginForm.iframe).and(
54
- * Enter.theValue('francesca@example.org').into(LoginForm.usernameField),
55
- * Enter.theValue('correct-horse-battery-staple').into(LoginForm.passwordField),
56
- * Click.on(LoginForm.submitButton),
57
- * ),
58
- * // Note that Switch.toParentFrame() is invoked automatically
59
- * );
60
- *
61
- * @example <caption>Switch to a new window/tab and back</caption>
62
- *
63
- * import { actorCalled } from '@serenity-js/core';
64
- * import { BrowseTheWeb, Switch, Close } from '@serenity-js/protractor';
65
- * import { protractor } from 'protractor';
66
- *
67
- * actorCalled('Francesca')
68
- * .whoCan(BrowseTheWeb.using(protractor.browser))
69
- * .attemptsTo(
70
- * Switch.toNewWindow(), // or: Switch.toWindow(...)
71
- *
72
- * // perform some activities in the context of the new window
73
- *
74
- * Close.currentWindow(),
75
- *
76
- * Switch.toOriginalWindow(),
77
- * );
78
- *
79
- * @example <caption>Perform activities in the context of a different window/tab</caption>
80
- *
81
- * import { actorCalled } from '@serenity-js/core';
82
- * import { BrowseTheWeb, Switch, Close } from '@serenity-js/protractor';
83
- * import { protractor } from 'protractor';
84
- *
85
- * actorCalled('Francesca')
86
- * .whoCan(BrowseTheWeb.using(protractor.browser))
87
- * .attemptsTo(
88
- * Switch.toNewWindow().and(
89
- * // perform some activities in the context of the new window
90
- *
91
- * Close.currentWindow()
92
- * ),
93
- *
94
- * // Note that Switch.toOriginalWindow() is invoked automatically
95
- * );
96
- *
97
- * @see {@link Close}
98
- * @see {@link BrowseTheWeb}
99
- */
100
- class Switch {
101
- /**
102
- * @desc
103
- * Switches the current [browsing context](https://w3c.github.io/webdriver/#dfn-current-browsing-context)
104
- * for future commands to a [frame](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/frame)
105
- * or an [inline frame](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe)
106
- * identified by its name, index or `Question<ElementFinder>`.
107
- *
108
- * @param {Answerable<ElementFinder | number | string>} targetOrIndex
109
- *
110
- * @returns {SwitchToFrame}
111
- *
112
- * @see {@link Switch.toParentFrame}
113
- * @see {@link Switch.toDefaultContent}
114
- * @see {@link Target}
115
- */
116
- static toFrame(targetOrIndex) {
117
- return new SwitchToFrame(targetOrIndex);
118
- }
119
- /**
120
- * @desc
121
- * Sets the current [browsing context](https://w3c.github.io/webdriver/#dfn-current-browsing-context)
122
- * for future commands to the parent of the current browsing context,
123
- * i.e. an `iframe` in which the current `iframe` is nested.
124
- *
125
- * If the current context is the top-level browsing context, the context remains unchanged.
126
- *
127
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
128
- *
129
- * @see {@link Switch.toFrame}
130
- * @see https://w3c.github.io/webdriver/#switch-to-parent-frame
131
- * @see https://w3c.github.io/webdriver/#dfn-current-browsing-context
132
- */
133
- static toParentFrame() {
134
- return new SwitchToParentFrame();
135
- }
136
- /**
137
- * @desc
138
- * Switches the current [browsing context](https://w3c.github.io/webdriver/#dfn-current-browsing-context)
139
- * for future commands to the first frame on the page, or the main document
140
- * when a page contains [`iframe`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe)s.
141
- *
142
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
143
- *
144
- * @see {@link Switch.toFrame}
145
- */
146
- static toDefaultContent() {
147
- return new SwitchToDefaultContent();
148
- }
149
- /**
150
- * @desc
151
- * Switches the current [browsing context](https://w3c.github.io/webdriver/#dfn-current-browsing-context)
152
- * for future commands to a browser tab/window identified by its
153
- * name, index or [window handle](https://developer.mozilla.org/en-US/docs/Web/WebDriver/Commands/GetWindowHandles).
154
- *
155
- * @param {Answerable<string | number>} nameOrHandleOrIndex
156
- * @returns {SwitchToWindow}
157
- */
158
- static toWindow(nameOrHandleOrIndex) {
159
- return new SwitchToWindow(nameOrHandleOrIndex);
160
- }
161
- /**
162
- * @desc
163
- * Switches the current [browsing context](https://w3c.github.io/webdriver/#dfn-current-browsing-context)
164
- * for future commands to the most recently opened browser tab/window.
165
- *
166
- * **Please note** that this behaviour might vary in some browsers if there are more than two windows opened
167
- * at the same time.
168
- *
169
- * @returns {SwitchToNewWindow}
170
- */
171
- static toNewWindow() {
172
- return new SwitchToNewWindow();
173
- }
174
- /**
175
- * @desc
176
- * Switches the current [browsing context](https://w3c.github.io/webdriver/#dfn-current-browsing-context)
177
- * for future commands to the original window used when the {@link @serenity-js/core/lib/screenplay/actor~Actor}
178
- * performed an interaction to {@link Navigate}.
179
- *
180
- * **Please note** that this behaviour might vary in some browsers if there are more than two windows opened
181
- * at the same time, as window handles might be ordered alphabetically instead of the order in which they were created.
182
- *
183
- * @returns {SwitchToOriginalWindow}
184
- */
185
- static toOriginalWindow() {
186
- return new SwitchToOriginalWindow();
187
- }
188
- }
189
- exports.Switch = Switch;
190
- /**
191
- * @package
192
- */
193
- class SwitchToFrame extends core_1.Interaction {
194
- constructor(targetOrIndex) {
195
- super();
196
- this.targetOrIndex = targetOrIndex;
197
- }
198
- and(...activities) {
199
- return new SwitchToFrameAndPerformActivities(this.targetOrIndex, activities);
200
- }
201
- performAs(actor) {
202
- return actor.answer(this.targetOrIndex)
203
- .then((targetOrIndex) => abilities_1.BrowseTheWeb.as(actor).switchToFrame(targetOrIndex instanceof protractor_1.ElementFinder
204
- ? targetOrIndex.getWebElement() // https://github.com/angular/protractor/issues/1846#issuecomment-82634739
205
- : targetOrIndex));
206
- }
207
- toString() {
208
- return `#actor switches to frame: ${this.targetOrIndex}`;
209
- }
210
- }
211
- /**
212
- * @package
213
- */
214
- class SwitchToFrameAndPerformActivities extends core_1.Task {
215
- constructor(targetOrIndex, activities) {
216
- super();
217
- this.targetOrIndex = targetOrIndex;
218
- this.activities = activities;
219
- }
220
- performAs(actor) {
221
- return actor.attemptsTo(new SwitchToFrame(this.targetOrIndex), ...this.activities, new SwitchToParentFrame());
222
- }
223
- toString() {
224
- return `#actor switches to frame: ${this.targetOrIndex}`;
225
- }
226
- }
227
- /**
228
- * @package
229
- */
230
- class SwitchToParentFrame extends core_1.Interaction {
231
- performAs(actor) {
232
- return abilities_1.BrowseTheWeb.as(actor).switchToParentFrame();
233
- }
234
- toString() {
235
- return `#actor switches to parent frame`;
236
- }
237
- }
238
- /**
239
- * @package
240
- */
241
- class SwitchToDefaultContent extends core_1.Interaction {
242
- performAs(actor) {
243
- return abilities_1.BrowseTheWeb.as(actor).switchToDefaultContent();
244
- }
245
- toString() {
246
- return `#actor switches to default content`;
247
- }
248
- }
249
- /**
250
- * @package
251
- */
252
- class SwitchToWindow extends core_1.Interaction {
253
- constructor(nameOrHandleOrIndex) {
254
- super();
255
- this.nameOrHandleOrIndex = nameOrHandleOrIndex;
256
- }
257
- and(...activities) {
258
- return new SwitchToWindowAndPerformActivities(this.nameOrHandleOrIndex, activities);
259
- }
260
- performAs(actor) {
261
- return actor.answer(this.nameOrHandleOrIndex).then(index => abilities_1.BrowseTheWeb.as(actor).switchToWindow(index));
262
- }
263
- toString() {
264
- return `#actor switches to window: ${this.nameOrHandleOrIndex}`;
265
- }
266
- }
267
- /**
268
- * @package
269
- */
270
- class SwitchToWindowAndPerformActivities extends core_1.Task {
271
- constructor(nameOrHandleOrIndex, activities) {
272
- super();
273
- this.nameOrHandleOrIndex = nameOrHandleOrIndex;
274
- this.activities = activities;
275
- }
276
- performAs(actor) {
277
- return abilities_1.BrowseTheWeb.as(actor).getCurrentWindowHandle()
278
- .then(currentWindow => {
279
- return actor.attemptsTo(new SwitchToWindow(this.nameOrHandleOrIndex), ...this.activities, new SwitchToWindow(currentWindow));
280
- });
281
- }
282
- toString() {
283
- return `#actor switches to window: ${this.nameOrHandleOrIndex}`;
284
- }
285
- }
286
- /**
287
- * @package
288
- */
289
- class SwitchToNewWindow extends core_1.Interaction {
290
- constructor() {
291
- super();
292
- }
293
- and(...activities) {
294
- return new SwitchToNewWindowAndPerformActivities(activities);
295
- }
296
- performAs(actor) {
297
- return Promise.all([
298
- abilities_1.BrowseTheWeb.as(actor).getCurrentWindowHandle(),
299
- abilities_1.BrowseTheWeb.as(actor).getAllWindowHandles(),
300
- ])
301
- .then(([currentHandle, handles]) => handles.filter(handle => handle !== currentHandle))
302
- .then(handles => {
303
- if (handles.length === 0) {
304
- throw new core_1.LogicError(`No new window has been opened to switch to`);
305
- }
306
- return abilities_1.BrowseTheWeb.as(actor).switchToWindow(handles[handles.length - 1]);
307
- });
308
- }
309
- toString() {
310
- return `#actor switches to the new browser window`;
311
- }
312
- }
313
- /**
314
- * @package
315
- */
316
- class SwitchToNewWindowAndPerformActivities extends core_1.Task {
317
- constructor(activities) {
318
- super();
319
- this.activities = activities;
320
- }
321
- performAs(actor) {
322
- return abilities_1.BrowseTheWeb.as(actor).getCurrentWindowHandle()
323
- .then(currentWindow => {
324
- return actor.attemptsTo(new SwitchToNewWindow(), ...this.activities, new SwitchToWindow(currentWindow));
325
- });
326
- }
327
- toString() {
328
- return `#actor switches to the new window`;
329
- }
330
- }
331
- /**
332
- * @package
333
- */
334
- class SwitchToOriginalWindow extends core_1.Interaction {
335
- constructor() {
336
- super();
337
- }
338
- performAs(actor) {
339
- return abilities_1.BrowseTheWeb.as(actor).switchToOriginalWindow();
340
- }
341
- toString() {
342
- return `#actor switches back to the original browser window`;
343
- }
344
- }
345
- //# sourceMappingURL=Switch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/Switch.ts"],"names":[],"mappings":";;;AAAA,4CAA6I;AAC7I,2CAA2C;AAG3C,4CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4FG;AACH,MAAa,MAAM;IAEf;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,OAAO,CAAC,aAA0D;QACrE,OAAO,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,aAAa;QAChB,OAAO,IAAI,mBAAmB,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,gBAAgB;QACnB,OAAO,IAAI,sBAAsB,EAAE,CAAC;IACxC,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,mBAAgD;QAC5D,OAAO,IAAI,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,WAAW;QACd,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,gBAAgB;QACnB,OAAO,IAAI,sBAAsB,EAAE,CAAC;IACxC,CAAC;CACJ;AA9FD,wBA8FC;AAED;;GAEG;AACH,MAAM,aAAc,SAAQ,kBAAW;IACnC,YAA6B,aAA0D;QACnF,KAAK,EAAE,CAAC;QADiB,kBAAa,GAAb,aAAa,CAA6C;IAEvF,CAAC;IAED,GAAG,CAAC,GAAG,UAAsB;QACzB,OAAO,IAAI,iCAAiC,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAED,SAAS,CAAC,KAAuC;QAC7C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;aAClC,IAAI,CAAC,CAAC,aAA4B,EAAE,EAAE,CACnC,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,aAAa,CAChC,aAAa,YAAY,0BAAa;YAClC,CAAC,CAAC,aAAa,CAAC,aAAa,EAAkC,CAAC,0EAA0E;YAC1I,CAAC,CAAC,aAAa,CACtB,CACJ,CAAC;IACV,CAAC;IAED,QAAQ;QACJ,OAAO,6BAA8B,IAAI,CAAC,aAAc,EAAE,CAAC;IAC/D,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,iCAAkC,SAAQ,WAAI;IAChD,YACqB,aAA0D,EAC1D,UAAsB;QAEvC,KAAK,EAAE,CAAC;QAHS,kBAAa,GAAb,aAAa,CAA6C;QAC1D,eAAU,GAAV,UAAU,CAAY;IAG3C,CAAC;IAED,SAAS,CAAC,KAAyB;QAC/B,OAAO,KAAK,CAAC,UAAU,CACnB,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EACrC,GAAG,IAAI,CAAC,UAAU,EAClB,IAAI,mBAAmB,EAAE,CAC5B,CAAA;IACL,CAAC;IAED,QAAQ;QACJ,OAAO,6BAA8B,IAAI,CAAC,aAAc,EAAE,CAAC;IAC/D,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,mBAAoB,SAAQ,kBAAW;IACzC,SAAS,CAAC,KAAuC;QAC7C,OAAO,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,CAAC;IACxD,CAAC;IAED,QAAQ;QACJ,OAAO,iCAAiC,CAAC;IAC7C,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,sBAAuB,SAAQ,kBAAW;IAC5C,SAAS,CAAC,KAAuC;QAC7C,OAAO,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,CAAC;IAC3D,CAAC;IAED,QAAQ;QACJ,OAAO,oCAAoC,CAAC;IAChD,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,cAAe,SAAQ,kBAAW;IACpC,YAA6B,mBAAgD;QACzE,KAAK,EAAE,CAAC;QADiB,wBAAmB,GAAnB,mBAAmB,CAA6B;IAE7E,CAAC;IAED,GAAG,CAAC,GAAG,UAAsB;QACzB,OAAO,IAAI,kCAAkC,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IACxF,CAAC;IAED,SAAS,CAAC,KAAuC;QAC7C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,QAAQ;QACJ,OAAO,8BAA8B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACpE,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,kCAAmC,SAAQ,WAAI;IACjD,YACqB,mBAAgD,EAChD,UAAsB;QAEvC,KAAK,EAAE,CAAC;QAHS,wBAAmB,GAAnB,mBAAmB,CAA6B;QAChD,eAAU,GAAV,UAAU,CAAY;IAG3C,CAAC;IAED,SAAS,CAAC,KAAyC;QAC/C,OAAO,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE;aACjD,IAAI,CAAC,aAAa,CAAC,EAAE;YAClB,OAAO,KAAK,CAAC,UAAU,CACnB,IAAI,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAC5C,GAAG,IAAI,CAAC,UAAU,EAClB,IAAI,cAAc,CAAC,aAAa,CAAC,CACpC,CAAC;QACN,CAAC,CAAC,CAAC;IACX,CAAC;IAED,QAAQ;QACJ,OAAO,8BAA+B,IAAI,CAAC,mBAAoB,EAAE,CAAC;IACtE,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,iBAAkB,SAAQ,kBAAW;IACvC;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAED,GAAG,CAAC,GAAG,UAAsB;QACzB,OAAO,IAAI,qCAAqC,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,SAAS,CAAC,KAAuC;QAC7C,OAAO,OAAO,CAAC,GAAG,CAAC;YACf,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE;YAC/C,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE;SAC/C,CAAC;aACD,IAAI,CAAC,CAAC,CAAE,aAAa,EAAE,OAAO,CAAwB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;aAC9G,IAAI,CAAC,OAAO,CAAC,EAAE;YACZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,MAAM,IAAI,iBAAU,CAAC,4CAA4C,CAAC,CAAA;aACrE;YAED,OAAO,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,OAAO,2CAA2C,CAAC;IACvD,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,qCAAsC,SAAQ,WAAI;IACpD,YAA6B,UAAsB;QAC/C,KAAK,EAAE,CAAC;QADiB,eAAU,GAAV,UAAU,CAAY;IAEnD,CAAC;IAED,SAAS,CAAC,KAAyC;QAC/C,OAAO,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE;aACjD,IAAI,CAAC,aAAa,CAAC,EAAE;YAClB,OAAO,KAAK,CAAC,UAAU,CACnB,IAAI,iBAAiB,EAAE,EACvB,GAAG,IAAI,CAAC,UAAU,EAClB,IAAI,cAAc,CAAC,aAAa,CAAC,CACpC,CAAC;QACN,CAAC,CAAC,CAAC;IACX,CAAC;IAED,QAAQ;QACJ,OAAO,mCAAmC,CAAC;IAC/C,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,sBAAuB,SAAQ,kBAAW;IAC5C;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,CAAC,KAAuC;QAC7C,OAAO,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,CAAC;IAC3D,CAAC;IAED,QAAQ;QACJ,OAAO,qDAAqD,CAAC;IACjE,CAAC;CACJ"}
@@ -1,67 +0,0 @@
1
- import { Answerable, AnswersQuestions, CollectsArtifacts, Interaction, UsesAbilities } from '@serenity-js/core';
2
- /**
3
- * @desc
4
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
5
- * take a screenshot and emit an {@link @serenity-js/core/lib/model~Artifact},
6
- * which can then be persisted by {@link @serenity-js/core/lib/stage/crew/artifact-archiver~ArtifactArchiver}
7
- * and reported by [Serenity BDD reporter](/modules/serenity-bdd).
8
- *
9
- * @example <caption>Clicking on an element</caption>
10
- * import { actorCalled } from '@serenity-js/core';
11
- * import { BrowseTheWeb, Navigate, TakeScreenshot } from '@serenity-js/protractor';
12
- * import { protractor } from 'protractor';
13
- *
14
- * actorCalled('Tania')
15
- * .whoCan(BrowseTheWeb.using(protractor.browser))
16
- * .attemptsTo(
17
- * Navigate.to('/app'),
18
- * TakeScreenshot.of('my app'),
19
- * );
20
- *
21
- * @see {@link BrowseTheWeb}
22
- * @see {@link @serenity-js/core/lib/screenplay/actor~CollectsArtifacts}
23
- * @see {@link @serenity-js/core/lib/model~Artifact}
24
- * @see {@link @serenity-js/core/lib/stage/crew/artifact-archiver~ArtifactArchiver}
25
- *
26
- * @extends {@serenity-js/core/lib/screenplay~Interaction}
27
- */
28
- export declare class TakeScreenshot extends Interaction {
29
- private readonly name;
30
- /**
31
- * @desc
32
- * Instantiates this {@link @serenity-js/core/lib/screenplay~Interaction}.
33
- *
34
- * @param {Answerable<string>} name
35
- * The name to associate the screenshot with
36
- *
37
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
38
- */
39
- static of(name: Answerable<string>): Interaction;
40
- /**
41
- * @param {Answerable<string>} name
42
- * The name to associate the screenshot with
43
- */
44
- constructor(name: Answerable<string>);
45
- /**
46
- * @desc
47
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
48
- * perform this {@link @serenity-js/core/lib/screenplay~Interaction}.
49
- *
50
- * @param {UsesAbilities & AnswersQuestions} actor
51
- * An {@link @serenity-js/core/lib/screenplay/actor~Actor} to perform this {@link @serenity-js/core/lib/screenplay~Interaction}
52
- *
53
- * @returns {PromiseLike<void>}
54
- *
55
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
56
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
57
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
58
- */
59
- performAs(actor: UsesAbilities & AnswersQuestions & CollectsArtifacts): PromiseLike<void>;
60
- /**
61
- * @desc
62
- * Generates a description to be used when reporting this {@link @serenity-js/core/lib/screenplay~Activity}.
63
- *
64
- * @returns {string}
65
- */
66
- toString(): string;
67
- }
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TakeScreenshot = void 0;
4
- const core_1 = require("@serenity-js/core");
5
- const io_1 = require("@serenity-js/core/lib/io");
6
- const model_1 = require("@serenity-js/core/lib/model");
7
- const abilities_1 = require("../abilities");
8
- /**
9
- * @desc
10
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
11
- * take a screenshot and emit an {@link @serenity-js/core/lib/model~Artifact},
12
- * which can then be persisted by {@link @serenity-js/core/lib/stage/crew/artifact-archiver~ArtifactArchiver}
13
- * and reported by [Serenity BDD reporter](/modules/serenity-bdd).
14
- *
15
- * @example <caption>Clicking on an element</caption>
16
- * import { actorCalled } from '@serenity-js/core';
17
- * import { BrowseTheWeb, Navigate, TakeScreenshot } from '@serenity-js/protractor';
18
- * import { protractor } from 'protractor';
19
- *
20
- * actorCalled('Tania')
21
- * .whoCan(BrowseTheWeb.using(protractor.browser))
22
- * .attemptsTo(
23
- * Navigate.to('/app'),
24
- * TakeScreenshot.of('my app'),
25
- * );
26
- *
27
- * @see {@link BrowseTheWeb}
28
- * @see {@link @serenity-js/core/lib/screenplay/actor~CollectsArtifacts}
29
- * @see {@link @serenity-js/core/lib/model~Artifact}
30
- * @see {@link @serenity-js/core/lib/stage/crew/artifact-archiver~ArtifactArchiver}
31
- *
32
- * @extends {@serenity-js/core/lib/screenplay~Interaction}
33
- */
34
- class TakeScreenshot extends core_1.Interaction {
35
- /**
36
- * @param {Answerable<string>} name
37
- * The name to associate the screenshot with
38
- */
39
- constructor(name) {
40
- super();
41
- this.name = name;
42
- }
43
- /**
44
- * @desc
45
- * Instantiates this {@link @serenity-js/core/lib/screenplay~Interaction}.
46
- *
47
- * @param {Answerable<string>} name
48
- * The name to associate the screenshot with
49
- *
50
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
51
- */
52
- static of(name) {
53
- return new TakeScreenshot(name);
54
- }
55
- /**
56
- * @desc
57
- * Makes the provided {@link @serenity-js/core/lib/screenplay/actor~Actor}
58
- * perform this {@link @serenity-js/core/lib/screenplay~Interaction}.
59
- *
60
- * @param {UsesAbilities & AnswersQuestions} actor
61
- * An {@link @serenity-js/core/lib/screenplay/actor~Actor} to perform this {@link @serenity-js/core/lib/screenplay~Interaction}
62
- *
63
- * @returns {PromiseLike<void>}
64
- *
65
- * @see {@link @serenity-js/core/lib/screenplay/actor~Actor}
66
- * @see {@link @serenity-js/core/lib/screenplay/actor~UsesAbilities}
67
- * @see {@link @serenity-js/core/lib/screenplay/actor~AnswersQuestions}
68
- */
69
- performAs(actor) {
70
- return Promise.all([
71
- abilities_1.BrowseTheWeb.as(actor).takeScreenshot(),
72
- actor.answer(this.name),
73
- ]).then(([screenshot, name]) => actor.collect(model_1.Photo.fromBase64(screenshot), new model_1.Name(name)));
74
- }
75
- /**
76
- * @desc
77
- * Generates a description to be used when reporting this {@link @serenity-js/core/lib/screenplay~Activity}.
78
- *
79
- * @returns {string}
80
- */
81
- toString() {
82
- return (0, io_1.formatted) `#actor takes a screenshot of ${this.name}`;
83
- }
84
- }
85
- exports.TakeScreenshot = TakeScreenshot;
86
- //# sourceMappingURL=TakeScreenshot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TakeScreenshot.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/TakeScreenshot.ts"],"names":[],"mappings":";;;AAAA,4CAAgH;AAChH,iDAAqD;AACrD,uDAA0D;AAE1D,4CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAa,cAAe,SAAQ,kBAAW;IAe3C;;;OAGG;IACH,YAA6B,IAAwB;QACjD,KAAK,EAAE,CAAC;QADiB,SAAI,GAAJ,IAAI,CAAoB;IAErD,CAAC;IAnBD;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,CAAC,IAAwB;QAC9B,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAUD;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,KAA2D;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC;YACf,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE;YACvC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SAC1B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,UAAU,EAAE,IAAI,CAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAC3C,aAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAC5B,IAAI,YAAI,CAAC,IAAI,CAAC,CACjB,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,OAAO,IAAA,cAAS,EAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC;IACjE,CAAC;CACJ;AAxDD,wCAwDC"}
@@ -1,147 +0,0 @@
1
- import { Answerable, Duration, Expectation, Interaction } from '@serenity-js/core';
2
- import { WaitBuilder } from './WaitBuilder';
3
- /**
4
- * @desc
5
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
6
- * wait before proceeding either for a set {@link @serenity-js/core/lib/model~Duration}
7
- * or until a given {@link @serenity-js/core/lib/screenplay/questions~Expectation} is met.
8
- *
9
- * Useful when a test scenario can't take advantage of automatic synchronisation between
10
- * Protractor and Angular (see {@link UseAngular}), or when the application under test is animation-heavy.
11
- *
12
- * @example <caption>Example widget</caption>
13
- * <!--
14
- * After about 1 second, the text will change from 'Loading...' to 'Ready!'
15
- * -->
16
- * <h1 id="status">Loading...</h1>
17
- * <script>
18
- * (function () {
19
- * setTimeout(function () {
20
- * document.getElementById('status').textContent = 'Ready!'
21
- * }, 1000);
22
- * })();
23
- * </script>
24
- *
25
- * @example <caption>Lean Page Object describing the widget</caption>
26
- * import { Target } from '@serenity-js/protractor';
27
- * import { by } from 'protractor';
28
- *
29
- * class App {
30
- * static status = Target.the('status widget')
31
- * .located(by.id('status'));
32
- * }
33
- *
34
- * @example <caption>Waiting for a set amount of time</caption>
35
- * import { actorCalled, Duration } from '@serenity-js/core';
36
- * import { BrowseTheWeb, Wait } from '@serenity-js/protractor';
37
- * import { Ensure, equals } from '@serenity-js/assertions';
38
- * import { protractor } from 'protractor';
39
- *
40
- * actorCalled('Aurora')
41
- * .whoCan(BrowseTheWeb.using(protractor.browser))
42
- * .attemptsTo(
43
- * Wait.for(Duration.ofSeconds(1.5)),
44
- * Ensure.that(App.status, equals('Ready!')),
45
- * );
46
- *
47
- * // Please note that while the above implementation works,
48
- * // this approach is inefficient because at best
49
- * // the actor might wait too long and at worst the test
50
- * // might become "flaky" if any external interference
51
- * // (like network glitches, animations taking a bit too long etc.)
52
- * // makes the actor wait not long enough.
53
- *
54
- * @example <caption>Waiting until a condition is met</caption>
55
- * import { actorCalled } from '@serenity-js/core';
56
- * import { BrowseTheWeb, Wait, Text } from '@serenity-js/protractor';
57
- * import { equals } from '@serenity-js/assertions';
58
- * import { protractor } from 'protractor';
59
- *
60
- * actorCalled('Aurora')
61
- * .whoCan(BrowseTheWeb.using(protractor.browser))
62
- * .attemptsTo(
63
- * Wait.until(Text.of(App.status), equals('Ready!')),
64
- * // app is ready, proceed with the scenario
65
- * );
66
- *
67
- * // Wait.until makes the Actor keep asking a Question,
68
- * // in this case Text.of(App.status), until the answer meets
69
- * // the expectation, or a timeout expires (default: 5s).
70
- * //
71
- * // Please note that both Ensure and Wait can be used with
72
- * // the same expectations, like `equals`.
73
- *
74
- * @example <caption>Changing the default timeout</caption>
75
- * import { actorCalled, Duration } from '@serenity-js/core';
76
- * import { BrowseTheWeb, Wait, Text } from '@serenity-js/protractor';
77
- * import { equals } from '@serenity-js/assertions';
78
- * import { protractor } from 'protractor';
79
- *
80
- * actorCalled('Aurora')
81
- * .whoCan(BrowseTheWeb.using(protractor.browser))
82
- * .attemptsTo(
83
- * Wait.upTo(Duration.ofSeconds(3))
84
- * .until(Text.of(App.status), equals('Ready!')),
85
- * // app is ready, proceed with the scenario
86
- * );
87
- *
88
- * @see {@link BrowseTheWeb}
89
- * @see {@link Target}
90
- * @see {@link Text}
91
- * @see {@link @serenity-js/assertions~Ensure}
92
- * @see {@link @serenity-js/assertions/lib/expectations~equals}
93
- * @see {@link @serenity-js/core/lib/model~Duration}
94
- *
95
- * @extends {@serenity-js/core/lib/screenplay~Interaction}
96
- */
97
- export declare class Wait {
98
- /**
99
- * @desc
100
- * Default timeout of 5 seconds used with {@link Wait.until}.
101
- *
102
- * @type {@serenity-js/core~Duration}
103
- */
104
- static readonly Default_Timeout: Duration;
105
- /**
106
- * @desc
107
- * Instantiates a version of this {@link @serenity-js/core/lib/screenplay~Interaction}
108
- * configured to wait for a set duration.
109
- *
110
- * @param {Answerable<Duration>} duration
111
- * A set duration the {@link @serenity-js/core/lib/screenplay/actor~Actor} should wait for
112
- * before proceeding
113
- *
114
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
115
- */
116
- static for(duration: Answerable<Duration>): Interaction;
117
- /**
118
- * @desc
119
- * Instantiates a version of this {@link @serenity-js/core/lib/screenplay~Interaction}
120
- * configured to wait until the answer to the question (`actual`) meets the `expectation`,
121
- * or a custom timeout expires.
122
- *
123
- * @param {Duration} duration
124
- * Custom timeout to override {@link Wait.Default_Timeout}
125
- *
126
- * @returns {WaitBuilder}
127
- */
128
- static upTo(duration: Duration): WaitBuilder;
129
- /**
130
- * @desc
131
- * Instantiates a version of this {@link @serenity-js/core/lib/screenplay~Interaction}
132
- * configured to wait until the answer to the question (`actual`) meets the `expectation`,
133
- * or a {@link Wait.Default_Timeout} expires.
134
- *
135
- * @param {Answerable<Actual>} actual
136
- * A {@link @serenity-js/core/lib/screenplay~Question}
137
- * that the {@link @serenity-js/core/lib/screenplay/actor~Actor}
138
- * will keep asking until the answer meets
139
- * the {@link @serenity-js/core/lib/screenplay/questions~Expectation} provided
140
- *
141
- * @param {@serenity-js/core/lib/screenplay/questions~<any,Actual>} expectation
142
- * An {@link @serenity-js/core/lib/screenplay/questions~Expectation} to be met before proceeding
143
- *
144
- * @returns {@serenity-js/core/lib/screenplay~Interaction}
145
- */
146
- static until<Actual>(actual: Answerable<Actual>, expectation: Expectation<any, Actual>): Interaction;
147
- }