@sap_oss/wdio-qmate-service 3.8.0 → 3.10.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 (526) hide show
  1. package/.eslintrc.yml +4 -4
  2. package/.prettierrc.json +7 -7
  3. package/CLAUDE.md +10 -10
  4. package/CONTRIBUTING.md +1 -1
  5. package/README.md +6 -2
  6. package/lib/reuse/authenticator/authConfig.js +3 -3
  7. package/lib/reuse/authenticator/authConfig.js.map +1 -1
  8. package/lib/reuse/authenticator/authHandler.js +0 -2
  9. package/lib/reuse/authenticator/authHandler.js.map +1 -1
  10. package/lib/reuse/authenticator/basicUrlAuthenticator.js.map +1 -1
  11. package/lib/reuse/authenticator/customAuthenticator.js +1 -3
  12. package/lib/reuse/authenticator/customAuthenticator.js.map +1 -1
  13. package/lib/reuse/authenticator/formAuthenticator.js +1 -3
  14. package/lib/reuse/authenticator/formAuthenticator.js.map +1 -1
  15. package/lib/reuse/helper/clientsideUI5scripts.js +15 -19
  16. package/lib/reuse/helper/clientsideUI5scripts.js.map +1 -1
  17. package/lib/reuse/helper/dateTimeFormatParser.js +8 -2
  18. package/lib/reuse/helper/dateTimeFormatParser.js.map +1 -1
  19. package/lib/reuse/helper/elementHighlight.js +2 -6
  20. package/lib/reuse/helper/elementHighlight.js.map +1 -1
  21. package/lib/reuse/helper/errorHandler.js +2 -9
  22. package/lib/reuse/helper/errorHandler.js.map +1 -1
  23. package/lib/reuse/helper/jsDocGen.js +1 -1
  24. package/lib/reuse/helper/jsDocGen.js.map +1 -1
  25. package/lib/reuse/helper/tableHelper.js +3 -0
  26. package/lib/reuse/helper/tableHelper.js.map +1 -1
  27. package/lib/reuse/helper/timeHelper.js +3 -7
  28. package/lib/reuse/helper/timeHelper.js.map +1 -1
  29. package/lib/reuse/helper/verboseLogger.js.map +1 -1
  30. package/lib/reuse/index.js +0 -17
  31. package/lib/reuse/index.js.map +1 -1
  32. package/lib/reuse/modules/common/constants/date.constants.js +0 -2
  33. package/lib/reuse/modules/common/constants/date.constants.js.map +1 -1
  34. package/lib/reuse/modules/common/navigation.js.map +1 -1
  35. package/lib/reuse/modules/flp/userSettings.d.ts +2 -0
  36. package/lib/reuse/modules/flp/userSettings.js +6 -1
  37. package/lib/reuse/modules/flp/userSettings.js.map +1 -1
  38. package/lib/reuse/modules/nonUi5/NonUi5.js.map +1 -1
  39. package/lib/reuse/modules/nonUi5/session.js.map +1 -1
  40. package/lib/reuse/modules/nonUi5/userInteraction.js.map +1 -1
  41. package/lib/reuse/modules/ui5/assertion.d.ts +1 -0
  42. package/lib/reuse/modules/ui5/assertion.js +11 -4
  43. package/lib/reuse/modules/ui5/assertion.js.map +1 -1
  44. package/lib/reuse/modules/ui5/control.js.map +1 -1
  45. package/lib/reuse/modules/ui5/date.js +15 -15
  46. package/lib/reuse/modules/ui5/date.js.map +1 -1
  47. package/lib/reuse/modules/ui5/element.d.ts +2 -2
  48. package/lib/reuse/modules/ui5/element.js +7 -4
  49. package/lib/reuse/modules/ui5/element.js.map +1 -1
  50. package/lib/reuse/modules/ui5/session.d.ts +4 -2
  51. package/lib/reuse/modules/ui5/session.js +32 -4
  52. package/lib/reuse/modules/ui5/session.js.map +1 -1
  53. package/lib/reuse/modules/ui5/table.js +25 -9
  54. package/lib/reuse/modules/ui5/table.js.map +1 -1
  55. package/lib/reuse/modules/ui5/userInteraction.d.ts +1 -1
  56. package/lib/reuse/modules/ui5/userInteraction.js +46 -59
  57. package/lib/reuse/modules/ui5/userInteraction.js.map +1 -1
  58. package/lib/reuse/modules/util/constants/formatter.constants.js +0 -2
  59. package/lib/reuse/modules/util/constants/formatter.constants.js.map +1 -1
  60. package/lib/reuse/modules/util/file.d.ts +7 -4
  61. package/lib/reuse/modules/util/file.js +34 -7
  62. package/lib/reuse/modules/util/file.js.map +1 -1
  63. package/lib/reuse/modules/util/formatter.js +7 -3
  64. package/lib/reuse/modules/util/formatter.js.map +1 -1
  65. package/lib/reuse/modules/util/function.js +1 -5
  66. package/lib/reuse/modules/util/function.js.map +1 -1
  67. package/lib/scripts/clientsideUI5scripts.js +22 -29
  68. package/lib/scripts/clientsideUI5scripts.js.map +1 -1
  69. package/lib/scripts/dataExchange/dataExchange.js.map +1 -1
  70. package/lib/scripts/dataExchange/dataExchangeUtil.js +3 -13
  71. package/lib/scripts/dataExchange/dataExchangeUtil.js.map +1 -1
  72. package/lib/scripts/hooks/before.js +0 -1
  73. package/lib/scripts/hooks/before.js.map +1 -1
  74. package/lib/scripts/hooks/onComplete.js +2 -3
  75. package/lib/scripts/hooks/onComplete.js.map +1 -1
  76. package/lib/scripts/hooks/utils/addLocatorCommands.js.map +1 -1
  77. package/lib/scripts/hooks/utils/browserLog.js.map +1 -1
  78. package/lib/scripts/hooks/utils/cycle.js +3 -9
  79. package/lib/scripts/hooks/utils/cycle.js.map +1 -1
  80. package/lib/scripts/hooks/utils/dataExchangeCommands.js +1 -2
  81. package/lib/scripts/hooks/utils/dataExchangeCommands.js.map +1 -1
  82. package/lib/scripts/hooks/utils/isBrowserDefined.js.map +1 -1
  83. package/lib/scripts/locators/qmateLocator.js +30 -53
  84. package/lib/scripts/locators/qmateLocator.js.map +1 -1
  85. package/lib/scripts/locators/qmateLocatorSrc/comparators/DomPropertiesComparator.js +2 -2
  86. package/lib/scripts/locators/qmateLocatorSrc/comparators/DomPropertiesComparator.js.map +1 -1
  87. package/lib/scripts/locators/qmateLocatorSrc/constants/IgnoredMetadataList.d.ts +1 -0
  88. package/lib/scripts/locators/qmateLocatorSrc/constants/IgnoredMetadataList.js +10 -0
  89. package/lib/scripts/locators/qmateLocatorSrc/constants/IgnoredMetadataList.js.map +1 -0
  90. package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.d.ts +2 -3
  91. package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.js +18 -22
  92. package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.js.map +1 -1
  93. package/lib/scripts/locators/qmateLocatorSrc/utils/UI5ControlHandler.js +3 -2
  94. package/lib/scripts/locators/qmateLocatorSrc/utils/UI5ControlHandler.js.map +1 -1
  95. package/lib/scripts/locators/uiveri5Locator.js +1 -1
  96. package/lib/scripts/locators/uiveri5Locator.js.map +1 -1
  97. package/lib/scripts/stats/createUsage.js +1 -1
  98. package/lib/scripts/stats/createUsage.js.map +1 -1
  99. package/lib/scripts/stats/getOperatingSystem.js.map +1 -1
  100. package/lib/scripts/stats/getUserId.js +1 -1
  101. package/lib/scripts/stats/stats.js +9 -9
  102. package/lib/scripts/stats/stats.js.map +1 -1
  103. package/lib/scripts/stats/updateUsage.js +1 -1
  104. package/mkdocs.yml +18 -18
  105. package/package.json +18 -26
  106. package/packages/qcrypt/dist/classes/Decrypter.d.ts +38 -38
  107. package/packages/qcrypt/dist/classes/Decrypter.js +150 -153
  108. package/packages/qcrypt/dist/classes/Encrypter.d.ts +46 -46
  109. package/packages/qcrypt/dist/classes/Encrypter.js +144 -144
  110. package/packages/qcrypt/dist/classes/KeyGenerator.d.ts +16 -16
  111. package/packages/qcrypt/dist/classes/KeyGenerator.js +45 -43
  112. package/packages/qcrypt/dist/classes/helper/ErrorHandler.d.ts +8 -8
  113. package/packages/qcrypt/dist/classes/helper/ErrorHandler.js +48 -50
  114. package/packages/qcrypt/dist/classes/helper/Util.d.ts +67 -67
  115. package/packages/qcrypt/dist/classes/helper/Util.js +113 -114
  116. package/packages/qcrypt/dist/index.js +5 -3
  117. package/packages/qcrypt/dist/types/common.d.ts +13 -13
  118. package/reuseApi.json +8 -468
  119. package/test/.eslintrc.yml +1 -1
  120. package/test/authenticator/staticLogin/configCustom.js +1 -3
  121. package/test/authenticator/staticLogin/configCustomViaConfig.js +1 -3
  122. package/test/authenticator/staticLogin/configFiori.js +1 -3
  123. package/test/authenticator/staticLogin/configPlain.js +1 -4
  124. package/test/authenticator/staticLogin/configSapCloud.js +1 -3
  125. package/test/authenticator/staticLogin/html/custom.html +4 -4
  126. package/test/authenticator/staticLogin/html/fiori.html +4 -4
  127. package/test/authenticator/staticLogin/html/home.html +2 -2
  128. package/test/authenticator/staticLogin/html/sapCloud.html +4 -4
  129. package/test/authenticator/staticLogin/specs/custom.spec.js +1 -5
  130. package/test/authenticator/staticLogin/specs/plain.spec.js +0 -5
  131. package/test/authenticator/staticLogin/staticServerConfig.js +13 -10
  132. package/test/authenticator/systemLogin/configCustom.js +3 -5
  133. package/test/authenticator/systemLogin/configFiori.js +2 -5
  134. package/test/authenticator/systemLogin/configPlain.js +3 -5
  135. package/test/authenticator/systemLogin/configSapCloud.js +3 -5
  136. package/test/authenticator/systemLogin/specs/custom.spec.js +3 -5
  137. package/test/authenticator/systemLogin/specs/fiori.spec.js +3 -4
  138. package/test/authenticator/systemLogin/specs/plain.spec.js +3 -5
  139. package/test/authenticator/systemLogin/specs/sapCloud.spec.js +3 -5
  140. package/test/core/dataExchange/config.export.js +11 -18
  141. package/test/core/dataExchange/config.import.js +7 -12
  142. package/test/core/dataExchange/config.js +9 -11
  143. package/test/core/dataExchange/config.parallel.group.js +53 -61
  144. package/test/core/dataExchange/config.parallel.js +53 -58
  145. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/Limit-Purchase-Order.json +1 -1
  146. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/ServicePurchaseOrder.2Items.json +1 -1
  147. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchaseRequisition_HI.json +1 -1
  148. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/LimitPurchaseOrder.json +1 -1
  149. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderItems.json +1 -1
  150. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderWithScheduline.json +1 -1
  151. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServiceAndMaterialPurchaseOrder.json +1 -1
  152. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder.json +1 -1
  153. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder2Items.json +1 -1
  154. package/test/core/dataExchange/data/my/folder/data/qs9/data.json +1 -1
  155. package/test/core/dataExchange/data/my/folder/data/qs9/purchaseRequisition.json +1 -1
  156. package/test/core/dataExchange/data/my/folder/data/qs9/supplierInvoice.json +1 -1
  157. package/test/core/dataExchange/data/my/folder/data/qs9/webUser.json +1 -1
  158. package/test/core/dataExchange/data/ui/moreDataFolder/anotherUser.json +1 -1
  159. package/test/core/dataExchange/data/ui/user.json +1 -1
  160. package/test/core/dataExchange/data/ui/webUser.json +1 -1
  161. package/test/core/dataExchange/specs/export.fast.spec.js +11 -16
  162. package/test/core/dataExchange/specs/export.slow.spec.js +13 -18
  163. package/test/core/dataExchange/specs/export.spec.js +13 -23
  164. package/test/core/dataExchange/specs/import.spec.js +6 -23
  165. package/test/core/dataExchange/specs/importExport.spec.js +47 -62
  166. package/test/core/dataExchange/utils.js +11 -15
  167. package/test/core/functional/README.md +8 -5
  168. package/test/core/functional/chaining/chaining.test.js +46 -49
  169. package/test/core/functional/chaining/test.conf.js +1 -4
  170. package/test/core/functional/locators/ancestorProperties.test.js +49 -59
  171. package/test/core/functional/locators/childProperties.test.js +30 -36
  172. package/test/core/functional/locators/descendantProperties.test.js +50 -57
  173. package/test/core/functional/locators/domProperties.test.js +25 -29
  174. package/test/core/functional/locators/elementProperties.test.js +30 -29
  175. package/test/core/functional/locators/mixedProperties.test.js +317 -108
  176. package/test/core/functional/locators/parentProperties.test.js +18 -22
  177. package/test/core/functional/locators/siblingProperties.test.js +66 -75
  178. package/test/core/functional/locators/utils.js +1 -1
  179. package/test/core/functional/nativeBrowser/runInBrowser.test.js +84 -58
  180. package/test/core/functional/nativeBrowser/test.conf.js +1 -3
  181. package/test/core/functional/nonUi5/basic.test.js +3 -3
  182. package/test/core/functional/nonUi5/getWithDomElement.test.js +0 -2
  183. package/test/core/functional/nonUi5/getWithDomElements.test.js +2 -3
  184. package/test/core/functional/nonUi5/test.conf.js +1 -4
  185. package/test/core/functional/ui5Properties/countries.json +1 -1
  186. package/test/core/functional/ui5Properties/getAggregations.test.js +19 -27
  187. package/test/core/functional/ui5Properties/getAssociations.test.js +3 -3
  188. package/test/core/functional/ui5Properties/getBindingInfos.test.js +17 -17
  189. package/test/core/functional/ui5Properties/getProperties.test.js +25 -33
  190. package/test/core/functional/ui5Properties/test.conf.js +1 -6
  191. package/test/core/functional/uiveri5/sample.test.js +1 -2
  192. package/test/core/functional/uiveri5/test.conf.js +1 -3
  193. package/test/core/testIntegration/config.js +1 -1
  194. package/test/core/testIntegration/configMultiCombo.js +1 -1
  195. package/test/core/testIntegration/configTable.js +1 -1
  196. package/test/core/testIntegration/filters1.spec.js +908 -870
  197. package/test/core/testIntegration/multicombobox.spec.js +64 -60
  198. package/test/core/testIntegration/table.spec.js +35 -33
  199. package/test/helper/configurations/base.conf.js +6 -3
  200. package/test/helper/configurations/chrome.headless.conf.js +1 -1
  201. package/test/helper/sleeper.js +1 -1
  202. package/test/reuse/common/assertion/expectDefined.spec.js +1 -2
  203. package/test/reuse/common/assertion/expectEqual.spec.js +36 -26
  204. package/test/reuse/common/assertion/expectFalse.spec.js +1 -1
  205. package/test/reuse/common/assertion/expectTrue.spec.js +1 -1
  206. package/test/reuse/common/assertion/expectUndefined.spec.js +1 -2
  207. package/test/reuse/common/assertion/expectUnequal.spec.js +24 -13
  208. package/test/reuse/common/assertion/expectUrlToBe.spec.js +3 -6
  209. package/test/reuse/common/assertion/test.assertion.conf.js +39 -35
  210. package/test/reuse/common/date/calculate.spec.js +36 -36
  211. package/test/reuse/common/date/calculateWithTime.spec.js +88 -88
  212. package/test/reuse/common/date/getNextMonth.spec.js +3 -3
  213. package/test/reuse/common/date/getNextYear.spec.js +2 -2
  214. package/test/reuse/common/date/getPreviousMonth.spec.js +2 -2
  215. package/test/reuse/common/date/getPreviousYear.spec.js +2 -2
  216. package/test/reuse/common/date/getSpecific.spec.js +2 -2
  217. package/test/reuse/common/date/getToday.spec.js +2 -2
  218. package/test/reuse/common/date/getTomorrow.spec.js +2 -2
  219. package/test/reuse/common/date/test.date.conf.js +1 -1
  220. package/test/reuse/common/navigation/navigateToUrlAndRetry.spec.js +2 -6
  221. package/test/reuse/common/navigation/test.navigation.conf.js +14 -12
  222. package/test/reuse/common/userInteraction/clearAndFillActive.spec.js +1 -3
  223. package/test/reuse/common/userInteraction/clearAndFillActiveAndRetry.spec.js +2 -6
  224. package/test/reuse/common/userInteraction/fillActive.spec.js +2 -6
  225. package/test/reuse/common/userInteraction/fillActiveAndRetry.spec.js +2 -6
  226. package/test/reuse/common/userInteraction/pressKey.spec.js +6 -30
  227. package/test/reuse/common/userInteraction/test.userInteraction.conf.js +36 -38
  228. package/test/reuse/flp/userLocks/data/data.json +1 -1
  229. package/test/reuse/flp/userLocks/deleteExistingLockEntries.spec.js +0 -3
  230. package/test/reuse/flp/userLocks/getNumberOfLockEntries.spec.js +0 -2
  231. package/test/reuse/flp/userLocks/test.userLocks.conf.js +1 -4
  232. package/test/reuse/flp/userSettings/data/data.json +1 -1
  233. package/test/reuse/flp/userSettings/getDateFormatFromUserSettings.spec.js +0 -2
  234. package/test/reuse/flp/userSettings/getLanguageFromUserSettings.spec.js +0 -1
  235. package/test/reuse/flp/userSettings/getTimeFormatFromUserSettings.spec.js +0 -3
  236. package/test/reuse/flp/userSettings/getTimeZoneFromUserSettings.spec.js +0 -2
  237. package/test/reuse/flp/userSettings/setDateFormatFromUserSettings.spec.js +0 -2
  238. package/test/reuse/flp/userSettings/setLanguageFromUserSettings.spec.js +0 -2
  239. package/test/reuse/flp/userSettings/setNumberFormatFromUserSettings.spec.js +1 -3
  240. package/test/reuse/flp/userSettings/setS4UserSettings.spec.js +0 -2
  241. package/test/reuse/flp/userSettings/setTimeFormatFromUserSettings.spec.js +0 -3
  242. package/test/reuse/flp/userSettings/setTimeZoneFromUserSettings.spec.js +0 -2
  243. package/test/reuse/flp/userSettings/test.userSettings.apply.conf.js +1 -3
  244. package/test/reuse/helper/elementHighlight/test.elementHighlight.conf.js +2 -4
  245. package/test/reuse/nonUi5/assertion/expectAttributeToBe.spec.js +4 -11
  246. package/test/reuse/nonUi5/assertion/expectAttributeToContain.spec.js +3 -10
  247. package/test/reuse/nonUi5/assertion/expectCssPropertyValueToBe.spec.js +2 -4
  248. package/test/reuse/nonUi5/assertion/expectToBeNotVisible.spec.js +3 -5
  249. package/test/reuse/nonUi5/assertion/expectToBeVisible.spec.js +2 -2
  250. package/test/reuse/nonUi5/assertion/test.assertion.conf.js +39 -35
  251. package/test/reuse/nonUi5/assertion/test.assertion.sauceLabs.conf.js +40 -42
  252. package/test/reuse/nonUi5/element/getAttributeValue.spec.js +3 -9
  253. package/test/reuse/nonUi5/element/getByChild.spec.js +4 -8
  254. package/test/reuse/nonUi5/element/getByClass.spec.js +2 -7
  255. package/test/reuse/nonUi5/element/getByCss.spec.js +6 -11
  256. package/test/reuse/nonUi5/element/getByCssContainingText.spec.js +2 -6
  257. package/test/reuse/nonUi5/element/getById.spec.js +3 -10
  258. package/test/reuse/nonUi5/element/getByName.spec.js +2 -5
  259. package/test/reuse/nonUi5/element/getByParent.spec.js +5 -15
  260. package/test/reuse/nonUi5/element/getByXPath.spec.js +2 -5
  261. package/test/reuse/nonUi5/element/getCssPropertyValue.spec.js +1 -4
  262. package/test/reuse/nonUi5/element/getValue.spec.js +3 -6
  263. package/test/reuse/nonUi5/element/highlight.spec.js +0 -2
  264. package/test/reuse/nonUi5/element/isPresent.spec.js +1 -3
  265. package/test/reuse/nonUi5/element/isPresentByCss.spec.js +1 -1
  266. package/test/reuse/nonUi5/element/isPresentByXPath.spec.js +0 -1
  267. package/test/reuse/nonUi5/element/setInnerHTML.spec.js +2 -5
  268. package/test/reuse/nonUi5/element/test.element.conf.js +18 -15
  269. package/test/reuse/nonUi5/element/waitForAll.spec.js +2 -5
  270. package/test/reuse/nonUi5/element/waitToBeClickable.spec.js +2 -5
  271. package/test/reuse/nonUi5/element/waitToBePresent.spec.js +2 -3
  272. package/test/reuse/nonUi5/element/waitToBeVisible.spec.js +3 -8
  273. package/test/reuse/nonUi5/navigation/test.navigation.conf.js +1 -3
  274. package/test/reuse/nonUi5/userInteraction/checkAttributeAndValue.spec.js +13 -17
  275. package/test/reuse/nonUi5/userInteraction/clear.spec.js +3 -5
  276. package/test/reuse/nonUi5/userInteraction/clearAndFill.spec.js +1 -1
  277. package/test/reuse/nonUi5/userInteraction/clearAndFillAndRetry.spec.js +1 -3
  278. package/test/reuse/nonUi5/userInteraction/clearAndRetry.spec.js +1 -3
  279. package/test/reuse/nonUi5/userInteraction/click.spec.js +1 -3
  280. package/test/reuse/nonUi5/userInteraction/clickAndRetry.spec.js +2 -6
  281. package/test/reuse/nonUi5/userInteraction/clickElementInSvg.spec.js +1 -3
  282. package/test/reuse/nonUi5/userInteraction/doubleClick.spec.js +1 -1
  283. package/test/reuse/nonUi5/userInteraction/dragAndDrop.spec.js +2 -2
  284. package/test/reuse/nonUi5/userInteraction/fillAndRetry.spec.js +1 -3
  285. package/test/reuse/nonUi5/userInteraction/selectAll.spec.js +2 -2
  286. package/test/reuse/nonUi5/userInteraction/test.userInteraction.conf.js +1 -1
  287. package/test/reuse/nonUi5/userInteraction/test.userInteraction.sauceLabs.conf.js +43 -39
  288. package/test/reuse/service/odata/test.odata.conf.js +4 -7
  289. package/test/reuse/service/rest/db.json +1 -1
  290. package/test/reuse/service/rest/delete.spec.js +3 -10
  291. package/test/reuse/service/rest/get.spec.js +2 -9
  292. package/test/reuse/service/rest/init.spec.js +0 -2
  293. package/test/reuse/service/rest/patch.spec.js +5 -12
  294. package/test/reuse/service/rest/post.spec.js +6 -17
  295. package/test/reuse/service/rest/put.spec.js +10 -17
  296. package/test/reuse/service/rest/rest-server.js +5 -5
  297. package/test/reuse/service/rest/test.rest.conf.js +4 -11
  298. package/test/reuse/ui5/assertion/expectAttributeToBe.spec.js +77 -42
  299. package/test/reuse/ui5/assertion/expectAttributeToContain.spec.js +48 -18
  300. package/test/reuse/ui5/assertion/expectBindingContextPathToBe.spec.js +41 -42
  301. package/test/reuse/ui5/assertion/expectBindingPathToBe.spec.js +58 -64
  302. package/test/reuse/ui5/assertion/expectCssPropertyValueToBe.spec.js +1 -2
  303. package/test/reuse/ui5/assertion/expectMessageToastTextToBe.spec.js +7 -11
  304. package/test/reuse/ui5/assertion/expectTextToBe.spec.js +13 -13
  305. package/test/reuse/ui5/assertion/expectToBeEnabled.spec.js +2 -6
  306. package/test/reuse/ui5/assertion/expectToBeNotEnabled.spec.js +17 -20
  307. package/test/reuse/ui5/assertion/expectToBeNotVisible.spec.js +13 -14
  308. package/test/reuse/ui5/assertion/expectToBeVisible.spec.js +15 -20
  309. package/test/reuse/ui5/assertion/expectToBeVisibleInViewport.spec.js +11 -15
  310. package/test/reuse/ui5/assertion/expectValidationError.spec.js +14 -16
  311. package/test/reuse/ui5/assertion/expectValidationSuccess.spec.js +14 -16
  312. package/test/reuse/ui5/assertion/expectValueToBe.spec.js +14 -17
  313. package/test/reuse/ui5/assertion/expectValueToBeDefined.spec.js +6 -9
  314. package/test/reuse/ui5/assertion/test.assertion.sauceLab.conf.js +3 -3
  315. package/test/reuse/ui5/confirmationDialog/clickButton.spec.js +24 -28
  316. package/test/reuse/ui5/confirmationDialog/clickCancel.spec.js +24 -25
  317. package/test/reuse/ui5/confirmationDialog/clickCreate.spec.js +1 -1
  318. package/test/reuse/ui5/confirmationDialog/clickDelete.spec.js +25 -28
  319. package/test/reuse/ui5/confirmationDialog/clickNo.spec.js +21 -29
  320. package/test/reuse/ui5/confirmationDialog/clickOk.spec.js +19 -22
  321. package/test/reuse/ui5/confirmationDialog/clickRevokeApproval.spec.js +1 -1
  322. package/test/reuse/ui5/confirmationDialog/clickYes.spec.js +17 -25
  323. package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.conf.js +1 -1
  324. package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.sauceLab.conf.js +4 -4
  325. package/test/reuse/ui5/control/execute.spec.js +37 -25
  326. package/test/reuse/ui5/control/focus.spec.js +29 -29
  327. package/test/reuse/ui5/control/getAggregationProperty.spec.js +25 -21
  328. package/test/reuse/ui5/control/getAssociationProperty.spec.js +13 -15
  329. package/test/reuse/ui5/control/getBindingContextPathProperty.spec.js +12 -10
  330. package/test/reuse/ui5/control/getProperty.spec.js +12 -10
  331. package/test/reuse/ui5/control/getPropertyBinding.spec.js +12 -10
  332. package/test/reuse/ui5/control/test.control.sauceLab.conf.js +3 -4
  333. package/test/reuse/ui5/date/fillRange.spec.js +7 -10
  334. package/test/reuse/ui5/date/pick.spec.js +31 -34
  335. package/test/reuse/ui5/date/pickRange.spec.js +31 -25
  336. package/test/reuse/ui5/date/pickWithTime.spec.js +8 -10
  337. package/test/reuse/ui5/date/test.date.conf.js +3 -8
  338. package/test/reuse/ui5/date/test.date.sauceLab.conf.js +4 -9
  339. package/test/reuse/ui5/element/getBindingValue.spec.js +17 -23
  340. package/test/reuse/ui5/element/getByChild.spec.js +52 -52
  341. package/test/reuse/ui5/element/getByParent.spec.js +65 -61
  342. package/test/reuse/ui5/element/getByText.spec.js +10 -14
  343. package/test/reuse/ui5/element/getCssPropertyValue.spec.js +1 -1
  344. package/test/reuse/ui5/element/getDisplayed.spec.js +23 -26
  345. package/test/reuse/ui5/element/getId.spec.js +15 -18
  346. package/test/reuse/ui5/element/getPropertyValue.spec.js +19 -23
  347. package/test/reuse/ui5/element/highlight.spec.js +9 -12
  348. package/test/reuse/ui5/element/isVisible.spec.js +12 -12
  349. package/test/reuse/ui5/element/test.element.sauceLab.conf.js +3 -5
  350. package/test/reuse/ui5/element/waitForAll.spec.js +10 -15
  351. package/test/reuse/ui5/errorDialog/clickClose.spec.js +6 -9
  352. package/test/reuse/ui5/errorDialog/expectToBeVisible.spec.js +7 -11
  353. package/test/reuse/ui5/errorDialog/test.errorDialog.conf.js +2 -5
  354. package/test/reuse/ui5/errorDialog/test.errorDialog.sauceLab.conf.js +4 -9
  355. package/test/reuse/ui5/mockserver_qunit/Component.js +3 -8
  356. package/test/reuse/ui5/mockserver_qunit/controller/App.controller.js +12 -18
  357. package/test/reuse/ui5/mockserver_qunit/controller/BaseController.js +3 -10
  358. package/test/reuse/ui5/mockserver_qunit/controller/Home.controller.js +6 -11
  359. package/test/reuse/ui5/mockserver_qunit/controller/NotFound.controller.js +6 -11
  360. package/test/reuse/ui5/mockserver_qunit/controller/employee/Employee.controller.js +10 -16
  361. package/test/reuse/ui5/mockserver_qunit/controller/employee/EmployeeList.controller.js +4 -9
  362. package/test/reuse/ui5/mockserver_qunit/controller/employee/Resume.controller.js +39 -36
  363. package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverview.controller.js +2 -7
  364. package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverviewContent.controller.js +66 -79
  365. package/test/reuse/ui5/mockserver_qunit/index.html +19 -18
  366. package/test/reuse/ui5/mockserver_qunit/initMockServer.js +13 -13
  367. package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Employees.json +153 -153
  368. package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Resumes.json +63 -63
  369. package/test/reuse/ui5/mockserver_qunit/localService/mockserver.js +124 -128
  370. package/test/reuse/ui5/mockserver_qunit/localService/mockserverLoadAllData.js +7 -13
  371. package/test/reuse/ui5/mockserver_qunit/manifest.json +169 -167
  372. package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServer.html +58 -56
  373. package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServerAllData.html +65 -61
  374. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/config.js +60 -66
  375. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/qunitExecution/specs/runQUnitTests.spec.js +3 -4
  376. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/data/setup.json +8 -10
  377. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/specs/testDisplayNotFound.spec.js +16 -18
  378. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Employees.json +203 -203
  379. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Resumes.json +113 -113
  380. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/setup.json +8 -10
  381. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/testShowEmployeeList.json +1 -1
  382. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/specs/testShowEmployeeList.spec.js +24 -26
  383. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/constants.js +2 -2
  384. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockDataMapper.js +5 -6
  385. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockHelper.js +37 -52
  386. package/test/reuse/ui5/mockserver_qunit/test/unit/allTests.js +2 -4
  387. package/test/reuse/ui5/mockserver_qunit/test/unit/unitTests.qunit.html +28 -31
  388. package/test/reuse/ui5/mockserver_qunit/test/unit/utils/Conversions.js +13 -10
  389. package/test/reuse/ui5/navigation/expectUnsupportedNavigationPopup.spec.js +12 -13
  390. package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParams.spec.js +1 -1
  391. package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParamsAndRetry.spec.js +1 -1
  392. package/test/reuse/ui5/navigation/navigateToSystemAndApplication.spec.js +1 -2
  393. package/test/reuse/ui5/navigation/navigateToSystemAndApplicationAndRetry.spec.js +2 -4
  394. package/test/reuse/ui5/navigation/test.navigation.conf.js +2 -7
  395. package/test/reuse/ui5/navigation/test.navigation.sauceLab.conf.js +4 -4
  396. package/test/reuse/ui5/navigation/test.navigation.static.sauceLab.conf.js +4 -4
  397. package/test/reuse/ui5/navigationBar/clickUserIcon.spec.js +5 -10
  398. package/test/reuse/ui5/navigationBar/expectPageTitle.spec.js +2 -3
  399. package/test/reuse/ui5/navigationBar/expectShellHeader.spec.js +2 -3
  400. package/test/reuse/ui5/navigationBar/test.navigationBar.conf.js +2 -8
  401. package/test/reuse/ui5/navigationBar/test.navigationBar.sauceLab.conf.js +4 -10
  402. package/test/reuse/ui5/session/login.spec.js +9 -11
  403. package/test/reuse/ui5/session/loginFiori.spec.js +5 -7
  404. package/test/reuse/ui5/session/loginSapCloud.spec.js +6 -8
  405. package/test/reuse/ui5/session/logout.spec.js +2 -3
  406. package/test/reuse/ui5/session/switchUser.spec.js +1 -1
  407. package/test/reuse/ui5/session/test.session.conf.js +1 -7
  408. package/test/reuse/ui5/session/test.session.sauceLab.conf.js +4 -12
  409. package/test/reuse/ui5/table/clickSettingsButton.spec.js +12 -18
  410. package/test/reuse/ui5/table/getAllColumnValuesByName.spec.js +1 -4
  411. package/test/reuse/ui5/table/getSelectorForRowByIndex.spec.js +11 -14
  412. package/test/reuse/ui5/table/getSelectorsForRowsByValues.spec.js +6 -9
  413. package/test/reuse/ui5/table/getTotalNumberOfRowsByValues.spec.js +1 -3
  414. package/test/reuse/ui5/table/openItemByIndex.spec.js +23 -29
  415. package/test/reuse/ui5/table/openItemByValues.spec.js +27 -38
  416. package/test/reuse/ui5/table/selectRowByValues.spec.js +7 -7
  417. package/test/reuse/ui5/table/sortColumnAscending.spec.js +17 -25
  418. package/test/reuse/ui5/table/sortColumnDescending.spec.js +13 -19
  419. package/test/reuse/ui5/table/test.table.sauceLab.conf.js +4 -8
  420. package/test/reuse/ui5/table/test.table.sauceLab.tunnel.conf.js +4 -8
  421. package/test/reuse/ui5/userInteraction/clear.spec.js +14 -18
  422. package/test/reuse/ui5/userInteraction/clearAndFill.spec.js +28 -29
  423. package/test/reuse/ui5/userInteraction/clearAndFillAndRetry.spec.js +4 -12
  424. package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInput.spec.js +20 -19
  425. package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInputAndRetry.spec.js +5 -7
  426. package/test/reuse/ui5/userInteraction/clearAndRetry.spec.js +11 -16
  427. package/test/reuse/ui5/userInteraction/click.spec.js +90 -29
  428. package/test/reuse/ui5/userInteraction/clickAndRetry.spec.js +1 -3
  429. package/test/reuse/ui5/userInteraction/clickSelectArrow.spec.js +29 -30
  430. package/test/reuse/ui5/userInteraction/clickSelectArrowAndRetry.spec.js +1 -3
  431. package/test/reuse/ui5/userInteraction/doubleClick.spec.js +18 -22
  432. package/test/reuse/ui5/userInteraction/dragAndDrop.spec.js +8 -10
  433. package/test/reuse/ui5/userInteraction/fill.spec.js +20 -22
  434. package/test/reuse/ui5/userInteraction/fillAndRetry.spec.js +2 -6
  435. package/test/reuse/ui5/userInteraction/mouseOverElement.spec.js +2 -5
  436. package/test/reuse/ui5/userInteraction/openF4Help.spec.js +8 -12
  437. package/test/reuse/ui5/userInteraction/openValueHelp.spec.js +11 -12
  438. package/test/reuse/ui5/userInteraction/rightClick.spec.js +17 -20
  439. package/test/reuse/ui5/userInteraction/scrollToElement.spec.js +38 -38
  440. package/test/reuse/ui5/userInteraction/searchFor.spec.js +3 -12
  441. package/test/reuse/ui5/userInteraction/selectBox.spec.js +36 -36
  442. package/test/reuse/ui5/userInteraction/selectCombobox.spec.js +16 -24
  443. package/test/reuse/ui5/userInteraction/selectMultiComboBox.spec.js +22 -31
  444. package/test/reuse/util/browser/back.spec.js +10 -11
  445. package/test/reuse/util/browser/clearBrowser.spec.js +1 -1
  446. package/test/reuse/util/browser/executeScript.spec.js +14 -16
  447. package/test/reuse/util/browser/getBaseUrl.spec.js +1 -1
  448. package/test/reuse/util/browser/getBrowserName.spec.js +1 -3
  449. package/test/reuse/util/browser/getCurrentUrl.spec.js +9 -9
  450. package/test/reuse/util/browser/getCurrentWindow.spec.js +1 -1
  451. package/test/reuse/util/browser/getUI5Version.spec.js +8 -8
  452. package/test/reuse/util/browser/log.spec.js +1 -3
  453. package/test/reuse/util/browser/logCurrentUrl.spec.js +1 -1
  454. package/test/reuse/util/browser/refresh.spec.js +14 -16
  455. package/test/reuse/util/browser/reloadSession.spec.js +1 -1
  456. package/test/reuse/util/browser/setBaseUrl.spec.js +2 -2
  457. package/test/reuse/util/browser/switchToDefaultContent.spec.js +28 -29
  458. package/test/reuse/util/browser/switchToWindow.spec.js +2 -3
  459. package/test/reuse/util/browser/test.browserCmndLineArgs.conf.js +1 -3
  460. package/test/reuse/util/browser/waitUntil.spec.js +8 -16
  461. package/test/reuse/util/component/loadEntryPoint.spec.js +2 -3
  462. package/test/reuse/util/component/storeEntryPoint.spec.js +6 -10
  463. package/test/reuse/util/component/test.component.conf.js +1 -4
  464. package/test/reuse/util/console/console.spec.js +1 -3
  465. package/test/reuse/util/console/test.console.conf.js +2 -4
  466. package/test/reuse/util/data/customSourceData/getSecureData.secure.json +1 -1
  467. package/test/reuse/util/data/customSourceData/test.json +1 -1
  468. package/test/reuse/util/data/data/test.json +1 -1
  469. package/test/reuse/util/data/getData.spec.js +3 -7
  470. package/test/reuse/util/data/test.data.conf.js +1 -5
  471. package/test/reuse/util/data/test.data.privacy.conf.js +1 -7
  472. package/test/reuse/util/file/getAttributeValuesFromJson.spec.js +1 -1
  473. package/test/reuse/util/file/getFileNamesByExtensions.spec.js +0 -1
  474. package/test/reuse/util/file/pdfParser.spec.js +76 -80
  475. package/test/reuse/util/file/test.file.conf.js +2 -1
  476. package/test/reuse/util/file/testFiles/test1.json +26 -77
  477. package/test/reuse/util/file/upload.spec.js +24 -29
  478. package/test/reuse/util/formatter/addRemoveLeadingZeros.spec.js +1 -2
  479. package/test/reuse/util/formatter/formatDate.spec.js +2 -2
  480. package/test/reuse/util/formatter/formatDateWithTime.spec.js +6 -2
  481. package/test/reuse/util/formatter/sliceStringAfter.spec.js +1 -1
  482. package/test/reuse/util/formatter/sliceStringAt.spec.js +1 -1
  483. package/test/reuse/util/formatter/stringifyJSON.spec.js +4 -4
  484. package/test/reuse/util/formatter/test.formatter.conf.js +2 -2
  485. package/test/reuse/util/system/system.spec.js +1 -3
  486. package/test/reuse/util/system/test.system.conf.js +3 -5
  487. package/test/reuse/util/userSettings/data/data.json +1 -1
  488. package/test/reuse/util/userSettings/getDateFormatFromUserSettings.spec.js +0 -2
  489. package/test/reuse/util/userSettings/getLanguageFromUserSettings.spec.js +0 -1
  490. package/test/reuse/util/userSettings/getTimeFormatFromUserSettings.spec.js +0 -3
  491. package/test/reuse/util/userSettings/getTimeZoneFromUserSettings.spec.js +0 -2
  492. package/test/reuse/util/userSettings/setDateFormatFromUserSettings.spec.js +0 -2
  493. package/test/reuse/util/userSettings/setLanguageFromUserSettings.spec.js +0 -2
  494. package/test/reuse/util/userSettings/setNumberFormatFromUserSettings.spec.js +1 -3
  495. package/test/reuse/util/userSettings/setS4UserSettings.spec.js +0 -2
  496. package/test/reuse/util/userSettings/setTimeFormatFromUserSettings.spec.js +0 -3
  497. package/test/reuse/util/userSettings/setTimeZoneFromUserSettings.spec.js +0 -2
  498. package/test/reuse/util/userSettings/test.userSettings.apply.conf.js +1 -3
  499. package/test/unit/stats/getUserId.error.spec.ts +3 -1
  500. package/test/unit/stats/getUserId.spec.ts +10 -10
  501. package/test/unit/vitest.config.ts +2 -2
  502. package/test/watchMode/config.js +1 -3
  503. package/test/watchMode/navigateToUrlAndClick.spec.js +7 -7
  504. package/tsconfig.json +1 -4
  505. package/lib/reuse/modules/mobile/Mobile.d.ts +0 -16
  506. package/lib/reuse/modules/mobile/Mobile.js +0 -23
  507. package/lib/reuse/modules/mobile/Mobile.js.map +0 -1
  508. package/lib/reuse/modules/mobile/android.d.ts +0 -32
  509. package/lib/reuse/modules/mobile/android.js +0 -85
  510. package/lib/reuse/modules/mobile/android.js.map +0 -1
  511. package/lib/reuse/modules/mobile/device.d.ts +0 -173
  512. package/lib/reuse/modules/mobile/device.js +0 -403
  513. package/lib/reuse/modules/mobile/device.js.map +0 -1
  514. package/lib/reuse/modules/mobile/element.d.ts +0 -95
  515. package/lib/reuse/modules/mobile/element.js +0 -185
  516. package/lib/reuse/modules/mobile/element.js.map +0 -1
  517. package/lib/reuse/modules/mobile/gestures.d.ts +0 -42
  518. package/lib/reuse/modules/mobile/gestures.js +0 -86
  519. package/lib/reuse/modules/mobile/gestures.js.map +0 -1
  520. package/lib/reuse/modules/mobile/ios.d.ts +0 -10
  521. package/lib/reuse/modules/mobile/ios.js +0 -19
  522. package/lib/reuse/modules/mobile/ios.js.map +0 -1
  523. package/lib/reuse/modules/mobile/userInteraction.d.ts +0 -94
  524. package/lib/reuse/modules/mobile/userInteraction.js +0 -210
  525. package/lib/reuse/modules/mobile/userInteraction.js.map +0 -1
  526. package/test/helper/configurations/mobile.conf.js +0 -16
@@ -3,22 +3,21 @@ const { BASE_URL } = require("../../../../src/reuse/constants.ts");
3
3
  const { handleCookiesConsent } = require("../../../helper/utils");
4
4
 
5
5
  describe("webdriver.io page locator test", function () {
6
-
7
6
  it("should access element by elementProperties, descendantProperties and inner descendantProperties", async function () {
8
7
  await browser.navigateTo(`${BASE_URL}/#/entity/sap.m.Button/sample/sap.m.sample.Button`);
9
8
  await handleCookiesConsent();
10
9
  await util.browser.switchToIframe("[id='sampleFrame']");
11
10
 
12
11
  const backButtonProperties = {
13
- "elementProperties": {
14
- "viewName": "sap.m.sample.Button.Page",
15
- "metadata": "sap.m.Button",
16
- "type": "Back"
12
+ elementProperties: {
13
+ viewName: "sap.m.sample.Button.Page",
14
+ metadata: "sap.m.Button",
15
+ type: "Back"
17
16
  },
18
- "descendantProperties": {
19
- "viewName": "sap.m.sample.Button.Page",
20
- "metadata": "sap.ui.core.Icon",
21
- "src": "sap-icon://nav-back"
17
+ descendantProperties: {
18
+ viewName: "sap.m.sample.Button.Page",
19
+ metadata: "sap.ui.core.Icon",
20
+ src: "sap-icon://nav-back"
22
21
  }
23
22
  };
24
23
 
@@ -28,14 +27,14 @@ describe("webdriver.io page locator test", function () {
28
27
 
29
28
  // Use nested ancestorProperties
30
29
  const backButtonWithNestedDescendantProperties = {
31
- "elementProperties": {
32
- "viewName": "sap.m.sample.Button.Page",
33
- "metadata": "sap.m.Button",
34
- "type": "Back",
35
- "descendantProperties": {
36
- "viewName": "sap.m.sample.Button.Page",
37
- "metadata": "sap.ui.core.Icon",
38
- "src": "sap-icon://nav-back"
30
+ elementProperties: {
31
+ viewName: "sap.m.sample.Button.Page",
32
+ metadata: "sap.m.Button",
33
+ type: "Back",
34
+ descendantProperties: {
35
+ viewName: "sap.m.sample.Button.Page",
36
+ metadata: "sap.ui.core.Icon",
37
+ src: "sap-icon://nav-back"
39
38
  }
40
39
  }
41
40
  };
@@ -54,10 +53,10 @@ describe("webdriver.io page locator test", function () {
54
53
  it("should access element(s) by descendantProperties", async function () {
55
54
  await browser.url("#/categories");
56
55
  const ui5ControlProperties = {
57
- "descendantProperties": {
58
- "viewName": "sap.ui.demo.cart.view.Home",
59
- "metadata": "sap.m.List",
60
- "id": "*categoryList"
56
+ descendantProperties: {
57
+ viewName: "sap.ui.demo.cart.view.Home",
58
+ metadata: "sap.m.List",
59
+ id: "*categoryList"
61
60
  }
62
61
  };
63
62
 
@@ -67,8 +66,7 @@ describe("webdriver.io page locator test", function () {
67
66
  // expect(elems).toBeElementsArrayOfSize({ gte: 1 });
68
67
 
69
68
  // Code after fixes:
70
- await expect(browser.uiControls(ui5ControlProperties, 1, 1000))
71
- .rejects.toThrowError(/No visible elements found/);
69
+ await expect(browser.uiControls(ui5ControlProperties, 1, 1000)).rejects.toThrowError(/No visible elements found/);
72
70
  });
73
71
 
74
72
  it("should access element by element properties and descendant properties", async function () {
@@ -77,14 +75,14 @@ describe("webdriver.io page locator test", function () {
77
75
  await util.browser.switchToIframe("[id='sampleFrame']");
78
76
 
79
77
  const ui5ControlProperties = {
80
- "elementProperties": {
81
- "metadata": "sap.m.FlexItemData",
82
- "viewName": "sap.m.sample.Button.Page"
78
+ elementProperties: {
79
+ metadata: "sap.m.FlexItemData",
80
+ viewName: "sap.m.sample.Button.Page"
83
81
  },
84
- "descendantProperties": {
85
- "viewName": "sap.m.sample.Button.Page",
86
- "metadata": "sap.m.Button",
87
- "text": "Default"
82
+ descendantProperties: {
83
+ viewName: "sap.m.sample.Button.Page",
84
+ metadata: "sap.m.Button",
85
+ text: "Default"
88
86
  }
89
87
  };
90
88
  const elem = await browser.uiControl(ui5ControlProperties);
@@ -97,14 +95,13 @@ describe("webdriver.io page locator test", function () {
97
95
  it("try access element by wrong descendant properties and catch error", async function () {
98
96
  await browser.url("#/categories");
99
97
  const wrongProperties = {
100
- "descendantProperties": {
101
- "viewName": "sapcart.view.App",
102
- "metadata": "sap.ui.core.mvc.XMLView",
103
- "displayBlock": "true"
98
+ descendantProperties: {
99
+ viewName: "sapcart.view.App",
100
+ metadata: "sap.ui.core.mvc.XMLView",
101
+ displayBlock: "true"
104
102
  }
105
103
  };
106
- await expect(browser.uiControl(wrongProperties, 1, 1000))
107
- .rejects.toThrowError(/No visible elements found/);
104
+ await expect(browser.uiControl(wrongProperties, 1, 1000)).rejects.toThrowError(/No visible elements found/);
108
105
  });
109
106
 
110
107
  it("should access element by elementProperties and multiple descendantProperties as array - AND (happy case)", async function () {
@@ -114,13 +111,13 @@ describe("webdriver.io page locator test", function () {
114
111
 
115
112
  // The toolbar contains both a "Default" button and a "Reject" button as descendants - both must match
116
113
  const selector = {
117
- "elementProperties": {
118
- "viewName": "sap.m.sample.Button.Page",
119
- "metadata": "sap.m.Toolbar"
114
+ elementProperties: {
115
+ viewName: "sap.m.sample.Button.Page",
116
+ metadata: "sap.m.Toolbar"
120
117
  },
121
- "descendantProperties": [
122
- { "viewName": "sap.m.sample.Button.Page", "metadata": "sap.m.Button", "text": "Default" },
123
- { "viewName": "sap.m.sample.Button.Page", "metadata": "sap.m.Button", "text": "Reject" }
118
+ descendantProperties: [
119
+ { viewName: "sap.m.sample.Button.Page", metadata: "sap.m.Button", text: "Default" },
120
+ { viewName: "sap.m.sample.Button.Page", metadata: "sap.m.Button", text: "Reject" }
124
121
  ]
125
122
  };
126
123
  const elem = await browser.uiControl(selector);
@@ -134,17 +131,16 @@ describe("webdriver.io page locator test", function () {
134
131
 
135
132
  // Second entry has a non-existent text - AND logic means the whole selector fails
136
133
  const selector = {
137
- "elementProperties": {
138
- "viewName": "sap.m.sample.Button.Page",
139
- "metadata": "sap.m.Toolbar"
134
+ elementProperties: {
135
+ viewName: "sap.m.sample.Button.Page",
136
+ metadata: "sap.m.Toolbar"
140
137
  },
141
- "descendantProperties": [
142
- { "viewName": "sap.m.sample.Button.Page", "metadata": "sap.m.Button", "text": "Default" },
143
- { "viewName": "sap.m.sample.Button.Page", "metadata": "sap.m.Button", "text": "this-button-does-not-exist" }
138
+ descendantProperties: [
139
+ { viewName: "sap.m.sample.Button.Page", metadata: "sap.m.Button", text: "Default" },
140
+ { viewName: "sap.m.sample.Button.Page", metadata: "sap.m.Button", text: "this-button-does-not-exist" }
144
141
  ]
145
142
  };
146
- await expect(browser.uiControl(selector, 0, 1000))
147
- .rejects.toThrowError(/No visible elements found/);
143
+ await expect(browser.uiControl(selector, 0, 1000)).rejects.toThrowError(/No visible elements found/);
148
144
  });
149
145
 
150
146
  it("should return multiple elements when multiple parents each satisfy array descendantProperties - AND (multiple results)", async function () {
@@ -155,16 +151,13 @@ describe("webdriver.io page locator test", function () {
155
151
  // Multiple FlexItemData elements exist on this page (one per button).
156
152
  // Using a single-entry array exercises the array code path and should return all FlexItemData with a Button descendant.
157
153
  const selector = {
158
- "elementProperties": {
159
- "viewName": "sap.m.sample.Button.Page",
160
- "metadata": "sap.m.FlexItemData"
154
+ elementProperties: {
155
+ viewName: "sap.m.sample.Button.Page",
156
+ metadata: "sap.m.FlexItemData"
161
157
  },
162
- "descendantProperties": [
163
- { "viewName": "sap.m.sample.Button.Page", "metadata": "sap.m.Button" }
164
- ]
158
+ descendantProperties: [{ viewName: "sap.m.sample.Button.Page", metadata: "sap.m.Button" }]
165
159
  };
166
160
  const elems = await browser.uiControls(selector);
167
161
  expect(elems.length).toBeGreaterThan(1);
168
162
  });
169
-
170
163
  });
@@ -1,22 +1,21 @@
1
1
  /* eslint-disable no-unused-expressions */
2
2
  describe("webdriver.io page locator test", function () {
3
-
4
3
  this.beforeAll(async () => {
5
4
  await browser.url("#/categories");
6
5
  });
7
6
 
8
7
  it("should access element by elementProperties and inner domProperties", async function () {
9
8
  const ui5ControlDomProperties = {
10
- "elementProperties": {
11
- "viewName": "sap.ui.demo.cart.view.Home",
12
- "metadata": "sap.m.StandardListItem",
13
- "bindingContextPath": "/ProductCategories*'AC')"
9
+ elementProperties: {
10
+ viewName: "sap.ui.demo.cart.view.Home",
11
+ metadata: "sap.m.StandardListItem",
12
+ bindingContextPath: "/ProductCategories*'AC')"
14
13
  },
15
- "domProperties": {
16
- "nodeName": "li",
17
- "class": "sapMLIB sapMLIB-CTX sapMLIBShowSeparator sapMLIBTypeActive sapMLIBActionable sapMLIBFocusable sapMSLI sapMLIBHoverable",
18
- "id": "__item1-container-cart---homeView--categoryList-0",
19
- "title": "Open category Accessories"
14
+ domProperties: {
15
+ nodeName: "li",
16
+ class: "sapMLIB sapMLIB-CTX sapMLIBShowSeparator sapMLIBTypeActive sapMLIBActionable sapMLIBFocusable sapMSLI sapMLIBHoverable",
17
+ id: "__item1-container-cart---homeView--categoryList-0",
18
+ title: "Open category Accessories"
20
19
  }
21
20
  };
22
21
 
@@ -27,34 +26,31 @@ describe("webdriver.io page locator test", function () {
27
26
 
28
27
  it("should access element only by domProperties (unhappy case)", async function () {
29
28
  const selectorWithoutElementProperties = {
30
- "domProperties": {
31
- "nodeName": "li",
32
- "class": "sapMLIB sapMLIB-CTX sapMLIBShowSeparator sapMLIBTypeActive sapMLIBActionable sapMLIBFocusable sapMSLI sapMLIBHoverable",
33
- "id": "__item1-container-cart---homeView--categoryList-0",
34
- "title": "Open category Accessories"
29
+ domProperties: {
30
+ nodeName: "li",
31
+ class: "sapMLIB sapMLIB-CTX sapMLIBShowSeparator sapMLIBTypeActive sapMLIBActionable sapMLIBFocusable sapMSLI sapMLIBHoverable",
32
+ id: "__item1-container-cart---homeView--categoryList-0",
33
+ title: "Open category Accessories"
35
34
  }
36
35
  };
37
36
 
38
- await expect(browser.uiControl(selectorWithoutElementProperties))
39
- .rejects.toThrow(/No visible elements found/);
37
+ await expect(browser.uiControl(selectorWithoutElementProperties)).rejects.toThrow(/No visible elements found/);
40
38
  });
41
39
 
42
40
  it("try access element by element properties, wrong dom properties and catch error", async function () {
43
41
  const wrongProperties = {
44
- "elementProperties": {
45
- "viewName": "sap.ui.demo.cart.view.Home",
46
- "metadata": "sap.m.StandardListItem",
47
- "bindingContextPath": "/ProductCategories*'AC')",
48
- "domProperties": {
49
- "nodeName": "div",
50
- "class": "sapMLIB sapMLIB-CTX sapMLIBShowSeparator sapMLIBTypeActive sapMLIBActionable sapMLIBFocusable sapMSLI sapMLIBHoverable",
51
- "id": "__item1-container-cart---homeView--categoryList-0",
52
- "title": "Open category Accessories"
42
+ elementProperties: {
43
+ viewName: "sap.ui.demo.cart.view.Home",
44
+ metadata: "sap.m.StandardListItem",
45
+ bindingContextPath: "/ProductCategories*'AC')",
46
+ domProperties: {
47
+ nodeName: "div",
48
+ class: "sapMLIB sapMLIB-CTX sapMLIBShowSeparator sapMLIBTypeActive sapMLIBActionable sapMLIBFocusable sapMSLI sapMLIBHoverable",
49
+ id: "__item1-container-cart---homeView--categoryList-0",
50
+ title: "Open category Accessories"
53
51
  }
54
52
  }
55
53
  };
56
- await expect(browser.uiControl(wrongProperties))
57
- .rejects.toThrowError(/No visible elements found/);
54
+ await expect(browser.uiControl(wrongProperties)).rejects.toThrowError(/No visible elements found/);
58
55
  });
59
-
60
56
  });
@@ -8,8 +8,8 @@ describe("webdriver.io access to element via elementProperties test", function (
8
8
 
9
9
  it("should access element by id", async function () {
10
10
  const categoryListElementProperties = {
11
- "elementProperties": {
12
- "id": "*categoryList-0"
11
+ elementProperties: {
12
+ id: "*categoryList-0"
13
13
  }
14
14
  };
15
15
  const categoryListElement = await browser.uiControl(categoryListElementProperties, 0, 60000);
@@ -30,8 +30,8 @@ describe("webdriver.io access to element via elementProperties test", function (
30
30
 
31
31
  it("should access element by binding context", async function () {
32
32
  const ui5ControlProperties = {
33
- "elementProperties": {
34
- "bindingContextPath": "/ProductCategories('AC')"
33
+ elementProperties: {
34
+ bindingContextPath: "/ProductCategories('AC')"
35
35
  }
36
36
  };
37
37
  const categoryListElement = await browser.uiControl(ui5ControlProperties, 0, 60000);
@@ -49,10 +49,10 @@ describe("webdriver.io access to element via elementProperties test", function (
49
49
 
50
50
  it("should access element by viewName, metadata, bindingContextPath, text->path and fail to click non-clickable element", async function () {
51
51
  const ui5ControlProperties = {
52
- "elementProperties": {
53
- "viewName": "sap.ui.demo.cart.view.Home",
54
- "metadata": "sap.m.StandardListItem",
55
- "bindingContextPath": "/ProductCategories*'DC')"
52
+ elementProperties: {
53
+ viewName: "sap.ui.demo.cart.view.Home",
54
+ metadata: "sap.m.StandardListItem",
55
+ bindingContextPath: "/ProductCategories*'DC')"
56
56
  }
57
57
  };
58
58
  const element = await browser.uiControl(ui5ControlProperties, 0, 60000);
@@ -62,13 +62,15 @@ describe("webdriver.io access to element via elementProperties test", function (
62
62
  await element.click();
63
63
 
64
64
  const compareLinkProperties = {
65
- "elementProperties": {
66
- "viewName": "sap.ui.demo.cart.view.Category",
67
- "metadata": "sap.m.ObjectAttribute",
68
- "bindingContextPath": "/Products*'HT-1600')",
69
- "text": [{
70
- "path": "i18n>CompareWith"
71
- }]
65
+ elementProperties: {
66
+ viewName: "sap.ui.demo.cart.view.Category",
67
+ metadata: "sap.m.ObjectAttribute",
68
+ bindingContextPath: "/Products*'HT-1600')",
69
+ text: [
70
+ {
71
+ path: "i18n>CompareWith"
72
+ }
73
+ ]
72
74
  }
73
75
  };
74
76
  const link = await browser.uiControl(compareLinkProperties, 0, 60000);
@@ -83,10 +85,10 @@ describe("webdriver.io access to element via elementProperties test", function (
83
85
 
84
86
  // Check that without text->path cannot get unique element: without 'text->path' we can access to a link and a Product (2 elements)
85
87
  const productLinksProperties = {
86
- "elementProperties": {
87
- "viewName": "sap.ui.demo.cart.view.Category",
88
- "metadata": "sap.m.ObjectAttribute",
89
- "bindingContextPath": "/Products*'HT-1600')"
88
+ elementProperties: {
89
+ viewName: "sap.ui.demo.cart.view.Category",
90
+ metadata: "sap.m.ObjectAttribute",
91
+ bindingContextPath: "/Products*'HT-1600')"
90
92
  }
91
93
  };
92
94
 
@@ -97,18 +99,17 @@ describe("webdriver.io access to element via elementProperties test", function (
97
99
  it("should fail because element is not available: timeout error", async function () {
98
100
  // Try to access 'Add to Cart' button, which is not available at the screen
99
101
  const nonAvailableButtonProperties = {
100
- "elementProperties": {
101
- "viewName": "sap.ui.demo.cart.view.Product",
102
- "metadata": "sap.m.Button",
103
- "text": [{
104
- "path": "i18n>addToCartShort"
105
- }]
102
+ elementProperties: {
103
+ viewName: "sap.ui.demo.cart.view.Product",
104
+ metadata: "sap.m.Button",
105
+ text: [
106
+ {
107
+ path: "i18n>addToCartShort"
108
+ }
109
+ ]
106
110
  }
107
111
  };
108
112
 
109
- await expect(browser.uiControl(nonAvailableButtonProperties, 0, 60000))
110
- .rejects.toThrowError(/No visible elements found/);
113
+ await expect(browser.uiControl(nonAvailableButtonProperties, 0, 60000)).rejects.toThrowError(/No visible elements found/);
111
114
  });
112
115
  });
113
-
114
-