@serenity-js/protractor 2.32.7 → 3.0.0-rc.10

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 (339) hide show
  1. package/CHANGELOG.md +359 -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 -164
  8. package/lib/screenplay/abilities/{BrowseTheWeb.js → BrowseTheWebWithProtractor.js} +139 -225
  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/ProtractorModalDialog.d.ts +11 -0
  25. package/lib/screenplay/models/ProtractorModalDialog.js +43 -0
  26. package/lib/screenplay/models/ProtractorModalDialog.js.map +1 -0
  27. package/lib/screenplay/models/ProtractorPage.d.ts +24 -0
  28. package/lib/screenplay/models/ProtractorPage.js +92 -0
  29. package/lib/screenplay/models/ProtractorPage.js.map +1 -0
  30. package/lib/screenplay/models/ProtractorPageElement.d.ts +21 -0
  31. package/lib/screenplay/models/ProtractorPageElement.js +230 -0
  32. package/lib/screenplay/models/ProtractorPageElement.js.map +1 -0
  33. package/lib/screenplay/models/index.d.ts +4 -0
  34. package/lib/screenplay/{questions/lists → models}/index.js +4 -1
  35. package/lib/screenplay/models/index.js.map +1 -0
  36. package/lib/screenplay/models/locators/ProtractorLocator.d.ts +9 -0
  37. package/lib/screenplay/models/locators/ProtractorLocator.js +28 -0
  38. package/lib/screenplay/models/locators/ProtractorLocator.js.map +1 -0
  39. package/lib/screenplay/models/locators/ProtractorNativeElementRoot.d.ts +5 -0
  40. package/lib/screenplay/{interactions/EnterBuilder.js → models/locators/ProtractorNativeElementRoot.js} +1 -1
  41. package/lib/screenplay/models/locators/ProtractorNativeElementRoot.js.map +1 -0
  42. package/lib/screenplay/models/locators/index.d.ts +2 -0
  43. package/lib/{stage/crew → screenplay/models/locators}/index.js +2 -1
  44. package/lib/screenplay/models/locators/index.js.map +1 -0
  45. package/lib/{promiseOf.d.ts → screenplay/promised.d.ts} +1 -1
  46. package/lib/{promiseOf.js → screenplay/promised.js} +4 -4
  47. package/lib/screenplay/promised.js.map +1 -0
  48. package/lib/screenplay/questions/ProtractorParam.d.ts +24 -29
  49. package/lib/screenplay/questions/ProtractorParam.js +26 -33
  50. package/lib/screenplay/questions/ProtractorParam.js.map +1 -1
  51. package/lib/screenplay/questions/index.d.ts +0 -13
  52. package/lib/screenplay/questions/index.js +0 -16
  53. package/lib/screenplay/questions/index.js.map +1 -1
  54. package/lib/screenplay/unpromisedWebElement.d.ts +11 -0
  55. package/lib/screenplay/unpromisedWebElement.js +24 -0
  56. package/lib/screenplay/unpromisedWebElement.js.map +1 -0
  57. package/package.json +21 -22
  58. package/src/adapter/ProtractorFrameworkAdapter.ts +5 -0
  59. package/src/index.ts +0 -2
  60. package/src/screenplay/abilities/{BrowseTheWeb.ts → BrowseTheWebWithProtractor.ts} +171 -247
  61. package/src/screenplay/abilities/index.ts +1 -1
  62. package/src/screenplay/index.ts +1 -0
  63. package/src/screenplay/interactions/UseAngular.ts +3 -3
  64. package/src/screenplay/interactions/index.ts +0 -19
  65. package/src/screenplay/models/ProtractorCookie.ts +41 -0
  66. package/src/screenplay/models/ProtractorModalDialog.ts +49 -0
  67. package/src/screenplay/models/ProtractorPage.ts +116 -0
  68. package/src/screenplay/models/ProtractorPageElement.ts +285 -0
  69. package/src/screenplay/models/index.ts +5 -0
  70. package/src/screenplay/models/locators/ProtractorLocator.ts +50 -0
  71. package/src/screenplay/models/locators/ProtractorNativeElementRoot.ts +6 -0
  72. package/src/screenplay/models/locators/index.ts +2 -0
  73. package/src/{promiseOf.ts → screenplay/promised.ts} +1 -1
  74. package/src/screenplay/questions/ProtractorParam.ts +29 -38
  75. package/src/screenplay/questions/index.ts +0 -13
  76. package/src/screenplay/unpromisedWebElement.ts +25 -0
  77. package/lib/expectations/ElementFinderExpectation.d.ts +0 -11
  78. package/lib/expectations/ElementFinderExpectation.js +0 -24
  79. package/lib/expectations/ElementFinderExpectation.js.map +0 -1
  80. package/lib/expectations/index.d.ts +0 -6
  81. package/lib/expectations/index.js +0 -19
  82. package/lib/expectations/index.js.map +0 -1
  83. package/lib/expectations/isActive.d.ts +0 -13
  84. package/lib/expectations/isActive.js +0 -19
  85. package/lib/expectations/isActive.js.map +0 -1
  86. package/lib/expectations/isClickable.d.ts +0 -13
  87. package/lib/expectations/isClickable.js +0 -22
  88. package/lib/expectations/isClickable.js.map +0 -1
  89. package/lib/expectations/isEnabled.d.ts +0 -13
  90. package/lib/expectations/isEnabled.js +0 -19
  91. package/lib/expectations/isEnabled.js.map +0 -1
  92. package/lib/expectations/isPresent.d.ts +0 -14
  93. package/lib/expectations/isPresent.js +0 -20
  94. package/lib/expectations/isPresent.js.map +0 -1
  95. package/lib/expectations/isSelected.d.ts +0 -13
  96. package/lib/expectations/isSelected.js +0 -22
  97. package/lib/expectations/isSelected.js.map +0 -1
  98. package/lib/expectations/isVisible.d.ts +0 -13
  99. package/lib/expectations/isVisible.js +0 -25
  100. package/lib/expectations/isVisible.js.map +0 -1
  101. package/lib/promiseOf.js.map +0 -1
  102. package/lib/screenplay/abilities/BrowseTheWeb.js.map +0 -1
  103. package/lib/screenplay/interactions/Accept.d.ts +0 -81
  104. package/lib/screenplay/interactions/Accept.js +0 -95
  105. package/lib/screenplay/interactions/Accept.js.map +0 -1
  106. package/lib/screenplay/interactions/Clear.d.ts +0 -88
  107. package/lib/screenplay/interactions/Clear.js +0 -121
  108. package/lib/screenplay/interactions/Clear.js.map +0 -1
  109. package/lib/screenplay/interactions/Click.d.ts +0 -81
  110. package/lib/screenplay/interactions/Click.js +0 -95
  111. package/lib/screenplay/interactions/Click.js.map +0 -1
  112. package/lib/screenplay/interactions/Close.d.ts +0 -89
  113. package/lib/screenplay/interactions/Close.js +0 -169
  114. package/lib/screenplay/interactions/Close.js.map +0 -1
  115. package/lib/screenplay/interactions/DeleteCookies.d.ts +0 -72
  116. package/lib/screenplay/interactions/DeleteCookies.js +0 -149
  117. package/lib/screenplay/interactions/DeleteCookies.js.map +0 -1
  118. package/lib/screenplay/interactions/Dismiss.d.ts +0 -85
  119. package/lib/screenplay/interactions/Dismiss.js +0 -99
  120. package/lib/screenplay/interactions/Dismiss.js.map +0 -1
  121. package/lib/screenplay/interactions/DoubleClick.d.ts +0 -99
  122. package/lib/screenplay/interactions/DoubleClick.js +0 -121
  123. package/lib/screenplay/interactions/DoubleClick.js.map +0 -1
  124. package/lib/screenplay/interactions/Enter.d.ts +0 -81
  125. package/lib/screenplay/interactions/Enter.js +0 -96
  126. package/lib/screenplay/interactions/Enter.js.map +0 -1
  127. package/lib/screenplay/interactions/EnterBuilder.d.ts +0 -27
  128. package/lib/screenplay/interactions/EnterBuilder.js.map +0 -1
  129. package/lib/screenplay/interactions/ExecuteScript.d.ts +0 -171
  130. package/lib/screenplay/interactions/ExecuteScript.js +0 -291
  131. package/lib/screenplay/interactions/ExecuteScript.js.map +0 -1
  132. package/lib/screenplay/interactions/Hover.d.ts +0 -86
  133. package/lib/screenplay/interactions/Hover.js +0 -103
  134. package/lib/screenplay/interactions/Hover.js.map +0 -1
  135. package/lib/screenplay/interactions/Navigate.d.ts +0 -149
  136. package/lib/screenplay/interactions/Navigate.js +0 -345
  137. package/lib/screenplay/interactions/Navigate.js.map +0 -1
  138. package/lib/screenplay/interactions/Press.d.ts +0 -90
  139. package/lib/screenplay/interactions/Press.js +0 -127
  140. package/lib/screenplay/interactions/Press.js.map +0 -1
  141. package/lib/screenplay/interactions/PressBuilder.d.ts +0 -27
  142. package/lib/screenplay/interactions/PressBuilder.js +0 -3
  143. package/lib/screenplay/interactions/PressBuilder.js.map +0 -1
  144. package/lib/screenplay/interactions/ResizeBrowserWindow.d.ts +0 -69
  145. package/lib/screenplay/interactions/ResizeBrowserWindow.js +0 -144
  146. package/lib/screenplay/interactions/ResizeBrowserWindow.js.map +0 -1
  147. package/lib/screenplay/interactions/RightClick.d.ts +0 -97
  148. package/lib/screenplay/interactions/RightClick.js +0 -113
  149. package/lib/screenplay/interactions/RightClick.js.map +0 -1
  150. package/lib/screenplay/interactions/Scroll.d.ts +0 -83
  151. package/lib/screenplay/interactions/Scroll.js +0 -98
  152. package/lib/screenplay/interactions/Scroll.js.map +0 -1
  153. package/lib/screenplay/interactions/Select.d.ts +0 -212
  154. package/lib/screenplay/interactions/Select.js +0 -342
  155. package/lib/screenplay/interactions/Select.js.map +0 -1
  156. package/lib/screenplay/interactions/SelectBuilder.d.ts +0 -33
  157. package/lib/screenplay/interactions/SelectBuilder.js +0 -3
  158. package/lib/screenplay/interactions/SelectBuilder.js.map +0 -1
  159. package/lib/screenplay/interactions/Switch.d.ts +0 -210
  160. package/lib/screenplay/interactions/Switch.js +0 -345
  161. package/lib/screenplay/interactions/Switch.js.map +0 -1
  162. package/lib/screenplay/interactions/TakeScreenshot.d.ts +0 -67
  163. package/lib/screenplay/interactions/TakeScreenshot.js +0 -86
  164. package/lib/screenplay/interactions/TakeScreenshot.js.map +0 -1
  165. package/lib/screenplay/interactions/Wait.d.ts +0 -147
  166. package/lib/screenplay/interactions/Wait.js +0 -247
  167. package/lib/screenplay/interactions/Wait.js.map +0 -1
  168. package/lib/screenplay/interactions/WaitBuilder.d.ts +0 -33
  169. package/lib/screenplay/interactions/WaitBuilder.js +0 -3
  170. package/lib/screenplay/interactions/WaitBuilder.js.map +0 -1
  171. package/lib/screenplay/questions/Attribute.d.ts +0 -29
  172. package/lib/screenplay/questions/Attribute.js +0 -56
  173. package/lib/screenplay/questions/Attribute.js.map +0 -1
  174. package/lib/screenplay/questions/Browser.d.ts +0 -47
  175. package/lib/screenplay/questions/Browser.js +0 -55
  176. package/lib/screenplay/questions/Browser.js.map +0 -1
  177. package/lib/screenplay/questions/CSSClasses.d.ts +0 -94
  178. package/lib/screenplay/questions/CSSClasses.js +0 -118
  179. package/lib/screenplay/questions/CSSClasses.js.map +0 -1
  180. package/lib/screenplay/questions/Cookie.d.ts +0 -9
  181. package/lib/screenplay/questions/Cookie.js +0 -65
  182. package/lib/screenplay/questions/Cookie.js.map +0 -1
  183. package/lib/screenplay/questions/LastScriptExecution.d.ts +0 -14
  184. package/lib/screenplay/questions/LastScriptExecution.js +0 -22
  185. package/lib/screenplay/questions/LastScriptExecution.js.map +0 -1
  186. package/lib/screenplay/questions/ModalDialog.d.ts +0 -120
  187. package/lib/screenplay/questions/ModalDialog.js +0 -142
  188. package/lib/screenplay/questions/ModalDialog.js.map +0 -1
  189. package/lib/screenplay/questions/Pick.d.ts +0 -72
  190. package/lib/screenplay/questions/Pick.js +0 -254
  191. package/lib/screenplay/questions/Pick.js.map +0 -1
  192. package/lib/screenplay/questions/Selected.d.ts +0 -185
  193. package/lib/screenplay/questions/Selected.js +0 -254
  194. package/lib/screenplay/questions/Selected.js.map +0 -1
  195. package/lib/screenplay/questions/Value.d.ts +0 -47
  196. package/lib/screenplay/questions/Value.js +0 -67
  197. package/lib/screenplay/questions/Value.js.map +0 -1
  198. package/lib/screenplay/questions/Website.d.ts +0 -15
  199. package/lib/screenplay/questions/Website.js +0 -25
  200. package/lib/screenplay/questions/Website.js.map +0 -1
  201. package/lib/screenplay/questions/Window.d.ts +0 -23
  202. package/lib/screenplay/questions/Window.js +0 -28
  203. package/lib/screenplay/questions/Window.js.map +0 -1
  204. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.d.ts +0 -89
  205. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.js +0 -138
  206. package/lib/screenplay/questions/lists/ElementArrayFinderListAdapter.js.map +0 -1
  207. package/lib/screenplay/questions/lists/index.d.ts +0 -1
  208. package/lib/screenplay/questions/lists/index.js.map +0 -1
  209. package/lib/screenplay/questions/targets/Target.d.ts +0 -168
  210. package/lib/screenplay/questions/targets/Target.js +0 -190
  211. package/lib/screenplay/questions/targets/Target.js.map +0 -1
  212. package/lib/screenplay/questions/targets/TargetElement.d.ts +0 -50
  213. package/lib/screenplay/questions/targets/TargetElement.js +0 -62
  214. package/lib/screenplay/questions/targets/TargetElement.js.map +0 -1
  215. package/lib/screenplay/questions/targets/TargetElements.d.ts +0 -102
  216. package/lib/screenplay/questions/targets/TargetElements.js +0 -124
  217. package/lib/screenplay/questions/targets/TargetElements.js.map +0 -1
  218. package/lib/screenplay/questions/targets/TargetNestedElement.d.ts +0 -49
  219. package/lib/screenplay/questions/targets/TargetNestedElement.js +0 -61
  220. package/lib/screenplay/questions/targets/TargetNestedElement.js.map +0 -1
  221. package/lib/screenplay/questions/targets/TargetNestedElements.d.ts +0 -101
  222. package/lib/screenplay/questions/targets/TargetNestedElements.js +0 -123
  223. package/lib/screenplay/questions/targets/TargetNestedElements.js.map +0 -1
  224. package/lib/screenplay/questions/targets/builders.d.ts +0 -8
  225. package/lib/screenplay/questions/targets/builders.js +0 -3
  226. package/lib/screenplay/questions/targets/builders.js.map +0 -1
  227. package/lib/screenplay/questions/targets/index.d.ts +0 -5
  228. package/lib/screenplay/questions/targets/index.js +0 -18
  229. package/lib/screenplay/questions/targets/index.js.map +0 -1
  230. package/lib/screenplay/questions/targets/override.d.ts +0 -7
  231. package/lib/screenplay/questions/targets/override.js +0 -21
  232. package/lib/screenplay/questions/targets/override.js.map +0 -1
  233. package/lib/screenplay/questions/text/Text.d.ts +0 -41
  234. package/lib/screenplay/questions/text/Text.js +0 -50
  235. package/lib/screenplay/questions/text/Text.js.map +0 -1
  236. package/lib/screenplay/questions/text/TextOfMultipleElements.d.ts +0 -23
  237. package/lib/screenplay/questions/text/TextOfMultipleElements.js +0 -37
  238. package/lib/screenplay/questions/text/TextOfMultipleElements.js.map +0 -1
  239. package/lib/screenplay/questions/text/TextOfSingleElement.d.ts +0 -23
  240. package/lib/screenplay/questions/text/TextOfSingleElement.js +0 -35
  241. package/lib/screenplay/questions/text/TextOfSingleElement.js.map +0 -1
  242. package/lib/screenplay/questions/text/index.d.ts +0 -1
  243. package/lib/screenplay/questions/text/index.js +0 -14
  244. package/lib/screenplay/questions/text/index.js.map +0 -1
  245. package/lib/screenplay/withAnswerOf.d.ts +0 -8
  246. package/lib/screenplay/withAnswerOf.js +0 -18
  247. package/lib/screenplay/withAnswerOf.js.map +0 -1
  248. package/lib/stage/crew/index.d.ts +0 -1
  249. package/lib/stage/crew/index.js.map +0 -1
  250. package/lib/stage/crew/photographer/Photographer.d.ts +0 -83
  251. package/lib/stage/crew/photographer/Photographer.js +0 -102
  252. package/lib/stage/crew/photographer/Photographer.js.map +0 -1
  253. package/lib/stage/crew/photographer/index.d.ts +0 -2
  254. package/lib/stage/crew/photographer/index.js +0 -15
  255. package/lib/stage/crew/photographer/index.js.map +0 -1
  256. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +0 -28
  257. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +0 -65
  258. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +0 -1
  259. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +0 -18
  260. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +0 -30
  261. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +0 -1
  262. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +0 -17
  263. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +0 -28
  264. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +0 -1
  265. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +0 -19
  266. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +0 -28
  267. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +0 -1
  268. package/lib/stage/crew/photographer/strategies/index.d.ts +0 -4
  269. package/lib/stage/crew/photographer/strategies/index.js +0 -17
  270. package/lib/stage/crew/photographer/strategies/index.js.map +0 -1
  271. package/lib/stage/index.d.ts +0 -1
  272. package/lib/stage/index.js +0 -14
  273. package/lib/stage/index.js.map +0 -1
  274. package/src/expectations/ElementFinderExpectation.ts +0 -29
  275. package/src/expectations/index.ts +0 -6
  276. package/src/expectations/isActive.ts +0 -24
  277. package/src/expectations/isClickable.ts +0 -20
  278. package/src/expectations/isEnabled.ts +0 -18
  279. package/src/expectations/isPresent.ts +0 -19
  280. package/src/expectations/isSelected.ts +0 -23
  281. package/src/expectations/isVisible.ts +0 -27
  282. package/src/screenplay/interactions/Accept.ts +0 -95
  283. package/src/screenplay/interactions/Clear.ts +0 -130
  284. package/src/screenplay/interactions/Click.ts +0 -96
  285. package/src/screenplay/interactions/Close.ts +0 -184
  286. package/src/screenplay/interactions/DeleteCookies.ts +0 -154
  287. package/src/screenplay/interactions/Dismiss.ts +0 -99
  288. package/src/screenplay/interactions/DoubleClick.ts +0 -124
  289. package/src/screenplay/interactions/Enter.ts +0 -104
  290. package/src/screenplay/interactions/EnterBuilder.ts +0 -29
  291. package/src/screenplay/interactions/ExecuteScript.ts +0 -325
  292. package/src/screenplay/interactions/Hover.ts +0 -106
  293. package/src/screenplay/interactions/Navigate.ts +0 -363
  294. package/src/screenplay/interactions/Press.ts +0 -137
  295. package/src/screenplay/interactions/PressBuilder.ts +0 -29
  296. package/src/screenplay/interactions/ResizeBrowserWindow.ts +0 -148
  297. package/src/screenplay/interactions/RightClick.ts +0 -114
  298. package/src/screenplay/interactions/Scroll.ts +0 -99
  299. package/src/screenplay/interactions/Select.ts +0 -402
  300. package/src/screenplay/interactions/SelectBuilder.ts +0 -35
  301. package/src/screenplay/interactions/Switch.ts +0 -393
  302. package/src/screenplay/interactions/TakeScreenshot.ts +0 -89
  303. package/src/screenplay/interactions/Wait.ts +0 -267
  304. package/src/screenplay/interactions/WaitBuilder.ts +0 -35
  305. package/src/screenplay/questions/Attribute.ts +0 -67
  306. package/src/screenplay/questions/Browser.ts +0 -55
  307. package/src/screenplay/questions/CSSClasses.ts +0 -121
  308. package/src/screenplay/questions/Cookie.ts +0 -70
  309. package/src/screenplay/questions/LastScriptExecution.ts +0 -21
  310. package/src/screenplay/questions/ModalDialog.ts +0 -149
  311. package/src/screenplay/questions/Pick.ts +0 -334
  312. package/src/screenplay/questions/Selected.ts +0 -268
  313. package/src/screenplay/questions/Value.ts +0 -73
  314. package/src/screenplay/questions/Website.ts +0 -27
  315. package/src/screenplay/questions/Window.ts +0 -29
  316. package/src/screenplay/questions/lists/ElementArrayFinderListAdapter.ts +0 -158
  317. package/src/screenplay/questions/lists/index.ts +0 -1
  318. package/src/screenplay/questions/targets/Target.ts +0 -198
  319. package/src/screenplay/questions/targets/TargetElement.ts +0 -70
  320. package/src/screenplay/questions/targets/TargetElements.ts +0 -142
  321. package/src/screenplay/questions/targets/TargetNestedElement.ts +0 -71
  322. package/src/screenplay/questions/targets/TargetNestedElements.ts +0 -142
  323. package/src/screenplay/questions/targets/builders.ts +0 -10
  324. package/src/screenplay/questions/targets/index.ts +0 -5
  325. package/src/screenplay/questions/targets/override.ts +0 -17
  326. package/src/screenplay/questions/text/Text.ts +0 -55
  327. package/src/screenplay/questions/text/TextOfMultipleElements.ts +0 -40
  328. package/src/screenplay/questions/text/TextOfSingleElement.ts +0 -37
  329. package/src/screenplay/questions/text/index.ts +0 -1
  330. package/src/screenplay/withAnswerOf.ts +0 -19
  331. package/src/stage/crew/index.ts +0 -1
  332. package/src/stage/crew/photographer/Photographer.ts +0 -108
  333. package/src/stage/crew/photographer/index.ts +0 -2
  334. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +0 -102
  335. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +0 -28
  336. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +0 -26
  337. package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +0 -26
  338. package/src/stage/crew/photographer/strategies/index.ts +0 -4
  339. 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":"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"}
@@ -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
- }