@sap_oss/wdio-qmate-service 1.0.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 (625) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.yml +33 -0
  3. package/.reuse/dep5 +29 -0
  4. package/LICENSE +201 -0
  5. package/LICENSES/Apache-2.0.txt +73 -0
  6. package/README.md +20 -0
  7. package/docs/contact.md +10 -0
  8. package/docs/doc.md +5188 -0
  9. package/docs/gettingStarted/selectors.md +168 -0
  10. package/docs/gettingStarted/setup.md +8 -0
  11. package/docs/index.md +14 -0
  12. package/docs/style/custom.css +24 -0
  13. package/lib/index.d.ts +1 -0
  14. package/lib/index.js +171 -0
  15. package/lib/index.js.map +1 -0
  16. package/lib/reuse/authenticator/authConfig.d.ts +54 -0
  17. package/lib/reuse/authenticator/authConfig.js +55 -0
  18. package/lib/reuse/authenticator/authConfig.js.map +1 -0
  19. package/lib/reuse/authenticator/authHandler.d.ts +6 -0
  20. package/lib/reuse/authenticator/authHandler.js +37 -0
  21. package/lib/reuse/authenticator/authHandler.js.map +1 -0
  22. package/lib/reuse/authenticator/basicUrlAuthenticator.d.ts +2 -0
  23. package/lib/reuse/authenticator/basicUrlAuthenticator.js +36 -0
  24. package/lib/reuse/authenticator/basicUrlAuthenticator.js.map +1 -0
  25. package/lib/reuse/authenticator/customAuthenticator.d.ts +2 -0
  26. package/lib/reuse/authenticator/customAuthenticator.js +60 -0
  27. package/lib/reuse/authenticator/customAuthenticator.js.map +1 -0
  28. package/lib/reuse/authenticator/formAuthenticator.d.ts +2 -0
  29. package/lib/reuse/authenticator/formAuthenticator.js +57 -0
  30. package/lib/reuse/authenticator/formAuthenticator.js.map +1 -0
  31. package/lib/reuse/authenticator/plainAuthenticator.d.ts +2 -0
  32. package/lib/reuse/authenticator/plainAuthenticator.js +20 -0
  33. package/lib/reuse/authenticator/plainAuthenticator.js.map +1 -0
  34. package/lib/reuse/data/authenticators.json +16 -0
  35. package/lib/reuse/helper/clientsideUI5scripts.d.ts +1 -0
  36. package/lib/reuse/helper/clientsideUI5scripts.js +388 -0
  37. package/lib/reuse/helper/clientsideUI5scripts.js.map +1 -0
  38. package/lib/reuse/helper/jsDocGen.d.ts +1 -0
  39. package/lib/reuse/helper/jsDocGen.js +45 -0
  40. package/lib/reuse/helper/jsDocGen.js.map +1 -0
  41. package/lib/reuse/index.d.ts +5 -0
  42. package/lib/reuse/index.js +89 -0
  43. package/lib/reuse/index.js.map +1 -0
  44. package/lib/reuse/modules/common/Common.d.ts +12 -0
  45. package/lib/reuse/modules/common/Common.js +21 -0
  46. package/lib/reuse/modules/common/Common.js.map +1 -0
  47. package/lib/reuse/modules/common/assertion.d.ts +65 -0
  48. package/lib/reuse/modules/common/assertion.js +91 -0
  49. package/lib/reuse/modules/common/assertion.js.map +1 -0
  50. package/lib/reuse/modules/common/constants/date.constants.d.ts +8 -0
  51. package/lib/reuse/modules/common/constants/date.constants.js +13 -0
  52. package/lib/reuse/modules/common/constants/date.constants.js.map +1 -0
  53. package/lib/reuse/modules/common/constants/userInteraction.constants.d.ts +9 -0
  54. package/lib/reuse/modules/common/constants/userInteraction.constants.js +14 -0
  55. package/lib/reuse/modules/common/constants/userInteraction.constants.js.map +1 -0
  56. package/lib/reuse/modules/common/date.d.ts +84 -0
  57. package/lib/reuse/modules/common/date.js +164 -0
  58. package/lib/reuse/modules/common/date.js.map +1 -0
  59. package/lib/reuse/modules/common/navigation.d.ts +26 -0
  60. package/lib/reuse/modules/common/navigation.js +56 -0
  61. package/lib/reuse/modules/common/navigation.js.map +1 -0
  62. package/lib/reuse/modules/common/types/date.types.d.ts +2 -0
  63. package/lib/reuse/modules/common/types/date.types.js +3 -0
  64. package/lib/reuse/modules/common/types/date.types.js.map +1 -0
  65. package/lib/reuse/modules/common/userInteraction.d.ts +104 -0
  66. package/lib/reuse/modules/common/userInteraction.js +199 -0
  67. package/lib/reuse/modules/common/userInteraction.js.map +1 -0
  68. package/lib/reuse/modules/nonUi5/NonUi5.d.ts +12 -0
  69. package/lib/reuse/modules/nonUi5/NonUi5.js +21 -0
  70. package/lib/reuse/modules/nonUi5/NonUi5.js.map +1 -0
  71. package/lib/reuse/modules/nonUi5/assertion.d.ts +62 -0
  72. package/lib/reuse/modules/nonUi5/assertion.js +127 -0
  73. package/lib/reuse/modules/nonUi5/assertion.js.map +1 -0
  74. package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.d.ts +6 -0
  75. package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js +11 -0
  76. package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js.map +1 -0
  77. package/lib/reuse/modules/nonUi5/element.d.ts +286 -0
  78. package/lib/reuse/modules/nonUi5/element.js +639 -0
  79. package/lib/reuse/modules/nonUi5/element.js.map +1 -0
  80. package/lib/reuse/modules/nonUi5/navigation.d.ts +17 -0
  81. package/lib/reuse/modules/nonUi5/navigation.js +44 -0
  82. package/lib/reuse/modules/nonUi5/navigation.js.map +1 -0
  83. package/lib/reuse/modules/nonUi5/userInteraction.d.ts +170 -0
  84. package/lib/reuse/modules/nonUi5/userInteraction.js +415 -0
  85. package/lib/reuse/modules/nonUi5/userInteraction.js.map +1 -0
  86. package/lib/reuse/modules/service/Service.d.ts +8 -0
  87. package/lib/reuse/modules/service/Service.js +17 -0
  88. package/lib/reuse/modules/service/Service.js.map +1 -0
  89. package/lib/reuse/modules/service/odata.d.ts +177 -0
  90. package/lib/reuse/modules/service/odata.js +347 -0
  91. package/lib/reuse/modules/service/odata.js.map +1 -0
  92. package/lib/reuse/modules/service/rest.d.ts +66 -0
  93. package/lib/reuse/modules/service/rest.js +168 -0
  94. package/lib/reuse/modules/service/rest.js.map +1 -0
  95. package/lib/reuse/modules/service/soap.d.ts +0 -0
  96. package/lib/reuse/modules/service/soap.js +2 -0
  97. package/lib/reuse/modules/service/soap.js.map +1 -0
  98. package/lib/reuse/modules/ui5/Ui5.d.ts +34 -0
  99. package/lib/reuse/modules/ui5/Ui5.js +41 -0
  100. package/lib/reuse/modules/ui5/Ui5.js.map +1 -0
  101. package/lib/reuse/modules/ui5/assertion.d.ts +183 -0
  102. package/lib/reuse/modules/ui5/assertion.js +493 -0
  103. package/lib/reuse/modules/ui5/assertion.js.map +1 -0
  104. package/lib/reuse/modules/ui5/confirmationDialog.d.ts +86 -0
  105. package/lib/reuse/modules/ui5/confirmationDialog.js +145 -0
  106. package/lib/reuse/modules/ui5/confirmationDialog.js.map +1 -0
  107. package/lib/reuse/modules/ui5/constants/mockserver.constants.d.ts +4 -0
  108. package/lib/reuse/modules/ui5/constants/mockserver.constants.js +9 -0
  109. package/lib/reuse/modules/ui5/constants/mockserver.constants.js.map +1 -0
  110. package/lib/reuse/modules/ui5/control.d.ts +84 -0
  111. package/lib/reuse/modules/ui5/control.js +132 -0
  112. package/lib/reuse/modules/ui5/control.js.map +1 -0
  113. package/lib/reuse/modules/ui5/date.d.ts +48 -0
  114. package/lib/reuse/modules/ui5/date.js +153 -0
  115. package/lib/reuse/modules/ui5/date.js.map +1 -0
  116. package/lib/reuse/modules/ui5/element.d.ts +160 -0
  117. package/lib/reuse/modules/ui5/element.js +349 -0
  118. package/lib/reuse/modules/ui5/element.js.map +1 -0
  119. package/lib/reuse/modules/ui5/errorDialog.d.ts +39 -0
  120. package/lib/reuse/modules/ui5/errorDialog.js +65 -0
  121. package/lib/reuse/modules/ui5/errorDialog.js.map +1 -0
  122. package/lib/reuse/modules/ui5/footerBar.d.ts +153 -0
  123. package/lib/reuse/modules/ui5/footerBar.js +240 -0
  124. package/lib/reuse/modules/ui5/footerBar.js.map +1 -0
  125. package/lib/reuse/modules/ui5/mockserver.d.ts +154 -0
  126. package/lib/reuse/modules/ui5/mockserver.js +665 -0
  127. package/lib/reuse/modules/ui5/mockserver.js.map +1 -0
  128. package/lib/reuse/modules/ui5/navigation.d.ts +103 -0
  129. package/lib/reuse/modules/ui5/navigation.js +275 -0
  130. package/lib/reuse/modules/ui5/navigation.js.map +1 -0
  131. package/lib/reuse/modules/ui5/navigationBar.d.ts +48 -0
  132. package/lib/reuse/modules/ui5/navigationBar.js +141 -0
  133. package/lib/reuse/modules/ui5/navigationBar.js.map +1 -0
  134. package/lib/reuse/modules/ui5/qunit.d.ts +17 -0
  135. package/lib/reuse/modules/ui5/qunit.js +52 -0
  136. package/lib/reuse/modules/ui5/qunit.js.map +1 -0
  137. package/lib/reuse/modules/ui5/session.d.ts +117 -0
  138. package/lib/reuse/modules/ui5/session.js +374 -0
  139. package/lib/reuse/modules/ui5/session.js.map +1 -0
  140. package/lib/reuse/modules/ui5/table.d.ts +61 -0
  141. package/lib/reuse/modules/ui5/table.js +188 -0
  142. package/lib/reuse/modules/ui5/table.js.map +1 -0
  143. package/lib/reuse/modules/ui5/types/mockserver.types.d.ts +2 -0
  144. package/lib/reuse/modules/ui5/types/mockserver.types.js +3 -0
  145. package/lib/reuse/modules/ui5/types/mockserver.types.js.map +1 -0
  146. package/lib/reuse/modules/ui5/userInteraction.d.ts +304 -0
  147. package/lib/reuse/modules/ui5/userInteraction.js +690 -0
  148. package/lib/reuse/modules/ui5/userInteraction.js.map +1 -0
  149. package/lib/reuse/modules/util/Util.d.ts +22 -0
  150. package/lib/reuse/modules/util/Util.js +27 -0
  151. package/lib/reuse/modules/util/Util.js.map +1 -0
  152. package/lib/reuse/modules/util/browser.d.ts +167 -0
  153. package/lib/reuse/modules/util/browser.js +367 -0
  154. package/lib/reuse/modules/util/browser.js.map +1 -0
  155. package/lib/reuse/modules/util/console.d.ts +56 -0
  156. package/lib/reuse/modules/util/console.js +152 -0
  157. package/lib/reuse/modules/util/console.js.map +1 -0
  158. package/lib/reuse/modules/util/constants/formatter.constants.d.ts +11 -0
  159. package/lib/reuse/modules/util/constants/formatter.constants.js +16 -0
  160. package/lib/reuse/modules/util/constants/formatter.constants.js.map +1 -0
  161. package/lib/reuse/modules/util/data.d.ts +36 -0
  162. package/lib/reuse/modules/util/data.js +87 -0
  163. package/lib/reuse/modules/util/data.js.map +1 -0
  164. package/lib/reuse/modules/util/file.d.ts +55 -0
  165. package/lib/reuse/modules/util/file.js +159 -0
  166. package/lib/reuse/modules/util/file.js.map +1 -0
  167. package/lib/reuse/modules/util/formatter.d.ts +90 -0
  168. package/lib/reuse/modules/util/formatter.js +210 -0
  169. package/lib/reuse/modules/util/formatter.js.map +1 -0
  170. package/lib/reuse/modules/util/function.d.ts +48 -0
  171. package/lib/reuse/modules/util/function.js +161 -0
  172. package/lib/reuse/modules/util/function.js.map +1 -0
  173. package/lib/reuse/modules/util/system.d.ts +17 -0
  174. package/lib/reuse/modules/util/system.js +58 -0
  175. package/lib/reuse/modules/util/system.js.map +1 -0
  176. package/lib/reuse/modules/util/types/formatter.types.d.ts +2 -0
  177. package/lib/reuse/modules/util/types/formatter.types.js +3 -0
  178. package/lib/reuse/modules/util/types/formatter.types.js.map +1 -0
  179. package/lib/scripts/clientsideUI5scripts.d.ts +1 -0
  180. package/lib/scripts/clientsideUI5scripts.js +315 -0
  181. package/lib/scripts/clientsideUI5scripts.js.map +1 -0
  182. package/lib/scripts/dataExchange/dataExchange.d.ts +1 -0
  183. package/lib/scripts/dataExchange/dataExchange.js +224 -0
  184. package/lib/scripts/dataExchange/dataExchange.js.map +1 -0
  185. package/lib/scripts/dataExchange/dataExchangeUtil.d.ts +63 -0
  186. package/lib/scripts/dataExchange/dataExchangeUtil.js +211 -0
  187. package/lib/scripts/dataExchange/dataExchangeUtil.js.map +1 -0
  188. package/lib/scripts/hooks/after.d.ts +8 -0
  189. package/lib/scripts/hooks/after.js +30 -0
  190. package/lib/scripts/hooks/after.js.map +1 -0
  191. package/lib/scripts/hooks/before.d.ts +8 -0
  192. package/lib/scripts/hooks/before.js +38 -0
  193. package/lib/scripts/hooks/before.js.map +1 -0
  194. package/lib/scripts/hooks/beforeSession.d.ts +8 -0
  195. package/lib/scripts/hooks/beforeSession.js +37 -0
  196. package/lib/scripts/hooks/beforeSession.js.map +1 -0
  197. package/lib/scripts/hooks/onComplete.d.ts +9 -0
  198. package/lib/scripts/hooks/onComplete.js +31 -0
  199. package/lib/scripts/hooks/onComplete.js.map +1 -0
  200. package/lib/scripts/hooks/onPrepare.d.ts +6 -0
  201. package/lib/scripts/hooks/onPrepare.js +36 -0
  202. package/lib/scripts/hooks/onPrepare.js.map +1 -0
  203. package/lib/scripts/hooks/utils/addLocatorCommands.d.ts +2 -0
  204. package/lib/scripts/hooks/utils/addLocatorCommands.js +193 -0
  205. package/lib/scripts/hooks/utils/addLocatorCommands.js.map +1 -0
  206. package/lib/scripts/hooks/utils/browserLog.d.ts +2 -0
  207. package/lib/scripts/hooks/utils/browserLog.js +39 -0
  208. package/lib/scripts/hooks/utils/browserLog.js.map +1 -0
  209. package/lib/scripts/hooks/utils/dataExchangeCommands.d.ts +9 -0
  210. package/lib/scripts/hooks/utils/dataExchangeCommands.js +46 -0
  211. package/lib/scripts/hooks/utils/dataExchangeCommands.js.map +1 -0
  212. package/lib/scripts/hooks/utils/decryption.d.ts +13 -0
  213. package/lib/scripts/hooks/utils/decryption.js +90 -0
  214. package/lib/scripts/hooks/utils/decryption.js.map +1 -0
  215. package/lib/scripts/hooks/utils/lib.d.ts +4 -0
  216. package/lib/scripts/hooks/utils/lib.js +330 -0
  217. package/lib/scripts/hooks/utils/lib.js.map +1 -0
  218. package/lib/scripts/hooks/utils/locatorCommands.d.ts +10 -0
  219. package/lib/scripts/hooks/utils/locatorCommands.js +216 -0
  220. package/lib/scripts/hooks/utils/locatorCommands.js.map +1 -0
  221. package/lib/scripts/locators/qmateLocator.d.ts +1 -0
  222. package/lib/scripts/locators/qmateLocator.js +1384 -0
  223. package/lib/scripts/locators/qmateLocator.js.map +1 -0
  224. package/lib/scripts/locators/uiveri5Locator.d.ts +1 -0
  225. package/lib/scripts/locators/uiveri5Locator.js +21 -0
  226. package/lib/scripts/locators/uiveri5Locator.js.map +1 -0
  227. package/mkdocs.yml +53 -0
  228. package/package.json +152 -0
  229. package/test/.eslintrc.yml +6 -0
  230. package/test/authenticator/package.json +13 -0
  231. package/test/authenticator/staticLogin/configCustom.js +22 -0
  232. package/test/authenticator/staticLogin/configCustomViaConfig.js +20 -0
  233. package/test/authenticator/staticLogin/configFiori.js +19 -0
  234. package/test/authenticator/staticLogin/configPlain.js +17 -0
  235. package/test/authenticator/staticLogin/configSapCloud.js +18 -0
  236. package/test/authenticator/staticLogin/html/custom.html +10 -0
  237. package/test/authenticator/staticLogin/html/fiori.html +10 -0
  238. package/test/authenticator/staticLogin/html/home.html +7 -0
  239. package/test/authenticator/staticLogin/html/sapCloud.html +10 -0
  240. package/test/authenticator/staticLogin/specs/custom.spec.js +6 -0
  241. package/test/authenticator/staticLogin/specs/customViaConfig.spec.js +10 -0
  242. package/test/authenticator/staticLogin/specs/fiori.spec.js +6 -0
  243. package/test/authenticator/staticLogin/specs/plain.spec.js +64 -0
  244. package/test/authenticator/staticLogin/specs/sapCloud.spec.js +6 -0
  245. package/test/authenticator/staticLogin/staticServerConfig.js +20 -0
  246. package/test/authenticator/systemLogin/configCustom.js +26 -0
  247. package/test/authenticator/systemLogin/configFiori.js +24 -0
  248. package/test/authenticator/systemLogin/configPlain.js +22 -0
  249. package/test/authenticator/systemLogin/configSapCloud.js +24 -0
  250. package/test/authenticator/systemLogin/specs/custom.spec.js +13 -0
  251. package/test/authenticator/systemLogin/specs/fiori.spec.js +12 -0
  252. package/test/authenticator/systemLogin/specs/plain.spec.js +21 -0
  253. package/test/authenticator/systemLogin/specs/sapCloud.spec.js +13 -0
  254. package/test/core/README.md +17 -0
  255. package/test/core/dataExchange/config.export.js +56 -0
  256. package/test/core/dataExchange/config.import.js +47 -0
  257. package/test/core/dataExchange/config.js +52 -0
  258. package/test/core/dataExchange/config.parallel.group.js +61 -0
  259. package/test/core/dataExchange/config.parallel.js +58 -0
  260. package/test/core/dataExchange/data/another/folder/data/anotherFolder/dummy1.txt +0 -0
  261. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/Limit-Purchase-Order.json +29 -0
  262. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/ServicePurchaseOrder.2Items.json +67 -0
  263. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchaseRequisition_HI.json +31 -0
  264. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/LimitPurchaseOrder.json +29 -0
  265. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderItems.json +58 -0
  266. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderWithScheduline.json +27 -0
  267. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServiceAndMaterialPurchaseOrder.json +65 -0
  268. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder.json +39 -0
  269. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder2Items.json +67 -0
  270. package/test/core/dataExchange/data/my/folder/data/qs9/data.json +5 -0
  271. package/test/core/dataExchange/data/my/folder/data/qs9/dummy1.txt +0 -0
  272. package/test/core/dataExchange/data/my/folder/data/qs9/dummy2.txt +0 -0
  273. package/test/core/dataExchange/data/my/folder/data/qs9/empty.json +0 -0
  274. package/test/core/dataExchange/data/my/folder/data/qs9/purchaseRequisition.json +31 -0
  275. package/test/core/dataExchange/data/my/folder/data/qs9/supplierInvoice.json +17 -0
  276. package/test/core/dataExchange/data/my/folder/data/qs9/webUser.json +6 -0
  277. package/test/core/dataExchange/data/ui/moreDataFolder/anotherUser.json +6 -0
  278. package/test/core/dataExchange/data/ui/user.json +6 -0
  279. package/test/core/dataExchange/data/ui/webUser.json +6 -0
  280. package/test/core/dataExchange/specs/export.fast.spec.js +48 -0
  281. package/test/core/dataExchange/specs/export.slow.spec.js +50 -0
  282. package/test/core/dataExchange/specs/export.spec.js +103 -0
  283. package/test/core/dataExchange/specs/import.spec.js +144 -0
  284. package/test/core/dataExchange/specs/importExport.spec.js +196 -0
  285. package/test/core/dataExchange/utils.js +160 -0
  286. package/test/core/functional/README.md +30 -0
  287. package/test/core/functional/chaining/chaining.test.js +137 -0
  288. package/test/core/functional/chaining/test.conf.js +31 -0
  289. package/test/core/functional/locators/ancestorProperties.test.js +99 -0
  290. package/test/core/functional/locators/childProperties.test.js +40 -0
  291. package/test/core/functional/locators/descendantProperties.test.js +107 -0
  292. package/test/core/functional/locators/domProperties.test.js +60 -0
  293. package/test/core/functional/locators/elementProperties.test.js +114 -0
  294. package/test/core/functional/locators/mixedProperties.test.js +170 -0
  295. package/test/core/functional/locators/parentProperties.test.js +47 -0
  296. package/test/core/functional/locators/siblingProperties.test.js +120 -0
  297. package/test/core/functional/locators/test.locator.conf.js +38 -0
  298. package/test/core/functional/locators/utils.js +6 -0
  299. package/test/core/functional/nativeBrowser/runInBrowser.test.js +111 -0
  300. package/test/core/functional/nativeBrowser/test.conf.js +31 -0
  301. package/test/core/functional/nonUi5/basic.test.js +10 -0
  302. package/test/core/functional/nonUi5/getWithDomElement.test.js +51 -0
  303. package/test/core/functional/nonUi5/getWithDomElements.test.js +141 -0
  304. package/test/core/functional/nonUi5/test.conf.js +32 -0
  305. package/test/core/functional/ui5Properties/getAggregations.test.js +102 -0
  306. package/test/core/functional/ui5Properties/getAssociations.test.js +24 -0
  307. package/test/core/functional/ui5Properties/getBindingInfos.test.js +71 -0
  308. package/test/core/functional/ui5Properties/getProperties.test.js +226 -0
  309. package/test/core/functional/ui5Properties/test.conf.js +16 -0
  310. package/test/core/functional/uiveri5/sample.test.js +61 -0
  311. package/test/core/functional/uiveri5/test.conf.js +31 -0
  312. package/test/core/package-lock.json +0 -0
  313. package/test/core/package.json +12 -0
  314. package/test/core/testIntegration/config.js +17 -0
  315. package/test/core/testIntegration/configMultiCombo.js +17 -0
  316. package/test/core/testIntegration/configTable.js +18 -0
  317. package/test/core/testIntegration/filters1.spec.js +1849 -0
  318. package/test/core/testIntegration/multicombobox.spec.js +134 -0
  319. package/test/core/testIntegration/table.spec.js +80 -0
  320. package/test/helper/configurations/base.conf.js +43 -0
  321. package/test/helper/configurations/chrome.conf.js +47 -0
  322. package/test/helper/configurations/chrome.headless.conf.js +45 -0
  323. package/test/helper/configurations/sauce.labs.conf.js +37 -0
  324. package/test/helper/configurations/sauce.labs.tunnel.conf.js +39 -0
  325. package/test/helper/sleeper.js +19 -0
  326. package/test/helper/utils.js +15 -0
  327. package/test/helper/website/buttons.html +85 -0
  328. package/test/helper/website/checkBox.html +83 -0
  329. package/test/helper/website/dragAndDropFailing.html +83 -0
  330. package/test/helper/website/dragAndDropWdioExample.html +41 -0
  331. package/test/helper/website/dropdown.html +78 -0
  332. package/test/helper/website/forms.html +82 -0
  333. package/test/helper/website/hiddenAndVisible.html +60 -0
  334. package/test/helper/website/main.css +36 -0
  335. package/test/helper/website/scrollPage.html +261 -0
  336. package/test/helper/website/style.css +52 -0
  337. package/test/helper/website/tables.html +140 -0
  338. package/test/helper/website/waitForElements.html +73 -0
  339. package/test/reuse/common/assertion/expectDefined.spec.js +11 -0
  340. package/test/reuse/common/assertion/expectEqual.spec.js +52 -0
  341. package/test/reuse/common/assertion/expectFalse.spec.js +9 -0
  342. package/test/reuse/common/assertion/expectTrue.spec.js +9 -0
  343. package/test/reuse/common/assertion/expectUndefined.spec.js +11 -0
  344. package/test/reuse/common/assertion/expectUnequal.spec.js +25 -0
  345. package/test/reuse/common/assertion/expectUrlToBe.spec.js +27 -0
  346. package/test/reuse/common/assertion/test.assertion.conf.js +59 -0
  347. package/test/reuse/common/date/calculate.spec.js +163 -0
  348. package/test/reuse/common/date/getNextMonth.spec.js +105 -0
  349. package/test/reuse/common/date/getNextYear.spec.js +72 -0
  350. package/test/reuse/common/date/getPreviousMonth.spec.js +71 -0
  351. package/test/reuse/common/date/getPreviousYear.spec.js +72 -0
  352. package/test/reuse/common/date/getSpecific.spec.js +63 -0
  353. package/test/reuse/common/date/getToday.spec.js +78 -0
  354. package/test/reuse/common/date/getTomorrow.spec.js +72 -0
  355. package/test/reuse/common/date/test.date.conf.js +19 -0
  356. package/test/reuse/common/date/utils.js +6 -0
  357. package/test/reuse/common/navigation/navigateToUrl.spec.js +28 -0
  358. package/test/reuse/common/navigation/navigateToUrlAndRetry.spec.js +27 -0
  359. package/test/reuse/common/navigation/test.navigation.conf.js +25 -0
  360. package/test/reuse/common/userInteraction/clearAndFillActive.spec.js +100 -0
  361. package/test/reuse/common/userInteraction/clearAndFillActiveAndRetry.spec.js +106 -0
  362. package/test/reuse/common/userInteraction/fillActive.spec.js +230 -0
  363. package/test/reuse/common/userInteraction/fillActiveAndRetry.spec.js +172 -0
  364. package/test/reuse/common/userInteraction/pressKey.spec.js +105 -0
  365. package/test/reuse/common/userInteraction/test.userInteraction.conf.js +53 -0
  366. package/test/reuse/nonUi5/assertion/expectAttributeToBe.spec.js +45 -0
  367. package/test/reuse/nonUi5/assertion/expectAttributeToContain.spec.js +43 -0
  368. package/test/reuse/nonUi5/assertion/expectToBeNotVisible.spec.js +37 -0
  369. package/test/reuse/nonUi5/assertion/expectToBeVisible.spec.js +63 -0
  370. package/test/reuse/nonUi5/assertion/expectValueToBe.spec.js +25 -0
  371. package/test/reuse/nonUi5/assertion/test.assertion.conf.js +60 -0
  372. package/test/reuse/nonUi5/assertion/test.assertion.sauceLabs.conf.js +64 -0
  373. package/test/reuse/nonUi5/element/getAllDisplayed.spec.js +39 -0
  374. package/test/reuse/nonUi5/element/getAttributeValue.spec.js +58 -0
  375. package/test/reuse/nonUi5/element/getByChild.spec.js +70 -0
  376. package/test/reuse/nonUi5/element/getByClass.spec.js +64 -0
  377. package/test/reuse/nonUi5/element/getByCss.spec.js +65 -0
  378. package/test/reuse/nonUi5/element/getByCssContainingText.spec.js +83 -0
  379. package/test/reuse/nonUi5/element/getById.spec.js +35 -0
  380. package/test/reuse/nonUi5/element/getByName.spec.js +30 -0
  381. package/test/reuse/nonUi5/element/getByParent.spec.js +71 -0
  382. package/test/reuse/nonUi5/element/getByXPath.spec.js +30 -0
  383. package/test/reuse/nonUi5/element/getValue.spec.js +51 -0
  384. package/test/reuse/nonUi5/element/highlight.spec.js +18 -0
  385. package/test/reuse/nonUi5/element/isPresent.spec.js +39 -0
  386. package/test/reuse/nonUi5/element/isPresentByCss.spec.js +73 -0
  387. package/test/reuse/nonUi5/element/isPresentByXPath.spec.js +31 -0
  388. package/test/reuse/nonUi5/element/setInnerHTML.spec.js +23 -0
  389. package/test/reuse/nonUi5/element/test.element.conf.js +55 -0
  390. package/test/reuse/nonUi5/element/test.element.sauceLabs.conf.js +58 -0
  391. package/test/reuse/nonUi5/element/waitForAll.spec.js +24 -0
  392. package/test/reuse/nonUi5/element/waitToBeClickable.spec.js +24 -0
  393. package/test/reuse/nonUi5/element/waitToBePresent.spec.js +32 -0
  394. package/test/reuse/nonUi5/element/waitToBeVisible.spec.js +36 -0
  395. package/test/reuse/nonUi5/navigation/navigateToApplication.spec.js +13 -0
  396. package/test/reuse/nonUi5/navigation/test.navigation.conf.js +14 -0
  397. package/test/reuse/nonUi5/userInteraction/checkAttributeAndValue.spec.js +135 -0
  398. package/test/reuse/nonUi5/userInteraction/clear.spec.js +43 -0
  399. package/test/reuse/nonUi5/userInteraction/clearAndFill.spec.js +51 -0
  400. package/test/reuse/nonUi5/userInteraction/clearAndFillAndRetry.spec.js +58 -0
  401. package/test/reuse/nonUi5/userInteraction/clearAndRetry.spec.js +43 -0
  402. package/test/reuse/nonUi5/userInteraction/click.spec.js +60 -0
  403. package/test/reuse/nonUi5/userInteraction/clickAndRetry.spec.js +60 -0
  404. package/test/reuse/nonUi5/userInteraction/clickElementInSvg.spec.js +24 -0
  405. package/test/reuse/nonUi5/userInteraction/doubleClick.spec.js +22 -0
  406. package/test/reuse/nonUi5/userInteraction/dragAndDrop.spec.js +40 -0
  407. package/test/reuse/nonUi5/userInteraction/fill.spec.js +37 -0
  408. package/test/reuse/nonUi5/userInteraction/fillAndRetry.spec.js +39 -0
  409. package/test/reuse/nonUi5/userInteraction/mouseOverElement.spec.js +36 -0
  410. package/test/reuse/nonUi5/userInteraction/moveCursorAndClick.spec.js +24 -0
  411. package/test/reuse/nonUi5/userInteraction/rightClick.spec.js +13 -0
  412. package/test/reuse/nonUi5/userInteraction/scrollToElement.spec.js +35 -0
  413. package/test/reuse/nonUi5/userInteraction/test.userInteraction.conf.js +72 -0
  414. package/test/reuse/nonUi5/userInteraction/test.userInteraction.sauceLabs.conf.js +78 -0
  415. package/test/reuse/service/rest/db.json +8 -0
  416. package/test/reuse/service/rest/delete.spec.js +20 -0
  417. package/test/reuse/service/rest/get.spec.js +19 -0
  418. package/test/reuse/service/rest/init.spec.js +35 -0
  419. package/test/reuse/service/rest/patch.spec.js +29 -0
  420. package/test/reuse/service/rest/post.spec.js +37 -0
  421. package/test/reuse/service/rest/test.rest.conf.js +18 -0
  422. package/test/reuse/ui5/assertion/expectAttributeToBe.spec.js +106 -0
  423. package/test/reuse/ui5/assertion/expectAttributeToContain.spec.js +78 -0
  424. package/test/reuse/ui5/assertion/expectBindingContextPathToBe.spec.js +103 -0
  425. package/test/reuse/ui5/assertion/expectBindingPathToBe.spec.js +164 -0
  426. package/test/reuse/ui5/assertion/expectMessageToastTextToBe.spec.js +43 -0
  427. package/test/reuse/ui5/assertion/expectTextToBe.spec.js +39 -0
  428. package/test/reuse/ui5/assertion/expectToBeEnabled.spec.js +90 -0
  429. package/test/reuse/ui5/assertion/expectToBeNotEnabled.spec.js +62 -0
  430. package/test/reuse/ui5/assertion/expectToBeNotVisible.spec.js +52 -0
  431. package/test/reuse/ui5/assertion/expectToBeVisible.spec.js +69 -0
  432. package/test/reuse/ui5/assertion/expectToBeVisibleInViewport.spec.js +49 -0
  433. package/test/reuse/ui5/assertion/expectValidationError.spec.js +54 -0
  434. package/test/reuse/ui5/assertion/expectValidationSuccess.spec.js +53 -0
  435. package/test/reuse/ui5/assertion/expectValueToBe.spec.js +57 -0
  436. package/test/reuse/ui5/assertion/expectValueToBeDefined.spec.js +35 -0
  437. package/test/reuse/ui5/assertion/test.assertion.conf.js +28 -0
  438. package/test/reuse/ui5/assertion/test.assertion.sauceLab.conf.js +37 -0
  439. package/test/reuse/ui5/confirmationDialog/clickCancel.spec.js +88 -0
  440. package/test/reuse/ui5/confirmationDialog/clickCreate.spec.js +3 -0
  441. package/test/reuse/ui5/confirmationDialog/clickDelete.spec.js +89 -0
  442. package/test/reuse/ui5/confirmationDialog/clickNo.spec.js +96 -0
  443. package/test/reuse/ui5/confirmationDialog/clickOk.spec.js +66 -0
  444. package/test/reuse/ui5/confirmationDialog/clickRevokeApproval.spec.js +3 -0
  445. package/test/reuse/ui5/confirmationDialog/clickYes.spec.js +70 -0
  446. package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.conf.js +20 -0
  447. package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.sauceLab.conf.js +29 -0
  448. package/test/reuse/ui5/control/execute.spec.js +29 -0
  449. package/test/reuse/ui5/control/getAggregationProperty.spec.js +29 -0
  450. package/test/reuse/ui5/control/getAssociationProperty.spec.js +1 -0
  451. package/test/reuse/ui5/control/getBindingContextPathProperty.spec.js +30 -0
  452. package/test/reuse/ui5/control/getProperty.spec.js +30 -0
  453. package/test/reuse/ui5/control/getPropertyBinding.spec.js +30 -0
  454. package/test/reuse/ui5/control/test.control.conf.js +19 -0
  455. package/test/reuse/ui5/control/test.control.sauceLab.conf.js +30 -0
  456. package/test/reuse/ui5/date/fillRange.spec.js +53 -0
  457. package/test/reuse/ui5/date/pick.spec.js +136 -0
  458. package/test/reuse/ui5/date/pickRange.spec.js +143 -0
  459. package/test/reuse/ui5/date/test.date.conf.js +14 -0
  460. package/test/reuse/ui5/date/test.date.sauceLab.conf.js +26 -0
  461. package/test/reuse/ui5/element/getAllDisplayed.spec.js +71 -0
  462. package/test/reuse/ui5/element/getBindingValue.spec.js +78 -0
  463. package/test/reuse/ui5/element/getByChild.spec.js +124 -0
  464. package/test/reuse/ui5/element/getByParent.spec.js +134 -0
  465. package/test/reuse/ui5/element/getByText.spec.js +67 -0
  466. package/test/reuse/ui5/element/getDisplayed.spec.js +82 -0
  467. package/test/reuse/ui5/element/getId.spec.js +72 -0
  468. package/test/reuse/ui5/element/getPropertyValue.spec.js +91 -0
  469. package/test/reuse/ui5/element/highlight.spec.js +46 -0
  470. package/test/reuse/ui5/element/isVisible.spec.js +68 -0
  471. package/test/reuse/ui5/element/test.element.conf.js +22 -0
  472. package/test/reuse/ui5/element/test.element.sauceLab.conf.js +33 -0
  473. package/test/reuse/ui5/errorDialog/clickClose.spec.js +31 -0
  474. package/test/reuse/ui5/errorDialog/expectToBeVisible.spec.js +30 -0
  475. package/test/reuse/ui5/errorDialog/test.errorDialog.conf.js +13 -0
  476. package/test/reuse/ui5/errorDialog/test.errorDialog.sauceLab.conf.js +26 -0
  477. package/test/reuse/ui5/formatter/addRemoveLeadingZeros.spec.js +18 -0
  478. package/test/reuse/ui5/formatter/extractNumberFromString.spec.js +34 -0
  479. package/test/reuse/ui5/formatter/formatDate.spec.js +103 -0
  480. package/test/reuse/ui5/formatter/test.formatter.conf.js +14 -0
  481. package/test/reuse/ui5/formatter/test.formatter.sauceLab.conf.js +24 -0
  482. package/test/reuse/ui5/mockserver_qunit/Component.js +23 -0
  483. package/test/reuse/ui5/mockserver_qunit/LICENSE.txt +957 -0
  484. package/test/reuse/ui5/mockserver_qunit/NOTICE.txt +1 -0
  485. package/test/reuse/ui5/mockserver_qunit/controller/App.controller.js +37 -0
  486. package/test/reuse/ui5/mockserver_qunit/controller/BaseController.js +30 -0
  487. package/test/reuse/ui5/mockserver_qunit/controller/Home.controller.js +27 -0
  488. package/test/reuse/ui5/mockserver_qunit/controller/NotFound.controller.js +34 -0
  489. package/test/reuse/ui5/mockserver_qunit/controller/employee/Employee.controller.js +64 -0
  490. package/test/reuse/ui5/mockserver_qunit/controller/employee/EmployeeList.controller.js +22 -0
  491. package/test/reuse/ui5/mockserver_qunit/controller/employee/Resume.controller.js +83 -0
  492. package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverview.controller.js +11 -0
  493. package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverviewContent.controller.js +192 -0
  494. package/test/reuse/ui5/mockserver_qunit/i18n/i18n.properties +42 -0
  495. package/test/reuse/ui5/mockserver_qunit/index.html +21 -0
  496. package/test/reuse/ui5/mockserver_qunit/initMockServer.js +16 -0
  497. package/test/reuse/ui5/mockserver_qunit/localService/metadata.xml +61 -0
  498. package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Employees.json +155 -0
  499. package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Resumes.json +65 -0
  500. package/test/reuse/ui5/mockserver_qunit/localService/mockserver.js +146 -0
  501. package/test/reuse/ui5/mockserver_qunit/localService/mockserverLoadAllData.js +75 -0
  502. package/test/reuse/ui5/mockserver_qunit/manifest.json +169 -0
  503. package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServer.html +63 -0
  504. package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServerAllData.html +68 -0
  505. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/config.js +92 -0
  506. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/qunitExecution/specs/runQUnitTests.spec.js +14 -0
  507. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/data/setup.json +11 -0
  508. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/specs/testDisplayNotFound.spec.js +71 -0
  509. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Employees.json +204 -0
  510. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Resumes.json +114 -0
  511. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/setup.json +11 -0
  512. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/testShowEmployeeList.json +1 -0
  513. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/specs/testShowEmployeeList.spec.js +118 -0
  514. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/constants.js +25 -0
  515. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockDataMapper.js +23 -0
  516. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockHelper.js +222 -0
  517. package/test/reuse/ui5/mockserver_qunit/test/unit/allTests.js +6 -0
  518. package/test/reuse/ui5/mockserver_qunit/test/unit/unitTests.qunit.html +38 -0
  519. package/test/reuse/ui5/mockserver_qunit/test/unit/utils/Conversions.js +13 -0
  520. package/test/reuse/ui5/mockserver_qunit/view/App.view.xml +9 -0
  521. package/test/reuse/ui5/mockserver_qunit/view/Home.view.xml +12 -0
  522. package/test/reuse/ui5/mockserver_qunit/view/NotFound.view.xml +11 -0
  523. package/test/reuse/ui5/mockserver_qunit/view/employee/Employee.view.xml +52 -0
  524. package/test/reuse/ui5/mockserver_qunit/view/employee/EmployeeList.view.xml +24 -0
  525. package/test/reuse/ui5/mockserver_qunit/view/employee/Resume.view.xml +35 -0
  526. package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeHobbies.view.xml +3 -0
  527. package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeNotes.view.xml +3 -0
  528. package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeProjects.view.xml +3 -0
  529. package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverview.view.xml +13 -0
  530. package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewContent.view.xml +43 -0
  531. package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewTop.view.xml +3 -0
  532. package/test/reuse/ui5/navigation/closePopups.spec.js +16 -0
  533. package/test/reuse/ui5/navigation/expectUnsupportedNavigationPopup.spec.js +81 -0
  534. package/test/reuse/ui5/navigation/navigateToApplication.spec.js +148 -0
  535. package/test/reuse/ui5/navigation/navigateToApplicationAndRetry.spec.js +153 -0
  536. package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParams.spec.js +63 -0
  537. package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParamsAndRetry.spec.js +64 -0
  538. package/test/reuse/ui5/navigation/navigateToSystemAndApplication.spec.js +45 -0
  539. package/test/reuse/ui5/navigation/navigateToSystemAndApplicationAndRetry.spec.js +43 -0
  540. package/test/reuse/ui5/navigation/test.navigation.conf.js +17 -0
  541. package/test/reuse/ui5/navigation/test.navigation.sauceLab.conf.js +33 -0
  542. package/test/reuse/ui5/navigation/test.navigation.static.conf.js +34 -0
  543. package/test/reuse/ui5/navigation/test.navigation.static.sauceLab.conf.js +41 -0
  544. package/test/reuse/ui5/navigation/website/main.css +36 -0
  545. package/test/reuse/ui5/navigation/website/main.html +50 -0
  546. package/test/reuse/ui5/navigationBar/clickBack.spec.js +38 -0
  547. package/test/reuse/ui5/navigationBar/clickUserIcon.spec.js +36 -0
  548. package/test/reuse/ui5/navigationBar/expectPageTitle.spec.js +22 -0
  549. package/test/reuse/ui5/navigationBar/expectShellHeader.spec.js +22 -0
  550. package/test/reuse/ui5/navigationBar/test.navigationBar.conf.js +17 -0
  551. package/test/reuse/ui5/navigationBar/test.navigationBar.sauceLab.conf.js +28 -0
  552. package/test/reuse/ui5/session/login.spec.js +78 -0
  553. package/test/reuse/ui5/session/loginFiori.spec.js +52 -0
  554. package/test/reuse/ui5/session/loginSapCloud.spec.js +51 -0
  555. package/test/reuse/ui5/session/logout.spec.js +48 -0
  556. package/test/reuse/ui5/session/switchUser.spec.js +48 -0
  557. package/test/reuse/ui5/session/test.session.conf.js +20 -0
  558. package/test/reuse/ui5/session/test.session.sauceLab.conf.js +29 -0
  559. package/test/reuse/ui5/table/clickSettingsButton.spec.js +58 -0
  560. package/test/reuse/ui5/table/sortColumnAscending.spec.js +84 -0
  561. package/test/reuse/ui5/table/sortColumnDescending.spec.js +84 -0
  562. package/test/reuse/ui5/table/test.table.conf.js +14 -0
  563. package/test/reuse/ui5/table/test.table.sauceLab.conf.js +25 -0
  564. package/test/reuse/ui5/table/test.table.sauceLab.tunnel.conf.js +25 -0
  565. package/test/reuse/ui5/userInteraction/clear.spec.js +75 -0
  566. package/test/reuse/ui5/userInteraction/clearAndFill.spec.js +157 -0
  567. package/test/reuse/ui5/userInteraction/clearAndFillAndRetry.spec.js +132 -0
  568. package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInput.spec.js +73 -0
  569. package/test/reuse/ui5/userInteraction/clearAndRetry.spec.js +57 -0
  570. package/test/reuse/ui5/userInteraction/click.spec.js +73 -0
  571. package/test/reuse/ui5/userInteraction/clickAndRetry.spec.js +52 -0
  572. package/test/reuse/ui5/userInteraction/clickSelectArrow.spec.js +87 -0
  573. package/test/reuse/ui5/userInteraction/clickSelectArrowAndRetry.spec.js +147 -0
  574. package/test/reuse/ui5/userInteraction/clickTab.spec.js +59 -0
  575. package/test/reuse/ui5/userInteraction/doubleClick.spec.js +73 -0
  576. package/test/reuse/ui5/userInteraction/dragAndDrop.spec.js +34 -0
  577. package/test/reuse/ui5/userInteraction/fill.spec.js +114 -0
  578. package/test/reuse/ui5/userInteraction/fillAndRetry.spec.js +120 -0
  579. package/test/reuse/ui5/userInteraction/mouseOverElement.spec.js +55 -0
  580. package/test/reuse/ui5/userInteraction/openF4Help.spec.js +56 -0
  581. package/test/reuse/ui5/userInteraction/rightClick.spec.js +72 -0
  582. package/test/reuse/ui5/userInteraction/scrollToElement.spec.js +89 -0
  583. package/test/reuse/ui5/userInteraction/searchFor.spec.js +155 -0
  584. package/test/reuse/ui5/userInteraction/selectBox.spec.js +128 -0
  585. package/test/reuse/ui5/userInteraction/selectCombobox.spec.js +115 -0
  586. package/test/reuse/ui5/userInteraction/selectMultiComboBox.spec.js +155 -0
  587. package/test/reuse/ui5/userInteraction/test.userInteraction.conf.js +35 -0
  588. package/test/reuse/ui5/userInteraction/test.userInteraction.sauceLab.conf.js +46 -0
  589. package/test/reuse/util/browser/back.spec.js +32 -0
  590. package/test/reuse/util/browser/clearBrowser.spec.js +35 -0
  591. package/test/reuse/util/browser/executeScript.spec.js +49 -0
  592. package/test/reuse/util/browser/getBaseUrl.spec.js +13 -0
  593. package/test/reuse/util/browser/getBrowserName.spec.js +18 -0
  594. package/test/reuse/util/browser/getCurrentUrl.spec.js +34 -0
  595. package/test/reuse/util/browser/getCurrentWindow.spec.js +42 -0
  596. package/test/reuse/util/browser/getUI5Version.spec.js +31 -0
  597. package/test/reuse/util/browser/logCurrentUrl.spec.js +23 -0
  598. package/test/reuse/util/browser/refresh.spec.js +52 -0
  599. package/test/reuse/util/browser/setBaseUrl.spec.js +13 -0
  600. package/test/reuse/util/browser/switchToDefaultContent.spec.js +34 -0
  601. package/test/reuse/util/browser/switchToIframe.spec.js +29 -0
  602. package/test/reuse/util/browser/switchToNewWindow.spec.js +142 -0
  603. package/test/reuse/util/browser/switchToWindow.spec.js +57 -0
  604. package/test/reuse/util/browser/test.browser.conf.js +27 -0
  605. package/test/reuse/util/data/data/test.json +3 -0
  606. package/test/reuse/util/data/data/test.secure.json +11 -0
  607. package/test/reuse/util/data/decrypt.spec.js +15 -0
  608. package/test/reuse/util/data/getData.spec.js +15 -0
  609. package/test/reuse/util/data/getSecureData.spec.js +57 -0
  610. package/test/reuse/util/data/test.data.conf.js +22 -0
  611. package/test/reuse/util/file/file.spec.js +90 -0
  612. package/test/reuse/util/file/pdfParser.spec.js +55 -0
  613. package/test/reuse/util/file/test.file.conf.js +15 -0
  614. package/test/reuse/util/file/testFiles/sample.pdf +198 -0
  615. package/test/reuse/util/file/testFiles/test.txt +5 -0
  616. package/test/reuse/util/file/testFiles/test2.txt +2 -0
  617. package/test/reuse/util/formatter/addRemoveLeadingZeros.spec.js +38 -0
  618. package/test/reuse/util/formatter/extractNumberFromString.spec.js +67 -0
  619. package/test/reuse/util/formatter/formatDate.spec.js +150 -0
  620. package/test/reuse/util/formatter/sliceStringAfter.spec.js +62 -0
  621. package/test/reuse/util/formatter/sliceStringAt.spec.js +62 -0
  622. package/test/reuse/util/formatter/stringifyJSON.spec.js +24 -0
  623. package/test/reuse/util/formatter/test.formatter.conf.js +20 -0
  624. package/test/reuse/util/formatter/trimString.spec.js +37 -0
  625. package/tsconfig.json +26 -0
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ConfirmationDialog = void 0;
13
+ /**
14
+ * @class confirmationDialog
15
+ * @memberof ui5
16
+ */
17
+ class ConfirmationDialog {
18
+ constructor() {
19
+ this.selectors = {
20
+ genericButton: (text) => {
21
+ return {
22
+ "elementProperties": {
23
+ "metadata": "sap.m.Button",
24
+ "mProperties": {
25
+ "text": text
26
+ }
27
+ },
28
+ "parentProperties": {
29
+ "metadata": "sap.m.AssociativeOverflowToolbar"
30
+ }
31
+ };
32
+ }
33
+ };
34
+ }
35
+ /**
36
+ * @function clickButton
37
+ * @memberOf ui5.confirmationDialog
38
+ * @description Clicks the button with the given text at the confirmation dialog.
39
+ * @param {String} text - The text of the button.
40
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
41
+ * @example await ui5.confirmationDialog.clickButton("Ok");
42
+ */
43
+ clickButton(text, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ return ui5.userInteraction.click(this.selectors.genericButton(text), 0, timeout);
46
+ });
47
+ }
48
+ ;
49
+ /**
50
+ * @function clickOk
51
+ * @memberOf ui5.confirmationDialog
52
+ * @description Clicks the "OK" button at the confirmation dialog.
53
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
54
+ * @example await ui5.confirmationDialog.clickOk();
55
+ */
56
+ clickOk(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ // @ts-ignore
59
+ return this.clickButton(/ok/gi, timeout);
60
+ });
61
+ }
62
+ ;
63
+ /**
64
+ * @function clickCancel
65
+ * @memberOf ui5.confirmationDialog
66
+ * @description Clicks the "Cancel" button at the confirmation dialog.
67
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
68
+ * @example await ui5.confirmationDialog.clickCancel();
69
+ */
70
+ clickCancel(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ return this.clickButton("Cancel", timeout);
73
+ });
74
+ }
75
+ ;
76
+ /**
77
+ * @function clickYes
78
+ * @memberOf ui5.confirmationDialog
79
+ * @description Clicks the "Yes" button at the confirmation dialog.
80
+ * @param {Number} [timeout] - The timeout to wait (default value: 30 sec).
81
+ * @example await ui5.confirmationDialog.clickYes();
82
+ */
83
+ clickYes(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ return this.clickButton("Yes", timeout);
86
+ });
87
+ }
88
+ ;
89
+ /**
90
+ * @function clickNo
91
+ * @memberOf ui5.confirmationDialog
92
+ * @description Clicks the "Yes" button at the confirmation dialog.
93
+ * @param {Number} [timeout] - The timeout to wait (default value: 30 sec).
94
+ * @example await ui5.confirmationDialog.clickNo();
95
+ */
96
+ clickNo(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ return this.clickButton("No", timeout);
99
+ });
100
+ }
101
+ ;
102
+ /**
103
+ * @function clickCreate
104
+ * @memberOf ui5.confirmationDialog
105
+ * @description Clicks the create button in the confirmation dialog
106
+ * @param {Number} [timeout] - The timeout to wait (default value: 30 sec).
107
+ * @example await ui5.confirmationDialog.clickCreate();
108
+ */
109
+ clickCreate(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ return this.clickButton("Create", timeout);
112
+ });
113
+ }
114
+ ;
115
+ /**
116
+ * @function clickDelete
117
+ * @memberOf ui5.confirmationDialog
118
+ * @description Clicks the "Delete" button at the confirmation dialog.
119
+ * @param {Number} [timeout] - The timeout to wait (default value: 30 sec).
120
+ * @example await ui5.confirmationDialog.clickDelete();
121
+ */
122
+ clickDelete(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ return this.clickButton("Delete", timeout);
125
+ });
126
+ }
127
+ ;
128
+ /**
129
+ * @function clickRevokeApproval
130
+ * @memberOf ui5.confirmationDialog
131
+ * @description Clicks the "Revoke Approval" button at the confirmation dialog.
132
+ * @param {Number} [timeout] - The timeout to wait (default value: 30 sec).
133
+ * @example await ui5.confirmationDialog.clickRevokeApproval();
134
+ */
135
+ clickRevokeApproval(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ return this.clickButton("Revoke Approval", timeout);
138
+ });
139
+ }
140
+ ;
141
+ }
142
+ exports.ConfirmationDialog = ConfirmationDialog;
143
+ ;
144
+ exports.default = new ConfirmationDialog();
145
+ //# sourceMappingURL=confirmationDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmationDialog.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/confirmationDialog.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AACb;;;GAGG;AACH,MAAa,kBAAkB;IAA/B;QAEE,cAAS,GAAG;YACV,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC9B,OAAO;oBACL,mBAAmB,EAAE;wBACnB,UAAU,EAAE,cAAc;wBAC1B,aAAa,EAAE;4BACb,MAAM,EAAE,IAAI;yBACb;qBACF;oBACD,kBAAkB,EAAE;wBAClB,UAAU,EAAE,kCAAkC;qBAC/C;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;IA4FJ,CAAC;IA1FC;;;;;;;OAOG;IACG,WAAW,CAAE,IAAY,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YAClF,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACnF,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;OAMG;IACG,OAAO,CAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YAChE,aAAa;YACb,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;OAMG;IACG,WAAW,CAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;OAMG;IACG,QAAQ,CAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YACjE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;OAMG;IACG,OAAO,CAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YAChE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;OAMG;IACG,WAAW,CAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;OAMG;IACG,WAAW,CAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;OAMG;IACG,mBAAmB,CAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;KAAA;IAAA,CAAC;CAEH;AA5GD,gDA4GC;AAAA,CAAC;AACF,kBAAe,IAAI,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare enum RequestMethod {
2
+ GET = "GET",
3
+ POST = "POST"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestMethod = void 0;
4
+ var RequestMethod;
5
+ (function (RequestMethod) {
6
+ RequestMethod["GET"] = "GET";
7
+ RequestMethod["POST"] = "POST";
8
+ })(RequestMethod = exports.RequestMethod || (exports.RequestMethod = {}));
9
+ //# sourceMappingURL=mockserver.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockserver.constants.js","sourceRoot":"","sources":["../../../../../src/reuse/modules/ui5/constants/mockserver.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,8BAAa,CAAA;AACf,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @class control
3
+ * @memberof ui5
4
+ */
5
+ export declare class Control {
6
+ private lib;
7
+ private locatorCommands;
8
+ /**
9
+ * @function execute
10
+ * @memberOf ui5.control
11
+ * @description Executes a native UI5 action as callback function in the browser on the given UI5 control.
12
+ * @param {Function} callbackFunction - The client script function to be used with the control instance.
13
+ * Caution: The first and last parameter is reserved for the mockserver instance and the promise resolve function - done.
14
+ * @param {String | Object} selectorOrElement - The selector object or the dom element (retrieved from getDisplayedElement).
15
+ * @param {Object} args - An object containing the arguments to pass to the callback function.
16
+ * @example const selector = {"elementProperties":{"metadata":"sap.m.StandardListItem", "id": "*categoryList-7"}};
17
+ * const args = {"property": "text"};
18
+ * const title = await ui5.control.execute(function (control, args, done) {
19
+ * done(control.getProperty(args.property));
20
+ * }, selector, args);
21
+ **/
22
+ execute(callbackFunction: Function, selectorOrElement: any, args?: any): Promise<any>;
23
+ /**
24
+ * @function getProperty
25
+ * @memberOf ui5.control
26
+ * @description Gets the UI5 control property of the given element.
27
+ * @param {Object} elem - The element.
28
+ * @param {String} propertyName - The property name of the control to retrieve the value from.
29
+ * @example const selector = { "elementProperties":{"metadata":"sap.m.StandardListItem","mProperties":{ "title":[{"path":"CategoryName"}] }};
30
+ * const elem = await ui5.control.locator.getDisplayedElement(selector);
31
+ * const propertyName = "title";
32
+ * const val = await ui5.control.getProperty(elem, propertyName);
33
+ **/
34
+ getProperty(elem: Element, propertyName: string): Promise<any>;
35
+ /**
36
+ * @function getAggregationProperty
37
+ * @memberOf ui5.control
38
+ * @description Gets the UI5 control aggregation property of the given element.
39
+ * @param {Object} elem - The element.
40
+ * @param {String} propertyName - The aggregation property name of the control to retrieve the value from.
41
+ * @example const selector = { "elementProperties":{"metadata":"sap.m.StandardListItem","mProperties":{ "items":[{"path":"/Categories"}] }};
42
+ * const elem = await ui5.control.locator.getDisplayedElement(selector);
43
+ * const propertyName = "tooltip";
44
+ * const val = await ui5.control.getAggregationProperty(elem, propertyName);
45
+ **/
46
+ getAggregationProperty(elem: Element, propertyName: string): Promise<any>;
47
+ /**
48
+ * @function getAssociationProperty
49
+ * @memberOf ui5.control
50
+ * @description Get UI control property
51
+ * @param {Object} elem - The element.
52
+ * @param {String} propertyName - The association property name of the control to retrieve the value from.
53
+ * @example const selector = { "elementProperties":{"metadata":"sap.m.MultiComboBox","mProperties":{}};
54
+ * const elem = await ui5.control.locator.getDisplayedElement(selector);
55
+ * const propertyName = "selectedItems";
56
+ * const propertyValue = await ui5.control.getAssociationProperty(elem, propertyName);
57
+ **/
58
+ getAssociationProperty(elem: Element, propertyName: string): Promise<any>;
59
+ /**
60
+ * @function getBindingContextPathProperty
61
+ * @memberOf ui5.control
62
+ * @description Get UI control binding context path
63
+ * @param {Object} elem - The element.
64
+ * @example const selector = { "elementProperties":{"metadata":"sap.m.StandardListItem","mProperties":{"title":[{"path":"CategoryName"}] }};
65
+ * const elem = await ui5.control.locator.getDisplayedElement(selector);
66
+ * const context = await ui5.control.getBindingContextPathProperty(elem);
67
+ **/
68
+ getBindingContextPathProperty(elem: Element): Promise<any>;
69
+ /**
70
+ * @function getPropertyBinding
71
+ * @memberOf ui5.control
72
+ * @description Get UI control property
73
+ * @param {Object} elem - The element.
74
+ * @param {String} propertyName - The property name to retrieve from the control binding
75
+ * @returns {Array} Array of bindings for the specific property
76
+ * @example const selector = { "elementProperties":{"metadata":"sap.m.StandardListItem","mProperties":{ "title":[{"path":"CategoryName"}] }};
77
+ * const elem = await ui5.control.locator.getDisplayedElement(selector);
78
+ * const propertyName = "title";
79
+ * const binding = await ui5.control.getPropertyBinding(elem, propertyName);
80
+ **/
81
+ getPropertyBinding(elem: Element, propertyName: string): Promise<any>;
82
+ }
83
+ declare const _default: Control;
84
+ export default _default;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Control = void 0;
13
+ /**
14
+ * @class control
15
+ * @memberof ui5
16
+ */
17
+ class Control {
18
+ constructor() {
19
+ this.lib = require("../../../scripts/hooks/utils/lib");
20
+ this.locatorCommands = require("../../../scripts/hooks/utils/locatorCommands");
21
+ }
22
+ // =================================== EXECUTE ===================================
23
+ /**
24
+ * @function execute
25
+ * @memberOf ui5.control
26
+ * @description Executes a native UI5 action as callback function in the browser on the given UI5 control.
27
+ * @param {Function} callbackFunction - The client script function to be used with the control instance.
28
+ * Caution: The first and last parameter is reserved for the mockserver instance and the promise resolve function - done.
29
+ * @param {String | Object} selectorOrElement - The selector object or the dom element (retrieved from getDisplayedElement).
30
+ * @param {Object} args - An object containing the arguments to pass to the callback function.
31
+ * @example const selector = {"elementProperties":{"metadata":"sap.m.StandardListItem", "id": "*categoryList-7"}};
32
+ * const args = {"property": "text"};
33
+ * const title = await ui5.control.execute(function (control, args, done) {
34
+ * done(control.getProperty(args.property));
35
+ * }, selector, args);
36
+ **/
37
+ execute(callbackFunction, selectorOrElement, args) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ return this.lib.controlActionInBrowser(callbackFunction, selectorOrElement, args);
40
+ });
41
+ }
42
+ ;
43
+ // =================================== GET ===================================
44
+ /**
45
+ * @function getProperty
46
+ * @memberOf ui5.control
47
+ * @description Gets the UI5 control property of the given element.
48
+ * @param {Object} elem - The element.
49
+ * @param {String} propertyName - The property name of the control to retrieve the value from.
50
+ * @example const selector = { "elementProperties":{"metadata":"sap.m.StandardListItem","mProperties":{ "title":[{"path":"CategoryName"}] }};
51
+ * const elem = await ui5.control.locator.getDisplayedElement(selector);
52
+ * const propertyName = "title";
53
+ * const val = await ui5.control.getProperty(elem, propertyName);
54
+ **/
55
+ getProperty(elem, propertyName) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ return this.locatorCommands.getUI5Property(propertyName, elem);
58
+ });
59
+ }
60
+ ;
61
+ /**
62
+ * @function getAggregationProperty
63
+ * @memberOf ui5.control
64
+ * @description Gets the UI5 control aggregation property of the given element.
65
+ * @param {Object} elem - The element.
66
+ * @param {String} propertyName - The aggregation property name of the control to retrieve the value from.
67
+ * @example const selector = { "elementProperties":{"metadata":"sap.m.StandardListItem","mProperties":{ "items":[{"path":"/Categories"}] }};
68
+ * const elem = await ui5.control.locator.getDisplayedElement(selector);
69
+ * const propertyName = "tooltip";
70
+ * const val = await ui5.control.getAggregationProperty(elem, propertyName);
71
+ **/
72
+ getAggregationProperty(elem, propertyName) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ return this.locatorCommands.getUI5Aggregation(propertyName, elem);
75
+ });
76
+ }
77
+ ;
78
+ /**
79
+ * @function getAssociationProperty
80
+ * @memberOf ui5.control
81
+ * @description Get UI control property
82
+ * @param {Object} elem - The element.
83
+ * @param {String} propertyName - The association property name of the control to retrieve the value from.
84
+ * @example const selector = { "elementProperties":{"metadata":"sap.m.MultiComboBox","mProperties":{}};
85
+ * const elem = await ui5.control.locator.getDisplayedElement(selector);
86
+ * const propertyName = "selectedItems";
87
+ * const propertyValue = await ui5.control.getAssociationProperty(elem, propertyName);
88
+ **/
89
+ getAssociationProperty(elem, propertyName) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ return this.locatorCommands.getUI5Association(propertyName, elem);
92
+ });
93
+ }
94
+ ;
95
+ /**
96
+ * @function getBindingContextPathProperty
97
+ * @memberOf ui5.control
98
+ * @description Get UI control binding context path
99
+ * @param {Object} elem - The element.
100
+ * @example const selector = { "elementProperties":{"metadata":"sap.m.StandardListItem","mProperties":{"title":[{"path":"CategoryName"}] }};
101
+ * const elem = await ui5.control.locator.getDisplayedElement(selector);
102
+ * const context = await ui5.control.getBindingContextPathProperty(elem);
103
+ **/
104
+ getBindingContextPathProperty(elem) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ return this.locatorCommands.getBindingContextPath(elem);
107
+ });
108
+ }
109
+ ;
110
+ /**
111
+ * @function getPropertyBinding
112
+ * @memberOf ui5.control
113
+ * @description Get UI control property
114
+ * @param {Object} elem - The element.
115
+ * @param {String} propertyName - The property name to retrieve from the control binding
116
+ * @returns {Array} Array of bindings for the specific property
117
+ * @example const selector = { "elementProperties":{"metadata":"sap.m.StandardListItem","mProperties":{ "title":[{"path":"CategoryName"}] }};
118
+ * const elem = await ui5.control.locator.getDisplayedElement(selector);
119
+ * const propertyName = "title";
120
+ * const binding = await ui5.control.getPropertyBinding(elem, propertyName);
121
+ **/
122
+ getPropertyBinding(elem, propertyName) {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ return this.locatorCommands.getBindingProperty(propertyName, elem);
125
+ });
126
+ }
127
+ ;
128
+ }
129
+ exports.Control = Control;
130
+ ;
131
+ exports.default = new Control();
132
+ //# sourceMappingURL=control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/control.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AACb;;;GAGG;AACH,MAAa,OAAO;IAApB;QAEU,QAAG,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAClD,oBAAe,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;IAkGpF,CAAC;IAhGC,kFAAkF;IAClF;;;;;;;;;;;;;QAaI;IACE,OAAO,CAAE,gBAA0B,EAAE,iBAAsB,EAAE,IAAU;;YAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACpF,CAAC;KAAA;IAAA,CAAC;IAGF,8EAA8E;IAC9E;;;;;;;;;;QAUI;IACE,WAAW,CAAE,IAAa,EAAE,YAAoB;;YACpD,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;;;;;QAUI;IACE,sBAAsB,CAAE,IAAa,EAAE,YAAoB;;YAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;;;;;QAUI;IACE,sBAAsB,CAAE,IAAa,EAAE,YAAoB;;YAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;;;QAQI;IACE,6BAA6B,CAAE,IAAa;;YAChD,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;KAAA;IAAA,CAAC;IAGF;;;;;;;;;;;QAWI;IACE,kBAAkB,CAAE,IAAa,EAAE,YAAoB;;YAC3D,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;KAAA;IAAA,CAAC;CAEH;AArGD,0BAqGC;AAAA,CAAC;AACF,kBAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @class date
3
+ * @memberof ui5
4
+ */
5
+ export declare class DateModule {
6
+ /**
7
+ * @function pick
8
+ * @memberOf ui5.date
9
+ * @description Picks the passed date using the "DatePicker" with the given selector.
10
+ * @param {Selector} selector - The selector describing the element.
11
+ * @param {Date} date - The date object.
12
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
13
+ * @example const today = await common.date.calculate("today");
14
+ * await ui5.date.pick(selector, date);
15
+ */
16
+ pick(selector: any, date: Date, index?: number): Promise<void>;
17
+ /**
18
+ * @function pickRange
19
+ * @memberOf ui5.date
20
+ * @description Picks the passed date range using the "DatePicker" with the given selector.
21
+ * Note that this will only work within the current month!
22
+ * @param {Selector} selector - The selector describing the element.
23
+ * @param {Object[]} range - The array of date objects containing start- and end date.
24
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
25
+ * @example const start = await common.date.calculate("2020, 9, 20");
26
+ * const end = await common.date.calculate("2021, 1, 3");
27
+ * const range = [start, end];
28
+ * await ui5.date.pickRange(selector, range);
29
+ */
30
+ pickRange(selector: any, range: Date[], index?: number): Promise<void>;
31
+ /**
32
+ * @function fillRange
33
+ * @memberOf ui5.date
34
+ * @description Enters the passed date range to the date input with the given selector by providing the start- and end date.
35
+ * @param {Selector} selector - The selector describing the element.
36
+ * @param {Object[]} range - The array of date objects containing start- and end date.
37
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
38
+ * @example const start = await common.date.calculate("2020, 9, 20", "dd.mm.yyyy");
39
+ * const end = await common.date.calculate("2021, 1, 3", "dd.mm.yyyy");
40
+ * const range = [start, end];
41
+ * await ui5.date.fillRange(selector, range);
42
+ */
43
+ fillRange(selector: any, range: Date[], index?: number): Promise<void>;
44
+ private _openDatePicker;
45
+ private _selectDate;
46
+ }
47
+ declare const _default: DateModule;
48
+ export default _default;
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DateModule = void 0;
13
+ const formatter_constants_1 = require("../util/constants/formatter.constants");
14
+ /**
15
+ * @class date
16
+ * @memberof ui5
17
+ */
18
+ class DateModule {
19
+ // =================================== PICK ===================================
20
+ /**
21
+ * @function pick
22
+ * @memberOf ui5.date
23
+ * @description Picks the passed date using the "DatePicker" with the given selector.
24
+ * @param {Selector} selector - The selector describing the element.
25
+ * @param {Date} date - The date object.
26
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
27
+ * @example const today = await common.date.calculate("today");
28
+ * await ui5.date.pick(selector, date);
29
+ */
30
+ pick(selector, date, index = 0) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ let id = yield ui5.element.getId(selector, index);
33
+ if (selector.elementProperties.metadata === "sap.ui.core.Icon") {
34
+ id = id.replace("-icon", "");
35
+ }
36
+ const tempSelector = {
37
+ "elementProperties": {
38
+ "metadata": "sap.m.DatePicker",
39
+ "id": id
40
+ }
41
+ };
42
+ yield this._openDatePicker(tempSelector);
43
+ yield this._selectDate(tempSelector, date);
44
+ });
45
+ }
46
+ ;
47
+ /**
48
+ * @function pickRange
49
+ * @memberOf ui5.date
50
+ * @description Picks the passed date range using the "DatePicker" with the given selector.
51
+ * Note that this will only work within the current month!
52
+ * @param {Selector} selector - The selector describing the element.
53
+ * @param {Object[]} range - The array of date objects containing start- and end date.
54
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
55
+ * @example const start = await common.date.calculate("2020, 9, 20");
56
+ * const end = await common.date.calculate("2021, 1, 3");
57
+ * const range = [start, end];
58
+ * await ui5.date.pickRange(selector, range);
59
+ */
60
+ pickRange(selector, range, index = 0) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ let id = yield ui5.element.getId(selector, index);
63
+ if (selector.elementProperties.metadata === "sap.ui.core.Icon") {
64
+ id = id.replace("-icon", "");
65
+ }
66
+ const tempSelector = {
67
+ "elementProperties": {
68
+ "metadata": "sap.m.DateRangeSelection",
69
+ "id": id
70
+ }
71
+ };
72
+ yield this._openDatePicker(tempSelector);
73
+ yield this._selectDate(tempSelector, range[0]);
74
+ yield this._selectDate(tempSelector, range[1]);
75
+ });
76
+ }
77
+ ;
78
+ // =================================== FILL ===================================
79
+ /**
80
+ * @function fillRange
81
+ * @memberOf ui5.date
82
+ * @description Enters the passed date range to the date input with the given selector by providing the start- and end date.
83
+ * @param {Selector} selector - The selector describing the element.
84
+ * @param {Object[]} range - The array of date objects containing start- and end date.
85
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
86
+ * @example const start = await common.date.calculate("2020, 9, 20", "dd.mm.yyyy");
87
+ * const end = await common.date.calculate("2021, 1, 3", "dd.mm.yyyy");
88
+ * const range = [start, end];
89
+ * await ui5.date.fillRange(selector, range);
90
+ */
91
+ fillRange(selector, range, index = 0) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ const value = range[0] + " - " + range[1];
94
+ yield ui5.userInteraction.clearAndFill(selector, value, index);
95
+ });
96
+ }
97
+ ;
98
+ // =================================== HELPER ===================================
99
+ _openDatePicker(selector) {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ const id = selector.elementProperties.id;
102
+ const icon = yield nonUi5.element.getById(`${id}-icon`);
103
+ yield nonUi5.userInteraction.click(icon);
104
+ });
105
+ }
106
+ _selectDate(selector, date) {
107
+ return __awaiter(this, void 0, void 0, function* () {
108
+ const year = date.getFullYear();
109
+ const month = date.getMonth();
110
+ let found = false;
111
+ const id = selector.elementProperties.id;
112
+ const value = yield ui5.element.getValue(selector);
113
+ const currentDate = new Date(value);
114
+ const currentYear = currentDate.getFullYear();
115
+ const currentMonth = currentDate.getMonth();
116
+ if (year !== currentYear) {
117
+ const yearOverview = yield nonUi5.element.getById(`${id}-cal--Head-B2`);
118
+ yield nonUi5.userInteraction.click(yearOverview);
119
+ while (!found) {
120
+ const yearSpanElem = yield nonUi5.element.getById(`${id}-cal--Head-B2`);
121
+ const yearSpan = yield yearSpanElem.getText();
122
+ const yearMin = yearSpan.slice(0, 4);
123
+ const yearMax = yearSpan.slice(7, 11);
124
+ if (year < Number(yearMin)) {
125
+ const prev = yield nonUi5.element.getById(`${id}-cal--Head-prev`);
126
+ yield nonUi5.userInteraction.click(prev);
127
+ }
128
+ else if (year > Number(yearMax)) {
129
+ const next = yield nonUi5.element.getById(`${id}-cal--Head-next`);
130
+ yield nonUi5.userInteraction.click(next);
131
+ }
132
+ else {
133
+ found = true;
134
+ }
135
+ }
136
+ const yearPick = yield nonUi5.element.getByCss(`[id*="${id}-cal--YP-y${year}"]`);
137
+ yield nonUi5.userInteraction.click(yearPick);
138
+ }
139
+ if (month !== currentMonth) {
140
+ const monthOverview = yield nonUi5.element.getById(`${id}-cal--Head-B1`);
141
+ yield nonUi5.userInteraction.click(monthOverview);
142
+ const monthPick = yield nonUi5.element.getByCss(`[id*="${id}-cal--MP-m${month}"]`);
143
+ yield nonUi5.userInteraction.click(monthPick);
144
+ }
145
+ const dayPick = yield nonUi5.element.getByCss(`[id="${id}-cal"] .sapUiCalItem[data-sap-day="${util.formatter.formatDate(date, formatter_constants_1.DateFormats.YEAR_MONTH_DAY_PLAIN)}"] .sapUiCalItemText`);
146
+ yield nonUi5.userInteraction.click(dayPick);
147
+ });
148
+ }
149
+ }
150
+ exports.DateModule = DateModule;
151
+ ;
152
+ exports.default = new DateModule();
153
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/date.ts"],"names":[],"mappings":"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"}