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