@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
@@ -31,45 +31,49 @@ exports.config = merge(profile.config, {
31
31
  exclude: [],
32
32
 
33
33
  services: [
34
- ["static-server", {
35
- port: 34005,
36
- folders: [{
37
- mount: "/waitForElements.html",
38
- path: path.resolve(__dirname, "../../../helper/website/waitForElements.html")
39
- },
34
+ [
35
+ "static-server",
40
36
  {
41
- mount: "/buttons.html",
42
- path: path.resolve(__dirname, "../../../helper/website/buttons.html")
43
- },
44
- {
45
- mount: "/checkBox.html",
46
- path: path.resolve(__dirname, "../../../helper/website/checkBox.html")
47
- },
48
- {
49
- mount: "/dropdown.html",
50
- path: path.resolve(__dirname, "../../../helper/website/dropdown.html")
51
- },
52
- {
53
- mount: "/forms.html",
54
- path: path.resolve(__dirname, "../../../helper/website/forms.html")
55
- },
56
- {
57
- mount: "/scrollPage.html",
58
- path: path.resolve(__dirname, "../../../helper/website/scrollPage.html")
59
- },
60
- {
61
- mount: "/tables.html",
62
- path: path.resolve(__dirname, "../../../helper/website/tables.html")
63
- },
64
- {
65
- mount: "/dragAndDropWdioExample.html",
66
- path: path.resolve(__dirname, "../../../helper/website/dragAndDropWdioExample.html")
67
- },
68
- {
69
- mount: "/dragAndDropFailing.html",
70
- path: path.resolve(__dirname, "../../../helper/website/dragAndDropFailing.html")
37
+ port: 34005,
38
+ folders: [
39
+ {
40
+ mount: "/waitForElements.html",
41
+ path: path.resolve(__dirname, "../../../helper/website/waitForElements.html")
42
+ },
43
+ {
44
+ mount: "/buttons.html",
45
+ path: path.resolve(__dirname, "../../../helper/website/buttons.html")
46
+ },
47
+ {
48
+ mount: "/checkBox.html",
49
+ path: path.resolve(__dirname, "../../../helper/website/checkBox.html")
50
+ },
51
+ {
52
+ mount: "/dropdown.html",
53
+ path: path.resolve(__dirname, "../../../helper/website/dropdown.html")
54
+ },
55
+ {
56
+ mount: "/forms.html",
57
+ path: path.resolve(__dirname, "../../../helper/website/forms.html")
58
+ },
59
+ {
60
+ mount: "/scrollPage.html",
61
+ path: path.resolve(__dirname, "../../../helper/website/scrollPage.html")
62
+ },
63
+ {
64
+ mount: "/tables.html",
65
+ path: path.resolve(__dirname, "../../../helper/website/tables.html")
66
+ },
67
+ {
68
+ mount: "/dragAndDropWdioExample.html",
69
+ path: path.resolve(__dirname, "../../../helper/website/dragAndDropWdioExample.html")
70
+ },
71
+ {
72
+ mount: "/dragAndDropFailing.html",
73
+ path: path.resolve(__dirname, "../../../helper/website/dragAndDropFailing.html")
74
+ }
75
+ ]
71
76
  }
72
- ]
73
- }]
77
+ ]
74
78
  ]
75
- });
79
+ });
@@ -5,11 +5,8 @@ const profile = require("../../../helper/configurations/chrome.headless.conf");
5
5
  exports.config = merge(profile.config, {
6
6
  maxInstances: 6,
7
7
  specFileRetries: 2,
8
-
8
+
9
9
  baseUrl: "https://services.odata.org/v4/TripPinServiceRW/",
10
-
11
- specs: [
12
- path.resolve(__dirname, "getEntitySet.spec.js"),
13
- path.resolve(__dirname, "get.spec.js")
14
- ]
15
- });
10
+
11
+ specs: [path.resolve(__dirname, "getEntitySet.spec.js"), path.resolve(__dirname, "get.spec.js")]
12
+ });
@@ -25,4 +25,4 @@
25
25
  "profile": {
26
26
  "name": "marvin"
27
27
  }
28
- }
28
+ }
@@ -31,23 +31,16 @@ describe("service.rest.delete - expect to DELETE 444 as response", function () {
31
31
  it("Cleanup", async function () {
32
32
  await service.rest.post(`${browser.config.baseUrl}/posts`, originalPost, config);
33
33
  });
34
-
35
34
  });
36
35
 
37
36
  describe("service.rest.delete - expect DELETE request to fail with status code '404'", function () {
38
-
39
37
  it("Execution & Validation", async function () {
40
- await expect(service.rest.delete(`${browser.config.baseUrl}/posts/00`, config))
41
- .rejects.toThrow("Not Found - Request failed with status code 404");
38
+ await expect(service.rest.delete(`${browser.config.baseUrl}/posts/00`, config)).rejects.toThrow("Not Found - Request failed with status code 404");
42
39
  });
43
-
44
40
  });
45
41
 
46
42
  describe("service.rest.delete - Expect DELETE request to fail with 'Unauthorized - Request failed with status code 401'", function () {
47
-
48
43
  it("Execution & Validation", async function () {
49
- await expect(service.rest.delete(`${browser.config.baseUrl}/posts/${postId}`, invalidConfig))
50
- .rejects.toThrow("Unauthorized - Request failed with status code 401");
44
+ await expect(service.rest.delete(`${browser.config.baseUrl}/posts/${postId}`, invalidConfig)).rejects.toThrow("Unauthorized - Request failed with status code 401");
51
45
  });
52
-
53
- });
46
+ });
@@ -1,25 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  describe("service.rest.get - expect to GET 'qmate-service' as response", function () {
4
-
5
4
  it("Execution & Validation", async function () {
6
5
  const res = await service.rest.get(`${browser.config.baseUrl}/posts/99`);
7
6
  await common.assertion.expectEqual(res.data.title, "qmate-service");
8
7
  });
9
-
10
8
  });
11
9
 
12
10
  describe("service.rest.get - expect to GET request to fail with status code '404'", function () {
13
-
14
11
  it("Execution & Validation", async function () {
15
- await expect(service.rest.get(`${browser.config.baseUrl}/posts/00`))
16
- .rejects.toThrow("Not Found - Request failed with status code 404");
12
+ await expect(service.rest.get(`${browser.config.baseUrl}/posts/00`)).rejects.toThrow("Not Found - Request failed with status code 404");
17
13
  });
18
-
19
14
  });
20
15
 
21
16
  describe("service.rest.get - expect error stacktrace to contain spec name", function () {
22
-
23
17
  it("Execution & Validation", async function () {
24
18
  try {
25
19
  await service.rest.get(`${browser.config.baseUrl}/posts/00`);
@@ -27,5 +21,4 @@ describe("service.rest.get - expect error stacktrace to contain spec name", func
27
21
  await expect(error.stack).toMatch(/get\.spec\.js/);
28
22
  }
29
23
  });
30
-
31
- });
24
+ });
@@ -17,7 +17,6 @@ describe("service.rest.init - expect to do GET request with default axios instan
17
17
  const res = await axios.get(`${browser.config.baseUrl}/posts/99`);
18
18
  await common.assertion.expectEqual(res.data.title, "qmate-service");
19
19
  });
20
-
21
20
  });
22
21
 
23
22
  describe("service.rest.init - expect to do POST request with default axios instance", function () {
@@ -43,5 +42,4 @@ describe("service.rest.init - expect to do POST request with default axios insta
43
42
  it("Cleanup", async function () {
44
43
  await axios.delete(`${browser.config.baseUrl}/posts/${payload.id}`, config);
45
44
  });
46
-
47
45
  });
@@ -20,12 +20,12 @@ const invalidConfig = {
20
20
 
21
21
  describe("service.rest.patch - PATCH 'title' and 'author'", function () {
22
22
  let originalPost;
23
-
23
+
24
24
  it("Preparation", async function () {
25
25
  const res = await service.rest.get(`${browser.config.baseUrl}/posts/${payload.id}`);
26
26
  originalPost = res.data;
27
27
  });
28
-
28
+
29
29
  it("Execution & Validation", async function () {
30
30
  const res = await service.rest.patch(`${browser.config.baseUrl}/posts/${payload.id}`, payload, config);
31
31
  common.assertion.expectEqual(res.status, 200);
@@ -33,27 +33,20 @@ describe("service.rest.patch - PATCH 'title' and 'author'", function () {
33
33
  common.assertion.expectEqual(res.data.title, payload.title);
34
34
  common.assertion.expectEqual(res.data.author, payload.author);
35
35
  });
36
-
36
+
37
37
  it("Cleanup", async function () {
38
38
  await service.rest.patch(`${browser.config.baseUrl}/posts/${payload.id}`, originalPost, config);
39
39
  });
40
-
41
40
  });
42
41
 
43
42
  describe("service.rest.patch - PATCH against not existing entitySet", function () {
44
-
45
43
  it("Execution & Validation", async function () {
46
- await expect(service.rest.patch(`${browser.config.baseUrl}/notExistingEntitySet`, {}, config))
47
- .rejects.toThrow("Not Found - Request failed with status code 404");
44
+ await expect(service.rest.patch(`${browser.config.baseUrl}/notExistingEntitySet`, {}, config)).rejects.toThrow("Not Found - Request failed with status code 404");
48
45
  });
49
-
50
46
  });
51
47
 
52
48
  describe("service.rest.patch - Expect PATCH request to fail with 'Unauthorized - Request failed with status code 401'", function () {
53
-
54
49
  it("Execution & Validation", async function () {
55
- await expect(service.rest.patch(`${browser.config.baseUrl}/posts/${payload.id}`, payload, invalidConfig))
56
- .rejects.toThrow("Unauthorized - Request failed with status code 401");
50
+ await expect(service.rest.patch(`${browser.config.baseUrl}/posts/${payload.id}`, payload, invalidConfig)).rejects.toThrow("Unauthorized - Request failed with status code 401");
57
51
  });
58
-
59
52
  });
@@ -19,51 +19,40 @@ const invalidConfig = {
19
19
  };
20
20
 
21
21
  describe("service.rest.post - POST 'qmate-service' as a new entry", function () {
22
-
23
22
  it("Execution & Validation", async function () {
24
23
  const res = await service.rest.post(`${browser.config.baseUrl}/posts`, payload, config);
25
24
  common.assertion.expectEqual(res.status, 201);
26
25
  common.assertion.expectEqual(res.statusText, "Created");
27
26
  common.assertion.expectEqual(res.data.id, payload.id);
28
27
  });
29
-
28
+
30
29
  it("Cleanup", async function () {
31
30
  await service.rest.delete(`${browser.config.baseUrl}/posts/${payload.id}`, config);
32
31
  });
33
-
34
32
  });
35
33
 
36
34
  describe("service.rest.post - Expect POST request to fail with '500' due to duplicate id", function () {
37
-
38
35
  it("Preparation", async function () {
39
36
  await service.rest.post(`${browser.config.baseUrl}/posts`, payload, config);
40
37
  });
41
-
38
+
42
39
  it("Execution & Validation", async function () {
43
- await expect(service.rest.post(`${browser.config.baseUrl}/posts`, payload, config))
44
- .rejects.toThrow("Internal Server Error - Request failed with status code 500");
40
+ await expect(service.rest.post(`${browser.config.baseUrl}/posts`, payload, config)).rejects.toThrow("Internal Server Error - Request failed with status code 500");
45
41
  });
46
-
42
+
47
43
  it("Cleanup", async function () {
48
44
  await service.rest.delete(`${browser.config.baseUrl}/posts/${payload.id}`, config);
49
45
  });
50
-
51
46
  });
52
47
 
53
48
  describe("service.rest.post - POST against not existing entitySet", function () {
54
-
55
49
  it("Execution & Validation", async function () {
56
- await expect(service.rest.post(`${browser.config.baseUrl}/notExistingEntitySet`, {}, config))
57
- .rejects.toThrow("Not Found - Request failed with status code 404");
50
+ await expect(service.rest.post(`${browser.config.baseUrl}/notExistingEntitySet`, {}, config)).rejects.toThrow("Not Found - Request failed with status code 404");
58
51
  });
59
-
60
52
  });
61
53
 
62
54
  describe("service.rest.post - Expect POST request to fail with 'Unauthorized - Request failed with status code 401'", function () {
63
-
64
55
  it("Execution & Validation", async function () {
65
- await expect(service.rest.post(`${browser.config.baseUrl}/posts`, payload, invalidConfig))
66
- .rejects.toThrow("Unauthorized - Request failed with status code 401");
56
+ await expect(service.rest.post(`${browser.config.baseUrl}/posts`, payload, invalidConfig)).rejects.toThrow("Unauthorized - Request failed with status code 401");
67
57
  });
68
-
69
58
  });
@@ -12,47 +12,40 @@ const invalidConfig = {
12
12
  }
13
13
  };
14
14
  const payload = {
15
- "id": 222,
16
- "title": "qmate-service-updated-by-put",
17
- "author": "m4rv1n"
15
+ id: 222,
16
+ title: "qmate-service-updated-by-put",
17
+ author: "m4rv1n"
18
18
  };
19
19
 
20
20
  describe("service.rest.put", function () {
21
21
  let originalPost;
22
-
22
+
23
23
  it("Preparation", async function () {
24
24
  const res = await service.rest.get(`${browser.config.baseUrl}/posts/${payload.id}`);
25
25
  originalPost = res.data;
26
26
  });
27
-
28
- it("Execution & Validation", async function () {
27
+
28
+ it("Execution & Validation", async function () {
29
29
  const res = await service.rest.put(`${browser.config.baseUrl}/posts/${payload.id}`, payload, config);
30
30
  common.assertion.expectEqual(res.status, 200);
31
31
  common.assertion.expectEqual(res.statusText, "OK");
32
32
  common.assertion.expectEqual(res.data.title, payload.title);
33
33
  common.assertion.expectEqual(res.data.author, payload.author);
34
34
  });
35
-
35
+
36
36
  it("Cleanup", async function () {
37
37
  await service.rest.patch(`${browser.config.baseUrl}/posts/${payload.id}`, originalPost, config);
38
38
  });
39
-
40
39
  });
41
40
 
42
41
  describe("service.rest.put - PUT against not existing entitySet", function () {
43
-
44
42
  it("Execution & Validation", async function () {
45
- await expect(service.rest.put(`${browser.config.baseUrl}/notExistingEntitySet`, {}, config))
46
- .rejects.toThrow("Not Found - Request failed with status code 404");
43
+ await expect(service.rest.put(`${browser.config.baseUrl}/notExistingEntitySet`, {}, config)).rejects.toThrow("Not Found - Request failed with status code 404");
47
44
  });
48
-
49
45
  });
50
46
 
51
47
  describe("service.rest.put - Expect PUT request to fail with 'Unauthorized - Request failed with status code 401'", function () {
52
-
53
48
  it("Execution & Validation", async function () {
54
- await expect(service.rest.put(`${browser.config.baseUrl}/posts/${payload.id}`, payload, invalidConfig))
55
- .rejects.toThrow("Unauthorized - Request failed with status code 401");
49
+ await expect(service.rest.put(`${browser.config.baseUrl}/posts/${payload.id}`, payload, invalidConfig)).rejects.toThrow("Unauthorized - Request failed with status code 401");
56
50
  });
57
-
58
- });
51
+ });
@@ -18,12 +18,12 @@ function handle(signal) {
18
18
  process.exit();
19
19
  }
20
20
 
21
- let lastRequestTime = (new Date()).getTime();
21
+ let lastRequestTime = new Date().getTime();
22
22
 
23
23
  setInterval(() => {
24
24
  // if there are no requests for 60 seconds, shutdown gracefully
25
- const currentTime = (new Date()).getTime();
26
- if ((currentTime - lastRequestTime) > 60000 && server.listenerCount() == 0) {
25
+ const currentTime = new Date().getTime();
26
+ if (currentTime - lastRequestTime > 60000 && server.listenerCount() == 0) {
27
27
  process.exit();
28
28
  }
29
29
  }, 1000);
@@ -66,7 +66,7 @@ function checkAuthHeader(req, res) {
66
66
  }
67
67
  server.use(middlewares);
68
68
  server.use((req, res, next) => {
69
- lastRequestTime = (new Date()).getTime();
69
+ lastRequestTime = new Date().getTime();
70
70
  if (isAuthorized(req, res)) {
71
71
  next(); // continue to JSON Server router
72
72
  }
@@ -74,4 +74,4 @@ server.use((req, res, next) => {
74
74
  server.use(router);
75
75
  server.listen(3000, () => {
76
76
  console.log("JSON Server is running at port 3000");
77
- });
77
+ });
@@ -5,15 +5,8 @@ const profile = require("../../../helper/configurations/chrome.headless.conf");
5
5
  exports.config = merge(profile.config, {
6
6
  maxInstances: 3,
7
7
  specFileRetries: 2,
8
-
8
+
9
9
  baseUrl: "http://localhost:3000",
10
-
11
- specs: [
12
- path.resolve(__dirname, "post.spec.js"),
13
- path.resolve(__dirname, "get.spec.js"),
14
- path.resolve(__dirname, "init.spec.js"),
15
- path.resolve(__dirname, "patch.spec.js"),
16
- path.resolve(__dirname, "put.spec.js"),
17
- path.resolve(__dirname, "delete.spec.js")
18
- ]
19
- });
10
+
11
+ specs: [path.resolve(__dirname, "post.spec.js"), path.resolve(__dirname, "get.spec.js"), path.resolve(__dirname, "init.spec.js"), path.resolve(__dirname, "patch.spec.js"), path.resolve(__dirname, "put.spec.js"), path.resolve(__dirname, "delete.spec.js")]
12
+ });
@@ -1,21 +1,19 @@
1
1
  "use strict";
2
- let selector;
3
2
 
4
3
  describe("assertion - expectAttributeToBe: title to be 'Laptops' (string)", function () {
4
+ const selector = {
5
+ elementProperties: {
6
+ viewName: "sap.ui.demo.cart.view.Home",
7
+ metadata: "sap.m.StandardListItem",
8
+ bindingContextPath: "/ProductCategories*'LT')"
9
+ }
10
+ };
5
11
 
6
12
  it("Preparation", async function () {
7
13
  await browser.url("#/categories");
8
14
  });
9
15
 
10
16
  it("Execution", async function () {
11
- selector = {
12
- "elementProperties": {
13
- "viewName": "sap.ui.demo.cart.view.Home",
14
- "metadata": "sap.m.StandardListItem",
15
- "bindingContextPath": "/ProductCategories*'LT')"
16
- }
17
- };
18
-
19
17
  });
20
18
 
21
19
  it("Verification", async function () {
@@ -25,52 +23,48 @@ describe("assertion - expectAttributeToBe: title to be 'Laptops' (string)", func
25
23
  });
26
24
 
27
25
  describe("assertion - expectAttributeToBe wrong/null/undefined", function () {
26
+ const selector = {
27
+ elementProperties: {
28
+ viewName: "sap.ui.demo.cart.view.Home",
29
+ metadata: "sap.m.StandardListItem",
30
+ bindingContextPath: "/ProductCategories*'LT')"
31
+ }
32
+ };
28
33
 
29
34
  it("Preparation", async function () {
30
35
  await browser.url("#/categories");
31
36
  });
32
37
 
33
38
  it("Execution", async function () {
34
- selector = {
35
- "elementProperties": {
36
- "viewName": "sap.ui.demo.cart.view.Home",
37
- "metadata": "sap.m.StandardListItem",
38
- "bindingContextPath": "/ProductCategories*'LT')"
39
- }
40
- };
41
39
  });
42
40
 
43
41
  it("Verification", async function () {
44
- await expect(ui5.assertion.expectAttributeToBe(selector, "title", "Laptop"))
45
- .rejects.toThrow(/Expect\w+|\d+Laptop\w+|\d+Received\w+|\d+laptops/);
42
+ await expect(ui5.assertion.expectAttributeToBe(selector, "title", "Laptop")).rejects.toThrow(/Expect\w+|\d+Laptop\w+|\d+Received\w+|\d+laptops/);
46
43
 
47
- await expect(ui5.assertion.expectAttributeToBe(selector, "title"))
48
- .rejects.toThrowError(/Expect\w+|\d+undefined\w+|\d+Received\w+|\d+laptops/);
44
+ await expect(ui5.assertion.expectAttributeToBe(selector, "title")).rejects.toThrowError(/Expect\w+|\d+undefined\w+|\d+Received\w+|\d+laptops/);
49
45
 
50
- await expect(ui5.assertion.expectAttributeToBe(selector, "title", null))
51
- .rejects.toThrow(/Expect\w+|\d+null\w+|\d+Received\w+|\d+laptops/);
46
+ await expect(ui5.assertion.expectAttributeToBe(selector, "title", null)).rejects.toThrow(/Expect\w+|\d+null\w+|\d+Received\w+|\d+laptops/);
52
47
 
53
- await expect(ui5.assertion.expectAttributeToBe(selector, "title", undefined))
54
- .rejects.toThrow(/Expect\w+|\d+undefined\w+|\d+Received\w+|\d+laptops/);
48
+ await expect(ui5.assertion.expectAttributeToBe(selector, "title", undefined)).rejects.toThrow(/Expect\w+|\d+undefined\w+|\d+Received\w+|\d+laptops/);
55
49
 
56
- await expect(ui5.assertion.expectAttributeToBe(selector, "title", ""))
57
- .rejects.toThrow(/Expect\w+|\d+\w+|\d+Received\w+|\d+laptops/);
50
+ await expect(ui5.assertion.expectAttributeToBe(selector, "title", "")).rejects.toThrow(/Expect\w+|\d+\w+|\d+Received\w+|\d+laptops/);
58
51
  });
59
52
  });
60
53
 
61
54
  describe("assertion - expectAttributeToBe: 'visible' of the listItem to be true (boolean and as string)", function () {
55
+ const selector = {
56
+ elementProperties: {
57
+ viewName: "sap.ui.demo.cart.view.Home",
58
+ metadata: "sap.m.StandardListItem",
59
+ bindingContextPath: "/ProductCategories*'LT')"
60
+ }
61
+ };
62
+
62
63
  it("Preparation", async function () {
63
64
  await browser.url("#/categories");
64
65
  });
65
66
 
66
67
  it("Execution", async function () {
67
- selector = {
68
- "elementProperties": {
69
- "viewName": "sap.ui.demo.cart.view.Home",
70
- "metadata": "sap.m.StandardListItem",
71
- "bindingContextPath": "/ProductCategories*'LT')"
72
- }
73
- };
74
68
  });
75
69
 
76
70
  it("Verification", async function () {
@@ -81,20 +75,19 @@ describe("assertion - expectAttributeToBe: 'visible' of the listItem to be true
81
75
  });
82
76
 
83
77
  describe("assertion - expectAttributeToBe: 'busyIndicatorDelay' of the listItem to be 1000 (number and as string)", function () {
78
+ const selector = {
79
+ elementProperties: {
80
+ viewName: "sap.ui.demo.cart.view.Home",
81
+ metadata: "sap.m.StandardListItem",
82
+ bindingContextPath: "/ProductCategories*'LT')"
83
+ }
84
+ };
84
85
 
85
86
  it("Preparation", async function () {
86
87
  await browser.url("#/categories");
87
88
  });
88
89
 
89
90
  it("Execution", async function () {
90
- selector = {
91
- "elementProperties": {
92
- "viewName": "sap.ui.demo.cart.view.Home",
93
- "metadata": "sap.m.StandardListItem",
94
- "bindingContextPath": "/ProductCategories*'LT')"
95
- }
96
- };
97
-
98
91
  });
99
92
  it("Verification", async function () {
100
93
  await ui5.assertion.expectAttributeToBe(selector, "busyIndicatorDelay", 1000);
@@ -103,4 +96,46 @@ describe("assertion - expectAttributeToBe: 'busyIndicatorDelay' of the listItem
103
96
  });
104
97
  });
105
98
 
106
- // TODO: add check for 'enabled' parameter
99
+ describe("assertion - expectAttributeToBe: 'text' is a text with special spaces characters", function () {
100
+ const specialSpacesString = "-\u00A0-\u2002-\u2003-\u2007-\u2009-\u202F-";
101
+ const normalizedString = "- - - - - - -";
102
+ const selector = {
103
+ elementProperties: {
104
+ metadata: "sap.m.Title",
105
+ id: "container-cart---homeView--page-title"
106
+ }
107
+ };
108
+
109
+ it("Preparation", async function () {
110
+ await browser.url("#/categories");
111
+ await browser.uiControls(selector);
112
+ await browser.execute(`sap.ui.getCore().byId("${selector.elementProperties.id}").setText("${specialSpacesString}")`);
113
+ });
114
+
115
+ it("Execution && Verification", async function () {
116
+ await ui5.assertion.expectAttributeToBe(selector, "text", normalizedString);
117
+ });
118
+ });
119
+
120
+ describe("assertion - expectAttributeToBe: 'text' is a text with invisible characters", function () {
121
+ const invisibleCharacters = "-\u200B-\u200C-\u200D-\uFEFF-";
122
+ const normalizedString = "-----";
123
+ const selector = {
124
+ elementProperties: {
125
+ metadata: "sap.m.Title",
126
+ id: "container-cart---homeView--page-title"
127
+ }
128
+ };
129
+
130
+ it("Preparation", async function () {
131
+ await browser.url("#/categories");
132
+ await browser.uiControls(selector);
133
+ await browser.execute(`sap.ui.getCore().byId("${selector.elementProperties.id}").setText("${invisibleCharacters}")`);
134
+ });
135
+
136
+ it("Execution && Verification", async function () {
137
+ await ui5.assertion.expectAttributeToBe(selector, "text", normalizedString);
138
+ });
139
+ });
140
+
141
+ // TODO: add check for 'enabled' parameter