@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,90 @@
1
+ import { DateFormatsType } from "./types/formatter.types";
2
+ /**
3
+ * @class formatter
4
+ * @memberof util
5
+ */
6
+ export declare class Formatter {
7
+ /**
8
+ * @function sliceStringAt
9
+ * @memberOf util.formatter
10
+ * @description Slices the given string beginning at a specific substring.
11
+ * @param {String} input - The input string to slice.
12
+ * @param {String} slicePoint - The substring at which the input string is being sliced.
13
+ * @param {number} length - The required length of the returning string (starting at the index of the passed slice point).
14
+ * @returns {String} The sliced string.
15
+ * @example const sliced = util.formatter.sliceStringAt("prefixNR12345postfix", "NR", 7);
16
+ * // returns "NR12345"
17
+ */
18
+ sliceStringAt(input: string, slicePoint: string, length: number): string;
19
+ /**
20
+ * @function sliceStringAfter
21
+ * @memberOf util.formatter
22
+ * @description Slices the given string after a specific substring.
23
+ * @param {String} input - The input string to slice.
24
+ * @param {String} slicePoint - The substring after which the input string is being sliced.
25
+ * @param {number} length - The required length of the returning string (starting at the index after the passed slice point).
26
+ * @returns {String} The sliced string.
27
+ * @example const sliced = util.formatter.sliceStringAfter("prefixNR12345postfix", "NR", 5);
28
+ * // returns "12345"
29
+ */
30
+ sliceStringAfter(input: string, slicePoint: string, length: number): string;
31
+ /**
32
+ * @function trimString
33
+ * @memberOf util.formatter
34
+ * @description Removes whitespace from both sides of the given string.
35
+ * @param {String} input - The input string to trim.
36
+ * @example const trimmed = util.formatter.trimString(" value ");
37
+ * // returns "value"
38
+ */
39
+ trimString(input: string): string;
40
+ /**
41
+ * @function extractNumberFromString
42
+ * @memberOf util.formatter
43
+ * @description Extracts all numbers from a string.
44
+ * @param {String} input - The input string to extract the number.
45
+ * @param {number} [index=0] - If there are multiple numbers in the string you can pass an index to return a specific number.
46
+ * @returns {String} The extracted number.
47
+ * @example const extracted = util.formatter.extractNumberFromString("prefixNR12345postfix");
48
+ * // returns "12345"
49
+ * @example const extracted = util.formatter.extractNumberFromString("first12345 someText second 20 abc", 1);
50
+ * // returns "20"
51
+ */
52
+ extractNumberFromString(input: string, index?: number): string;
53
+ /**
54
+ * @function stringifyJSON
55
+ * @memberOf util.formatter
56
+ * @description Converts a JSON object to string.
57
+ * @param {Object} object - The JSON to be converted.
58
+ * @returns {String} The converted JSON object.
59
+ * @example console.log(`Printing the current selector: ${util.formatter.stringifyJSON(selector)}`);
60
+ */
61
+ stringifyJSON(object: object): string;
62
+ /**
63
+ * @function addRemoveLeadingZeros
64
+ * @memberOf util.formatter
65
+ * @description Adds or removes leading zeros to the passed number to format it to the required length.
66
+ * @param {String} number - The number to be formatted.
67
+ * @param {Number} length - The required length of the number.
68
+ * @returns {String} The formatted number.
69
+ * @example const itemNumber = util.formatter.addRemoveLeadingZeros(10, 5);
70
+ */
71
+ addRemoveLeadingZeros(number: string, length: number): string;
72
+ /**
73
+ * @function formatDate
74
+ * @memberOf util.formatter
75
+ * @description formats date.
76
+ * @param {Date} date - The date object to be formatted.
77
+ * @param {String} format - The expected format ("mm/dd/yyyy", "dd.mm.yyyy", "dd/mm/yyyy", "yyyymmdd", "yyyy/mm/dd", "mmm dd, yyyy", "datetime", "object").
78
+ * @param {String} [locale="en-US"] - The locale format of the date. E.g. "en-US", "de-DE", etc.
79
+ * @returns {String} The formatted date as string.
80
+ * @example const date = new Date(2020, 0, 17);
81
+ * const formattedDate = util.formatter.formatDate(date, "mm/dd/yyyy");
82
+ * // returns "01/17/2020"
83
+ * @example const date = new Date(2022, 3, 12);
84
+ * const formattedDate = util.formatter.formatDate(date, "mmm dd, yyyy");
85
+ * // returns "Apr 03, 2022"
86
+ */
87
+ formatDate(date: Date, format: DateFormatsType, locale?: string): string | Date;
88
+ }
89
+ declare const _default: Formatter;
90
+ export default _default;
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Formatter = void 0;
4
+ const formatter_constants_1 = require("./constants/formatter.constants");
5
+ /**
6
+ * @class formatter
7
+ * @memberof util
8
+ */
9
+ class Formatter {
10
+ // =================================== STRING ===================================
11
+ /**
12
+ * @function sliceStringAt
13
+ * @memberOf util.formatter
14
+ * @description Slices the given string beginning at a specific substring.
15
+ * @param {String} input - The input string to slice.
16
+ * @param {String} slicePoint - The substring at which the input string is being sliced.
17
+ * @param {number} length - The required length of the returning string (starting at the index of the passed slice point).
18
+ * @returns {String} The sliced string.
19
+ * @example const sliced = util.formatter.sliceStringAt("prefixNR12345postfix", "NR", 7);
20
+ * // returns "NR12345"
21
+ */
22
+ sliceStringAt(input, slicePoint, length) {
23
+ if (input && slicePoint && length) {
24
+ const index = input.indexOf(slicePoint);
25
+ if (index !== -1) {
26
+ return input.slice(index, index + length);
27
+ }
28
+ else {
29
+ throw new Error(`Char '${slicePoint}' not found in input '${input}'.`);
30
+ }
31
+ }
32
+ else {
33
+ throw new Error("Function 'sliceStringAt' failed: Incorrect or missing arguments.");
34
+ }
35
+ }
36
+ ;
37
+ /**
38
+ * @function sliceStringAfter
39
+ * @memberOf util.formatter
40
+ * @description Slices the given string after a specific substring.
41
+ * @param {String} input - The input string to slice.
42
+ * @param {String} slicePoint - The substring after which the input string is being sliced.
43
+ * @param {number} length - The required length of the returning string (starting at the index after the passed slice point).
44
+ * @returns {String} The sliced string.
45
+ * @example const sliced = util.formatter.sliceStringAfter("prefixNR12345postfix", "NR", 5);
46
+ * // returns "12345"
47
+ */
48
+ sliceStringAfter(input, slicePoint, length) {
49
+ if (input && slicePoint && length) {
50
+ let index = input.indexOf(slicePoint);
51
+ if (index !== -1) {
52
+ index = index + slicePoint.length;
53
+ return input.slice(index, index + length);
54
+ }
55
+ throw new Error(`Char '${slicePoint}' not found in input '${input}'.`);
56
+ }
57
+ throw new Error("Function 'sliceStringAfter' failed: Incorrect or missing arguments.");
58
+ }
59
+ ;
60
+ /**
61
+ * @function trimString
62
+ * @memberOf util.formatter
63
+ * @description Removes whitespace from both sides of the given string.
64
+ * @param {String} input - The input string to trim.
65
+ * @example const trimmed = util.formatter.trimString(" value ");
66
+ * // returns "value"
67
+ */
68
+ trimString(input) {
69
+ if (input) {
70
+ return input.trim();
71
+ }
72
+ throw new Error("Function 'trimString' failed: Incorrect or missing arguments.");
73
+ }
74
+ ;
75
+ /**
76
+ * @function extractNumberFromString
77
+ * @memberOf util.formatter
78
+ * @description Extracts all numbers from a string.
79
+ * @param {String} input - The input string to extract the number.
80
+ * @param {number} [index=0] - If there are multiple numbers in the string you can pass an index to return a specific number.
81
+ * @returns {String} The extracted number.
82
+ * @example const extracted = util.formatter.extractNumberFromString("prefixNR12345postfix");
83
+ * // returns "12345"
84
+ * @example const extracted = util.formatter.extractNumberFromString("first12345 someText second 20 abc", 1);
85
+ * // returns "20"
86
+ */
87
+ extractNumberFromString(input, index = 0) {
88
+ if (input) {
89
+ // @ts-ignore
90
+ return input.match(/\d+/g).map(Number)[index].toString();
91
+ }
92
+ throw new Error("Function 'extractNumberFromString' failed: Incorrect or missing arguments.");
93
+ }
94
+ ;
95
+ /**
96
+ * @function stringifyJSON
97
+ * @memberOf util.formatter
98
+ * @description Converts a JSON object to string.
99
+ * @param {Object} object - The JSON to be converted.
100
+ * @returns {String} The converted JSON object.
101
+ * @example console.log(`Printing the current selector: ${util.formatter.stringifyJSON(selector)}`);
102
+ */
103
+ stringifyJSON(object) {
104
+ try {
105
+ return JSON.stringify(object);
106
+ }
107
+ catch (error) {
108
+ throw new Error(`Function 'stringifyJSON' failed: Incorrect JSON object. ${error}`);
109
+ }
110
+ }
111
+ ;
112
+ // =================================== NUMBER ===================================
113
+ /**
114
+ * @function addRemoveLeadingZeros
115
+ * @memberOf util.formatter
116
+ * @description Adds or removes leading zeros to the passed number to format it to the required length.
117
+ * @param {String} number - The number to be formatted.
118
+ * @param {Number} length - The required length of the number.
119
+ * @returns {String} The formatted number.
120
+ * @example const itemNumber = util.formatter.addRemoveLeadingZeros(10, 5);
121
+ */
122
+ addRemoveLeadingZeros(number, length) {
123
+ const numberParsed = parseInt(number, 10);
124
+ const zero = "0";
125
+ const char = zero.repeat(length) + numberParsed;
126
+ return char.slice(-length);
127
+ }
128
+ ;
129
+ // =================================== DATE ===================================
130
+ /**
131
+ * @function formatDate
132
+ * @memberOf util.formatter
133
+ * @description formats date.
134
+ * @param {Date} date - The date object to be formatted.
135
+ * @param {String} format - The expected format ("mm/dd/yyyy", "dd.mm.yyyy", "dd/mm/yyyy", "yyyymmdd", "yyyy/mm/dd", "mmm dd, yyyy", "datetime", "object").
136
+ * @param {String} [locale="en-US"] - The locale format of the date. E.g. "en-US", "de-DE", etc.
137
+ * @returns {String} The formatted date as string.
138
+ * @example const date = new Date(2020, 0, 17);
139
+ * const formattedDate = util.formatter.formatDate(date, "mm/dd/yyyy");
140
+ * // returns "01/17/2020"
141
+ * @example const date = new Date(2022, 3, 12);
142
+ * const formattedDate = util.formatter.formatDate(date, "mmm dd, yyyy");
143
+ * // returns "Apr 03, 2022"
144
+ */
145
+ formatDate(date, format, locale = "en-US") {
146
+ let formattedDate = date;
147
+ let hour = date.getHours();
148
+ let min = date.getMinutes();
149
+ let sec = date.getSeconds();
150
+ let dd = date.getDate();
151
+ let mm = date.getMonth() + 1;
152
+ const month = date.toLocaleString(locale, { month: "short" });
153
+ const yyyy = date.getFullYear();
154
+ if (sec < 10) {
155
+ sec = `0${sec}`;
156
+ }
157
+ if (min < 10) {
158
+ min = `0${min}`;
159
+ }
160
+ if (hour < 10) {
161
+ hour = `0${hour}`;
162
+ }
163
+ if (dd < 10) {
164
+ dd = `0${dd}`;
165
+ }
166
+ if (mm < 10) {
167
+ mm = `0${mm}`;
168
+ }
169
+ if (format) {
170
+ format = format.toLowerCase();
171
+ switch (format) {
172
+ case formatter_constants_1.DateFormats.MONTH_DAY_YEAR_SLASH:
173
+ formattedDate = `${mm}/${dd}/${yyyy}`;
174
+ break;
175
+ case formatter_constants_1.DateFormats.DAY_MONTH_YEAR_DOT:
176
+ formattedDate = `${dd}.${mm}.${yyyy}`;
177
+ break;
178
+ case formatter_constants_1.DateFormats.DAY_MONTH_YEAR_SLASH:
179
+ formattedDate = `${dd}/${mm}/${yyyy}`;
180
+ break;
181
+ case formatter_constants_1.DateFormats.YEAR_MONTH_DAY_PLAIN:
182
+ formattedDate = `${yyyy}${mm}${dd}`;
183
+ break;
184
+ case formatter_constants_1.DateFormats.YEAR_MONTH_DAY_SLASH:
185
+ formattedDate = `${yyyy}/${mm}/${dd}`;
186
+ break;
187
+ case formatter_constants_1.DateFormats.DAY_MONTH_YEAR_TIME_DOT:
188
+ formattedDate = `${dd}.${mm}.${yyyy}.${hour}.${min}`;
189
+ break;
190
+ case formatter_constants_1.DateFormats.MONTH_DAY_YEAR_COMMA:
191
+ formattedDate = `${month} ${dd}, ${yyyy}`;
192
+ break;
193
+ case formatter_constants_1.DateFormats.DATETIME:
194
+ formattedDate = `datetime'${yyyy}-${mm}-${dd}T${hour}:${min}:${sec}'`;
195
+ break;
196
+ case formatter_constants_1.DateFormats.OBJECT:
197
+ formattedDate = date;
198
+ break;
199
+ default:
200
+ break;
201
+ }
202
+ }
203
+ return formattedDate;
204
+ }
205
+ ;
206
+ }
207
+ exports.Formatter = Formatter;
208
+ ;
209
+ exports.default = new Formatter();
210
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../../src/reuse/modules/util/formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @class function
3
+ * @memberof util
4
+ */
5
+ export declare class FunctionModule {
6
+ overallRetries: number;
7
+ /**
8
+ * @function retry
9
+ * @memberOf util.function
10
+ * @description Retries the passed function n times with a specific interval until it executed successfully.
11
+ * @param {Function} fct - The function to retry.
12
+ * @param {Array} args - An array of the arguments passed to the function.
13
+ * @param {Integer} [retries=3] - The number of retries. Can be set in config for all functions under "params" - "stepsRetries".
14
+ * @param {Integer} [interval=5000] - The interval of the retries (ms). Can be set in config for all functions under "params" - "stepRetriesIntervals".
15
+ * @param {Object} [scope=null] - The function scope. Defaults is the global object.
16
+ * @example await util.function.retry(ui5.userInteraction.fill, [selector, value], 4, 10000);
17
+ * @example await util.function.retry(async () => {
18
+ * await ui5.userInteraction.fill(selector, "ABC");
19
+ * }, [], 2, 30000);
20
+ */
21
+ retry(fct: Function, args: Array<any>, retries: number, interval: number, scope?: any): Promise<void>;
22
+ /**
23
+ * @function executeOptional
24
+ * @memberOf util.function
25
+ * @description Executes the given function optionally. If it fails, a promise will be returned anyway.
26
+ * @param {Function} fct - The function to execute.
27
+ * @param {Array} args - An array of the arguments passed to the function.
28
+ * @example await util.function.executeOptional(ui5.userInteraction.fill, [selector, value]);
29
+ * @example await util.function.executeOptional(async () => {
30
+ * await ui5.userInteraction.fill(selector, "ABC");
31
+ * }, []);
32
+ */
33
+ executeOptional(fct: any, args?: Array<any>): Promise<void>;
34
+ /**
35
+ * @function mapWdioErrorToQmateErrorMessage
36
+ * @memberOf util.function
37
+ * @private
38
+ * @description Maps Wdio Error to Qmate Error Message
39
+ * @param {Error} wdioError - The wdio error
40
+ * @param {string} action - An action performed upon the element ("click", "fill")
41
+ * @example await util.function.mapWdioErrorToQmateErrorMessage(error, "click");
42
+ */
43
+ mapWdioErrorToQmateErrorMessage(wdioError: Error, action: string): Promise<string>;
44
+ private _getRetryProperties;
45
+ private _retry;
46
+ }
47
+ declare const _default: FunctionModule;
48
+ export default _default;
@@ -0,0 +1,161 @@
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.FunctionModule = void 0;
13
+ /**
14
+ * @class function
15
+ * @memberof util
16
+ */
17
+ class FunctionModule {
18
+ constructor() {
19
+ this.overallRetries = 3;
20
+ }
21
+ // =================================== MAIN ===================================
22
+ /**
23
+ * @function retry
24
+ * @memberOf util.function
25
+ * @description Retries the passed function n times with a specific interval until it executed successfully.
26
+ * @param {Function} fct - The function to retry.
27
+ * @param {Array} args - An array of the arguments passed to the function.
28
+ * @param {Integer} [retries=3] - The number of retries. Can be set in config for all functions under "params" - "stepsRetries".
29
+ * @param {Integer} [interval=5000] - The interval of the retries (ms). Can be set in config for all functions under "params" - "stepRetriesIntervals".
30
+ * @param {Object} [scope=null] - The function scope. Defaults is the global object.
31
+ * @example await util.function.retry(ui5.userInteraction.fill, [selector, value], 4, 10000);
32
+ * @example await util.function.retry(async () => {
33
+ * await ui5.userInteraction.fill(selector, "ABC");
34
+ * }, [], 2, 30000);
35
+ */
36
+ // NOTE: Don't set default values since they will be calculated with "_getRetryProperties".
37
+ retry(fct, args, retries, interval, scope = null) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ this.overallRetries = retries;
40
+ const res = yield this._getRetryProperties(retries, interval);
41
+ yield this._retry(fct, args, res.retries, res.interval, scope);
42
+ });
43
+ }
44
+ ;
45
+ /**
46
+ * @function executeOptional
47
+ * @memberOf util.function
48
+ * @description Executes the given function optionally. If it fails, a promise will be returned anyway.
49
+ * @param {Function} fct - The function to execute.
50
+ * @param {Array} args - An array of the arguments passed to the function.
51
+ * @example await util.function.executeOptional(ui5.userInteraction.fill, [selector, value]);
52
+ * @example await util.function.executeOptional(async () => {
53
+ * await ui5.userInteraction.fill(selector, "ABC");
54
+ * }, []);
55
+ */
56
+ executeOptional(fct, args = []) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ try {
59
+ yield fct.apply(this, args);
60
+ }
61
+ catch (e) {
62
+ if (fct.name) {
63
+ util.console.info(`Optional function '${fct.name}' not executed, continue ...`);
64
+ }
65
+ else {
66
+ util.console.info(`Optional anonymous function not executed, continue ...`);
67
+ }
68
+ return Promise.resolve();
69
+ }
70
+ });
71
+ }
72
+ ;
73
+ // =================================== HELPER ===================================
74
+ /**
75
+ * @function mapWdioErrorToQmateErrorMessage
76
+ * @memberOf util.function
77
+ * @private
78
+ * @description Maps Wdio Error to Qmate Error Message
79
+ * @param {Error} wdioError - The wdio error
80
+ * @param {string} action - An action performed upon the element ("click", "fill")
81
+ * @example await util.function.mapWdioErrorToQmateErrorMessage(error, "click");
82
+ */
83
+ mapWdioErrorToQmateErrorMessage(wdioError, action) {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ const errorMessage = wdioError.message;
86
+ let qmateMessage = "";
87
+ if (action === "fill") {
88
+ if (errorMessage.match(new RegExp(/(invalid element state|element not interactable)/))) {
89
+ qmateMessage = `Function fill failed. Element can not be filled - make sure that the selector matches input \n\n` + wdioError.stack;
90
+ }
91
+ }
92
+ else if (action === "click") {
93
+ if (errorMessage.match(new RegExp(/is not clickable at point/))) {
94
+ const reg = new RegExp(/(?<=Element <.* )(.*)(?=>...<)/).exec(errorMessage);
95
+ const foundAttributes = reg ? reg[0] : undefined;
96
+ let elementAttributes = foundAttributes;
97
+ if (reg && foundAttributes) {
98
+ if (foundAttributes.includes("id=")) {
99
+ // @ts-ignore
100
+ elementAttributes = foundAttributes.match(new RegExp(/(?=id)(.*)(?<=")/));
101
+ }
102
+ else if (foundAttributes.includes("class=")) {
103
+ // @ts-ignore
104
+ elementAttributes = foundAttributes.match(new RegExp(/(?=class)(.*)(?<=")/));
105
+ }
106
+ }
107
+ if (wdioError && wdioError.stack && elementAttributes) {
108
+ qmateMessage = `Element with attribute(s) ${elementAttributes[0]} is hidden by another element \n\n` + wdioError.stack;
109
+ }
110
+ else {
111
+ qmateMessage = "Error clicking element \n\n" + wdioError;
112
+ }
113
+ }
114
+ }
115
+ return qmateMessage;
116
+ });
117
+ }
118
+ ;
119
+ // =================================== HELPER ===================================
120
+ _getRetryProperties(retries, interval) {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ const res = {
123
+ retries: retries,
124
+ interval: interval
125
+ };
126
+ if (res.retries === undefined) {
127
+ res.retries = browser.config.stepsRetries;
128
+ if (res.retries === undefined) {
129
+ res.retries = 3;
130
+ }
131
+ }
132
+ if (res.interval === undefined) {
133
+ res.interval = browser.config.stepRetriesIntervals;
134
+ if (res.interval === undefined) {
135
+ res.interval = 5000;
136
+ }
137
+ }
138
+ return res;
139
+ });
140
+ }
141
+ _retry(fct, args, retries, interval, scope = null) {
142
+ return __awaiter(this, void 0, void 0, function* () {
143
+ try {
144
+ return yield fct.apply(scope, args);
145
+ }
146
+ catch (e) {
147
+ retries = retries - 1;
148
+ if (retries < 0) {
149
+ throw new Error(`Retries done. Failed to execute the function: ${e}`);
150
+ }
151
+ yield browser.pause(interval);
152
+ util.console.log(`Retrying function again (${this.overallRetries - retries}/${this.overallRetries})`);
153
+ yield this._retry(fct, args, retries, interval, scope);
154
+ }
155
+ });
156
+ }
157
+ }
158
+ exports.FunctionModule = FunctionModule;
159
+ ;
160
+ exports.default = new FunctionModule();
161
+ //# sourceMappingURL=function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../src/reuse/modules/util/function.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @class system
3
+ * @memberof util
4
+ */
5
+ export declare class System {
6
+ operatingSystem: any;
7
+ /**
8
+ * @function getOS
9
+ * @memberOf util.system
10
+ * @description Returns the current operating system.
11
+ * @returns {String} AIX | Android | MacOS | FreeBSD | Linux | OpenBSD | Windows | SunOS
12
+ * @example const os = await util.system.getOS();
13
+ */
14
+ getOS(): Promise<string>;
15
+ }
16
+ declare const _default: System;
17
+ export default _default;
@@ -0,0 +1,58 @@
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.System = void 0;
13
+ /**
14
+ * @class system
15
+ * @memberof util
16
+ */
17
+ class System {
18
+ constructor() {
19
+ this.operatingSystem = require("os");
20
+ }
21
+ /**
22
+ * @function getOS
23
+ * @memberOf util.system
24
+ * @description Returns the current operating system.
25
+ * @returns {String} AIX | Android | MacOS | FreeBSD | Linux | OpenBSD | Windows | SunOS
26
+ * @example const os = await util.system.getOS();
27
+ */
28
+ getOS() {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const platform = this.operatingSystem.platform();
31
+ switch (platform) {
32
+ case "aix":
33
+ return "AIX";
34
+ case "android":
35
+ return "Android";
36
+ case "darwin":
37
+ return "MacOS";
38
+ case "freebsd":
39
+ return "FreeBSD";
40
+ case "linux":
41
+ return "Linux";
42
+ case "openbsd":
43
+ return "OpenBSD";
44
+ case "sunos":
45
+ return "SunOS";
46
+ case "win32":
47
+ return "Windows";
48
+ default:
49
+ return "unknown platform";
50
+ }
51
+ });
52
+ }
53
+ ;
54
+ }
55
+ exports.System = System;
56
+ ;
57
+ exports.default = new System();
58
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../../src/reuse/modules/util/system.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AACb;;;GAGG;AACH,MAAa,MAAM;IAAnB;QACE,oBAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAiClC,CAAC;IA/BC;;;;;;OAMG;IACG,KAAK;;YACT,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YACjD,QAAQ,QAAQ,EAAE;gBAChB,KAAK,KAAK;oBACR,OAAO,KAAK,CAAC;gBACf,KAAK,SAAS;oBACZ,OAAO,SAAS,CAAC;gBACnB,KAAK,QAAQ;oBACX,OAAO,OAAO,CAAC;gBACjB,KAAK,SAAS;oBACZ,OAAO,SAAS,CAAC;gBACnB,KAAK,OAAO;oBACV,OAAO,OAAO,CAAC;gBACjB,KAAK,SAAS;oBACZ,OAAO,SAAS,CAAC;gBACnB,KAAK,OAAO;oBACV,OAAO,OAAO,CAAC;gBACjB,KAAK,OAAO;oBACV,OAAO,SAAS,CAAC;gBACnB;oBACE,OAAO,kBAAkB,CAAC;aAC7B;QACH,CAAC;KAAA;IAAA,CAAC;CAEH;AAlCD,wBAkCC;AAAA,CAAC;AACF,kBAAe,IAAI,MAAM,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { DateFormats } from "../constants/formatter.constants";
2
+ export declare type DateFormatsType = `${DateFormats}`;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=formatter.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.types.js","sourceRoot":"","sources":["../../../../../src/reuse/modules/util/types/formatter.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export const installInBrowser: string;