@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,160 @@
1
+ import { Element } from "../../../../@types/wdio";
2
+ /**
3
+ * @class element
4
+ * @memberof ui5
5
+ */
6
+ export declare class ElementModule {
7
+ /**
8
+ * @function waitForAll
9
+ * @memberOf ui5.element
10
+ * @description Waits for all elements matching the given selector.
11
+ * @param {Object} selector - The selector describing the elements.
12
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
13
+ * @example await ui5.element.waitForAll(selector);
14
+ */
15
+ waitForAll(selector: any, timeout?: string | number): Promise<void>;
16
+ /**
17
+ * @function getAllDisplayed
18
+ * @memberOf ui5.element
19
+ * @description Returns the visible elements with the given selector.
20
+ * @param {Object} selector - The selector describing the elements.
21
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
22
+ * @returns {Object[]} - The found elements.
23
+ * @example const elem = await ui5.element.getAllDisplayed(selector);
24
+ */
25
+ getAllDisplayed(selector: any, timeout?: string | number): Promise<Element[]>;
26
+ /**
27
+ * @function getDisplayed
28
+ * @memberOf ui5.element
29
+ * @description Returns the visible element.
30
+ * @param {Object} selector - The selector describing the element.
31
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
32
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
33
+ * @returns {Object} The found element.
34
+ * @example const elem = await ui5.element.getDisplayed(selector);
35
+ */
36
+ getDisplayed(selector: any, index?: number, timeout?: string | number): Promise<Element>;
37
+ /**
38
+ * @function getByText
39
+ * @memberOf ui5.element
40
+ * @description Returns the element with the given selector and text value.
41
+ * @param {Object} selector - The selector describing the element.
42
+ * @param {String} value - The text value of the element.
43
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
44
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
45
+ * @returns {Object} The found element.
46
+ * @example const elem = await ui5.element.getByText(selector, "Home");
47
+ */
48
+ getByText(selector: any, value: string, index?: number, timeout?: string | number): Promise<Element>;
49
+ /**
50
+ * @function getByChild
51
+ * @memberOf ui5.element
52
+ * @description Gets an element by its selector and child selector.
53
+ * Can be used as unique combination between element and child properties when multiple elements have the same properties.
54
+ * Note: For nested selectors, all properties except of the "elementProperties" are being ignored.
55
+ * @param {String} elementSelector - The selector describing the requested element.
56
+ * @param {String} childSelector - The selector describing a child element of the requested element.
57
+ * @param {Number} [index=0] - The index of the element (in case the combination applies to more than one element).
58
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
59
+ * @returns {Object} The found element.
60
+ * @example const elementSelector = {
61
+ * "elementProperties": {...}
62
+ * };
63
+ * const childSelector = {
64
+ * "elementProperties": {...}
65
+ * };
66
+ * const elem = await ui5.element.getByChild(elementSelector, childSelector);
67
+ */
68
+ getByChild(elementSelector: any, childSelector: any, index?: number, timeout?: string | number): Promise<Element>;
69
+ /**
70
+ * @function getByParent
71
+ * @memberOf ui5.element
72
+ * @description Gets an element by its selector and parent selector.
73
+ * Can be used as unique combination between element and parent properties when multiple elements have the same properties.
74
+ * Note: For nested selectors, all properties except of the "elementProperties" are being ignored.
75
+ * @param {String} elementSelector - The selector describing the requested element.
76
+ * @param {String} parentSelector - The selector describing the parent element of the requested element.
77
+ * @param {Number} [index=0] - The index of the element (in case the combination applies to more than one element).
78
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
79
+ * @returns {Object} The found element.
80
+ * @example const elementSelector = {
81
+ * "elementProperties": {...}
82
+ * };
83
+ * const parentSelector = {
84
+ * "elementProperties": {...}
85
+ * };
86
+ * const elem = await ui5.element.getByParent(elementSelector, parentSelector);
87
+ */
88
+ getByParent(elementSelector: any, parentSelector: any, index?: number, timeout?: string | number): Promise<Element>;
89
+ /**
90
+ * @function getId
91
+ * @memberOf ui5.element
92
+ * @description Returns the id of the element with the given selector.
93
+ * @param {Object} selector - The selector describing the element.
94
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
95
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
96
+ * @returns {String} The id of the element.
97
+ * @example const elemId = await ui5.element.getId(selector);
98
+ */
99
+ getId(selector: any, index?: number, timeout?: string | number): Promise<string>;
100
+ /**
101
+ * @function getPropertyValue
102
+ * @memberOf ui5.element
103
+ * @description Returns the UI5 property value of the passed element.
104
+ * @param {Object} selector - The selector describing the element.
105
+ * @param {String} property - The property of the element.
106
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
107
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
108
+ * @returns {any} The property value of the element.
109
+ * @example const elemValue = await ui5.element.getPropertyValue(selector, "text");
110
+ */
111
+ getPropertyValue(selector: any, property: string, index?: number, timeout?: string | number): Promise<any>;
112
+ getInnerAttribute(elem: Element, name: string): Promise<any>;
113
+ /**
114
+ * @function getValue
115
+ * @memberOf ui5.element
116
+ * @description Returns the inner value of the passed element.
117
+ * @param {Object} selector - The selector describing the element.
118
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
119
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
120
+ * @returns {String} The value of the element.
121
+ * @example const elemValue = await ui5.element.getValue(selector);
122
+ */
123
+ getValue(selector: any, index?: number, timeout?: string | number): Promise<string>;
124
+ /**
125
+ * @function getBindingValue
126
+ * @memberOf ui5.element
127
+ * @description Returns the value of the given binding property for a specific element.
128
+ * @param {Object} selector - The selector describing the element.
129
+ * @param {String} bindingContext - The binding property to retrieve.
130
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
131
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
132
+ * @returns {String} The binding property value.
133
+ * @example const elemBindingValue = await ui5.element.getBindingValue(selector, "InvoiceGrossAmount");
134
+ */
135
+ getBindingValue(selector: any, bindingContext: string, index?: number, timeout?: string | number): Promise<string>;
136
+ /**
137
+ * @function isVisible
138
+ * @memberOf ui5.element
139
+ * @description Determines if the element is visible.
140
+ * @param {Object} selector - The selector describing the element.
141
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
142
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
143
+ * @returns {Boolean} The bool value 'true' or 'false' if the element is visible or not.
144
+ * @example const isVisible = await ui5.element.isVisible(selector);
145
+ */
146
+ isVisible(selector: any, index?: number, timeout?: string | number): Promise<boolean>;
147
+ /**
148
+ * @function highlight
149
+ * @memberOf ui5.element
150
+ * @description Highlights the element with the given selector.
151
+ * @param {Object} selector - The selector describing the element.
152
+ * @param {Number} [duration=2000] - The duration of the highlighting (ms).
153
+ * @param {String} [color="red"] - The color of the highlighting (CSS color).
154
+ * @example await ui5.element.highlight(selector, 3000, "green");
155
+ */
156
+ highlight(selector: any, duration?: number, color?: string): Promise<void>;
157
+ private _throwSelectorError;
158
+ }
159
+ declare const _default: ElementModule;
160
+ export default _default;
@@ -0,0 +1,349 @@
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.ElementModule = void 0;
13
+ /**
14
+ * @class element
15
+ * @memberof ui5
16
+ */
17
+ class ElementModule {
18
+ // =================================== WAIT ===================================
19
+ /**
20
+ * @function waitForAll
21
+ * @memberOf ui5.element
22
+ * @description Waits for all elements matching the given selector.
23
+ * @param {Object} selector - The selector describing the elements.
24
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
25
+ * @example await ui5.element.waitForAll(selector);
26
+ */
27
+ waitForAll(selector, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ if (!selector) {
30
+ this._throwSelectorError("waitForAll");
31
+ }
32
+ try {
33
+ yield browser.uiControls(selector, timeout);
34
+ }
35
+ catch (e) {
36
+ throw new Error(`Function 'waitForAll' failed: ${e}`);
37
+ }
38
+ });
39
+ }
40
+ ;
41
+ // =================================== GET ELEMENTS ===================================
42
+ /**
43
+ * @function getAllDisplayed
44
+ * @memberOf ui5.element
45
+ * @description Returns the visible elements with the given selector.
46
+ * @param {Object} selector - The selector describing the elements.
47
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
48
+ * @returns {Object[]} - The found elements.
49
+ * @example const elem = await ui5.element.getAllDisplayed(selector);
50
+ */
51
+ getAllDisplayed(selector, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ if (!selector) {
54
+ this._throwSelectorError("getAllDisplayed");
55
+ }
56
+ try {
57
+ return yield browser.uiControls(selector, timeout);
58
+ }
59
+ catch (e) {
60
+ throw new Error(`Function 'getAllDisplayed' failed: ${e}`);
61
+ }
62
+ });
63
+ }
64
+ ;
65
+ /**
66
+ * @function getDisplayed
67
+ * @memberOf ui5.element
68
+ * @description Returns the visible element.
69
+ * @param {Object} selector - The selector describing the element.
70
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
71
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
72
+ * @returns {Object} The found element.
73
+ * @example const elem = await ui5.element.getDisplayed(selector);
74
+ */
75
+ getDisplayed(selector, index = 0, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ if (!selector || typeof selector !== "object") {
78
+ this._throwSelectorError("getDisplayed");
79
+ }
80
+ const elems = yield browser.uiControls(selector, timeout);
81
+ if (index < 0 || elems.length <= index) {
82
+ throw new Error(`Index out of bound. Trying to access element at index: ${index}, ` +
83
+ `but there are only ${elems.length} element(s) that match locator ${JSON.stringify(selector)}`);
84
+ }
85
+ return elems[index];
86
+ });
87
+ }
88
+ ;
89
+ /**
90
+ * @function getByText
91
+ * @memberOf ui5.element
92
+ * @description Returns the element with the given selector and text value.
93
+ * @param {Object} selector - The selector describing the element.
94
+ * @param {String} value - The text value of the element.
95
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
96
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
97
+ * @returns {Object} The found element.
98
+ * @example const elem = await ui5.element.getByText(selector, "Home");
99
+ */
100
+ getByText(selector, value, index = 0, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ const elements = yield this.getAllDisplayed(selector, timeout);
103
+ const elementsWithText = [];
104
+ try {
105
+ for (const element of elements) {
106
+ const text = yield element.getText();
107
+ if (value === text) {
108
+ elementsWithText.push(element);
109
+ }
110
+ }
111
+ }
112
+ catch (error) {
113
+ throw new Error("getByText(): No elements found for given text. " + error);
114
+ }
115
+ if (!elementsWithText.length) {
116
+ throw new Error("getByText(): No elements found for given text.");
117
+ }
118
+ if (index >= elementsWithText.length) {
119
+ throw new Error(`getByText(): Index out of bound. Cannot get element by text ${value} at index ${index}.
120
+ There are only ${elementsWithText.length} elements with the given selector and text`);
121
+ }
122
+ return elementsWithText[index];
123
+ });
124
+ }
125
+ ;
126
+ /**
127
+ * @function getByChild
128
+ * @memberOf ui5.element
129
+ * @description Gets an element by its selector and child selector.
130
+ * Can be used as unique combination between element and child properties when multiple elements have the same properties.
131
+ * Note: For nested selectors, all properties except of the "elementProperties" are being ignored.
132
+ * @param {String} elementSelector - The selector describing the requested element.
133
+ * @param {String} childSelector - The selector describing a child element of the requested element.
134
+ * @param {Number} [index=0] - The index of the element (in case the combination applies to more than one element).
135
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
136
+ * @returns {Object} The found element.
137
+ * @example const elementSelector = {
138
+ * "elementProperties": {...}
139
+ * };
140
+ * const childSelector = {
141
+ * "elementProperties": {...}
142
+ * };
143
+ * const elem = await ui5.element.getByChild(elementSelector, childSelector);
144
+ */
145
+ getByChild(elementSelector, childSelector, index = 0, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ const selector = {
148
+ "elementProperties": elementSelector.elementProperties,
149
+ "descendantProperties": childSelector.elementProperties
150
+ };
151
+ try {
152
+ return yield this.getDisplayed(selector, index, timeout);
153
+ }
154
+ catch (e) {
155
+ throw new Error(`Function 'getByChild' failed: ${e}`);
156
+ }
157
+ });
158
+ }
159
+ ;
160
+ /**
161
+ * @function getByParent
162
+ * @memberOf ui5.element
163
+ * @description Gets an element by its selector and parent selector.
164
+ * Can be used as unique combination between element and parent properties when multiple elements have the same properties.
165
+ * Note: For nested selectors, all properties except of the "elementProperties" are being ignored.
166
+ * @param {String} elementSelector - The selector describing the requested element.
167
+ * @param {String} parentSelector - The selector describing the parent element of the requested element.
168
+ * @param {Number} [index=0] - The index of the element (in case the combination applies to more than one element).
169
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
170
+ * @returns {Object} The found element.
171
+ * @example const elementSelector = {
172
+ * "elementProperties": {...}
173
+ * };
174
+ * const parentSelector = {
175
+ * "elementProperties": {...}
176
+ * };
177
+ * const elem = await ui5.element.getByParent(elementSelector, parentSelector);
178
+ */
179
+ getByParent(elementSelector, parentSelector, index = 0, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ const selector = {
182
+ "elementProperties": elementSelector.elementProperties,
183
+ "ancestorProperties": parentSelector.elementProperties
184
+ };
185
+ try {
186
+ return yield this.getDisplayed(selector, index, timeout);
187
+ }
188
+ catch (e) {
189
+ throw new Error(`Function 'getByParent' failed: ${e}`);
190
+ }
191
+ });
192
+ }
193
+ ;
194
+ // =================================== GET VALUES ===================================
195
+ /**
196
+ * @function getId
197
+ * @memberOf ui5.element
198
+ * @description Returns the id of the element with the given selector.
199
+ * @param {Object} selector - The selector describing the element.
200
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
201
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
202
+ * @returns {String} The id of the element.
203
+ * @example const elemId = await ui5.element.getId(selector);
204
+ */
205
+ getId(selector, index = 0, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ const elem = yield this.getDisplayed(selector, index, timeout);
208
+ return elem.getAttribute("id");
209
+ });
210
+ }
211
+ ;
212
+ /**
213
+ * @function getPropertyValue
214
+ * @memberOf ui5.element
215
+ * @description Returns the UI5 property value of the passed element.
216
+ * @param {Object} selector - The selector describing the element.
217
+ * @param {String} property - The property of the element.
218
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
219
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
220
+ * @returns {any} The property value of the element.
221
+ * @example const elemValue = await ui5.element.getPropertyValue(selector, "text");
222
+ */
223
+ getPropertyValue(selector, property, index = 0, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
224
+ return __awaiter(this, void 0, void 0, function* () {
225
+ let attrValue;
226
+ try {
227
+ let elem = yield this.getDisplayed(selector, index, timeout);
228
+ attrValue = yield elem.getUI5Property(property);
229
+ if (attrValue === null || attrValue === undefined || attrValue === "") {
230
+ attrValue = yield this.getInnerAttribute(elem, "data-" + property);
231
+ }
232
+ if (attrValue === null || attrValue === undefined) {
233
+ throw new Error("Function 'getPropertyValue' failed: Not existing property");
234
+ }
235
+ }
236
+ catch (error) {
237
+ throw new Error(`Function 'getPropertyValue' failed: ${error}`);
238
+ }
239
+ return attrValue;
240
+ });
241
+ }
242
+ ;
243
+ getInnerAttribute(elem, name) {
244
+ return __awaiter(this, void 0, void 0, function* () {
245
+ return elem.getAttribute(name).then(value => {
246
+ if (value !== null) {
247
+ return value;
248
+ }
249
+ return browser.executeScript(`
250
+ function getAttribute(webElement, attributeName) {
251
+ return webElement.getAttribute(attributeName);
252
+ }`, [elem, name]);
253
+ });
254
+ });
255
+ }
256
+ ;
257
+ /**
258
+ * @function getValue
259
+ * @memberOf ui5.element
260
+ * @description Returns the inner value of the passed element.
261
+ * @param {Object} selector - The selector describing the element.
262
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
263
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
264
+ * @returns {String} The value of the element.
265
+ * @example const elemValue = await ui5.element.getValue(selector);
266
+ */
267
+ getValue(selector, index = 0, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
268
+ return __awaiter(this, void 0, void 0, function* () {
269
+ try {
270
+ return yield this.getPropertyValue(selector, "value", index, timeout);
271
+ }
272
+ catch (error) {
273
+ throw new Error("getValue() failed with " + error);
274
+ }
275
+ });
276
+ }
277
+ ;
278
+ /**
279
+ * @function getBindingValue
280
+ * @memberOf ui5.element
281
+ * @description Returns the value of the given binding property for a specific element.
282
+ * @param {Object} selector - The selector describing the element.
283
+ * @param {String} bindingContext - The binding property to retrieve.
284
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
285
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
286
+ * @returns {String} The binding property value.
287
+ * @example const elemBindingValue = await ui5.element.getBindingValue(selector, "InvoiceGrossAmount");
288
+ */
289
+ getBindingValue(selector, bindingContext, index = 0, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
290
+ return __awaiter(this, void 0, void 0, function* () {
291
+ const elem = yield this.getDisplayed(selector, index, timeout);
292
+ return browser.controlActionInBrowser(function (control, property, done) {
293
+ done(control.getBinding(property).getValue());
294
+ }, elem, bindingContext);
295
+ });
296
+ }
297
+ ;
298
+ /**
299
+ * @function isVisible
300
+ * @memberOf ui5.element
301
+ * @description Determines if the element is visible.
302
+ * @param {Object} selector - The selector describing the element.
303
+ * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time).
304
+ * @param {Number} [timeout=30000] - The timeout to wait (ms).
305
+ * @returns {Boolean} The bool value 'true' or 'false' if the element is visible or not.
306
+ * @example const isVisible = await ui5.element.isVisible(selector);
307
+ */
308
+ isVisible(selector, index = 0, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
309
+ return __awaiter(this, void 0, void 0, function* () {
310
+ try {
311
+ const elem = yield ui5.element.getDisplayed(selector, index, timeout);
312
+ return yield elem.isDisplayed();
313
+ }
314
+ catch (err) {
315
+ return false;
316
+ }
317
+ });
318
+ }
319
+ ;
320
+ // =================================== ACTIONS ===================================
321
+ /**
322
+ * @function highlight
323
+ * @memberOf ui5.element
324
+ * @description Highlights the element with the given selector.
325
+ * @param {Object} selector - The selector describing the element.
326
+ * @param {Number} [duration=2000] - The duration of the highlighting (ms).
327
+ * @param {String} [color="red"] - The color of the highlighting (CSS color).
328
+ * @example await ui5.element.highlight(selector, 3000, "green");
329
+ */
330
+ highlight(selector, duration = 2000, color = "red") {
331
+ return __awaiter(this, void 0, void 0, function* () {
332
+ const elem = yield this.getDisplayed(selector);
333
+ if (elem) {
334
+ yield browser.executeScript(`arguments[0].style.boxShadow = 'inset 0px 0px 0px 2px ${color}'`, [elem]);
335
+ yield browser.pause(duration);
336
+ yield browser.executeScript("arguments[0].style.boxShadow = 'inherit'", [elem]);
337
+ }
338
+ });
339
+ }
340
+ ;
341
+ // =================================== HELPER ===================================
342
+ _throwSelectorError(functionName) {
343
+ throw new Error(`Function '${functionName}' failed: Please provide a valid selector as argument.`);
344
+ }
345
+ }
346
+ exports.ElementModule = ElementModule;
347
+ ;
348
+ exports.default = new ElementModule();
349
+ //# sourceMappingURL=element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/element.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @class errorDialog
3
+ * @memberof ui5
4
+ */
5
+ export declare class ErrorDialog {
6
+ selectors: {
7
+ errorDialog: {
8
+ elementProperties: {
9
+ metadata: string;
10
+ };
11
+ ancestorProperties: {
12
+ metadata: string;
13
+ icon: string;
14
+ };
15
+ };
16
+ closeButton: {
17
+ elementProperties: {
18
+ metadata: string;
19
+ text: string;
20
+ };
21
+ };
22
+ };
23
+ /**
24
+ * @function expectToBeVisible
25
+ * @memberOf ui5.errorDialog
26
+ * @description Expects that the error dialog is visible on the page.
27
+ * @example await ui5.errorDialog.expectToBeVisible();
28
+ */
29
+ expectToBeVisible(): Promise<void>;
30
+ /**
31
+ * @function clickClose
32
+ * @memberOf ui5.errorDialog
33
+ * @description Clicks the 'Close' button at the error dialog.
34
+ * @example await ui5.errorDialog.clickClose();
35
+ */
36
+ clickClose(): Promise<void>;
37
+ }
38
+ declare const _default: ErrorDialog;
39
+ export default _default;
@@ -0,0 +1,65 @@
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.ErrorDialog = void 0;
13
+ /**
14
+ * @class errorDialog
15
+ * @memberof ui5
16
+ */
17
+ class ErrorDialog {
18
+ constructor() {
19
+ this.selectors = {
20
+ errorDialog: {
21
+ "elementProperties": {
22
+ "metadata": "sap.m.Bar"
23
+ },
24
+ "ancestorProperties": {
25
+ "metadata": "sap.m.Dialog",
26
+ "icon": "sap-icon://error"
27
+ }
28
+ },
29
+ closeButton: {
30
+ "elementProperties": {
31
+ "metadata": "sap.m.Button",
32
+ "text": "Close"
33
+ }
34
+ }
35
+ };
36
+ }
37
+ /**
38
+ * @function expectToBeVisible
39
+ * @memberOf ui5.errorDialog
40
+ * @description Expects that the error dialog is visible on the page.
41
+ * @example await ui5.errorDialog.expectToBeVisible();
42
+ */
43
+ expectToBeVisible() {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ yield ui5.assertion.expectToBeVisible(this.selectors.errorDialog);
46
+ });
47
+ }
48
+ ;
49
+ /**
50
+ * @function clickClose
51
+ * @memberOf ui5.errorDialog
52
+ * @description Clicks the 'Close' button at the error dialog.
53
+ * @example await ui5.errorDialog.clickClose();
54
+ */
55
+ clickClose() {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ yield ui5.userInteraction.click(this.selectors.closeButton);
58
+ });
59
+ }
60
+ ;
61
+ }
62
+ exports.ErrorDialog = ErrorDialog;
63
+ ;
64
+ exports.default = new ErrorDialog();
65
+ //# sourceMappingURL=errorDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorDialog.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/errorDialog.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AACb;;;GAGG;AACH,MAAa,WAAW;IAAxB;QAEE,cAAS,GAAG;YACV,WAAW,EAAE;gBACX,mBAAmB,EAAE;oBACnB,UAAU,EAAE,WAAW;iBACxB;gBACD,oBAAoB,EAAE;oBACpB,UAAU,EAAE,cAAc;oBAC1B,MAAM,EAAE,kBAAkB;iBAC3B;aACF;YACD,WAAW,EAAE;gBACX,mBAAmB,EAAE;oBACnB,UAAU,EAAE,cAAc;oBAC1B,MAAM,EAAE,OAAO;iBAChB;aACF;SACF,CAAC;IAsBJ,CAAC;IApBC;;;;;OAKG;IACG,iBAAiB;;YACrB,MAAM,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpE,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;OAKG;IACG,UAAU;;YACd,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9D,CAAC;KAAA;IAAA,CAAC;CAEH;AAxCD,kCAwCC;AAAA,CAAC;AACF,kBAAe,IAAI,WAAW,EAAE,CAAC"}