@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.
- package/.eslintrc.yml +4 -4
- package/.prettierrc.json +7 -7
- package/CLAUDE.md +10 -10
- package/CONTRIBUTING.md +1 -1
- package/README.md +6 -2
- package/lib/reuse/authenticator/authConfig.js +3 -3
- package/lib/reuse/authenticator/authConfig.js.map +1 -1
- package/lib/reuse/authenticator/authHandler.js +0 -2
- package/lib/reuse/authenticator/authHandler.js.map +1 -1
- package/lib/reuse/authenticator/basicUrlAuthenticator.js.map +1 -1
- package/lib/reuse/authenticator/customAuthenticator.js +1 -3
- package/lib/reuse/authenticator/customAuthenticator.js.map +1 -1
- package/lib/reuse/authenticator/formAuthenticator.js +1 -3
- package/lib/reuse/authenticator/formAuthenticator.js.map +1 -1
- package/lib/reuse/helper/clientsideUI5scripts.js +15 -19
- package/lib/reuse/helper/clientsideUI5scripts.js.map +1 -1
- package/lib/reuse/helper/dateTimeFormatParser.js +8 -2
- package/lib/reuse/helper/dateTimeFormatParser.js.map +1 -1
- package/lib/reuse/helper/elementHighlight.js +2 -6
- package/lib/reuse/helper/elementHighlight.js.map +1 -1
- package/lib/reuse/helper/errorHandler.js +2 -9
- package/lib/reuse/helper/errorHandler.js.map +1 -1
- package/lib/reuse/helper/jsDocGen.js +1 -1
- package/lib/reuse/helper/jsDocGen.js.map +1 -1
- package/lib/reuse/helper/tableHelper.js +3 -0
- package/lib/reuse/helper/tableHelper.js.map +1 -1
- package/lib/reuse/helper/timeHelper.js +3 -7
- package/lib/reuse/helper/timeHelper.js.map +1 -1
- package/lib/reuse/helper/verboseLogger.js.map +1 -1
- package/lib/reuse/index.js +0 -17
- package/lib/reuse/index.js.map +1 -1
- package/lib/reuse/modules/common/constants/date.constants.js +0 -2
- package/lib/reuse/modules/common/constants/date.constants.js.map +1 -1
- package/lib/reuse/modules/common/navigation.js.map +1 -1
- package/lib/reuse/modules/flp/userSettings.d.ts +2 -0
- package/lib/reuse/modules/flp/userSettings.js +6 -1
- package/lib/reuse/modules/flp/userSettings.js.map +1 -1
- package/lib/reuse/modules/nonUi5/NonUi5.js.map +1 -1
- package/lib/reuse/modules/nonUi5/session.js.map +1 -1
- package/lib/reuse/modules/nonUi5/userInteraction.js.map +1 -1
- package/lib/reuse/modules/ui5/assertion.d.ts +1 -0
- package/lib/reuse/modules/ui5/assertion.js +11 -4
- package/lib/reuse/modules/ui5/assertion.js.map +1 -1
- package/lib/reuse/modules/ui5/control.js.map +1 -1
- package/lib/reuse/modules/ui5/date.js +15 -15
- package/lib/reuse/modules/ui5/date.js.map +1 -1
- package/lib/reuse/modules/ui5/element.d.ts +2 -2
- package/lib/reuse/modules/ui5/element.js +7 -4
- package/lib/reuse/modules/ui5/element.js.map +1 -1
- package/lib/reuse/modules/ui5/session.d.ts +4 -2
- package/lib/reuse/modules/ui5/session.js +32 -4
- package/lib/reuse/modules/ui5/session.js.map +1 -1
- package/lib/reuse/modules/ui5/table.js +25 -9
- package/lib/reuse/modules/ui5/table.js.map +1 -1
- package/lib/reuse/modules/ui5/userInteraction.d.ts +1 -1
- package/lib/reuse/modules/ui5/userInteraction.js +46 -59
- package/lib/reuse/modules/ui5/userInteraction.js.map +1 -1
- package/lib/reuse/modules/util/constants/formatter.constants.js +0 -2
- package/lib/reuse/modules/util/constants/formatter.constants.js.map +1 -1
- package/lib/reuse/modules/util/file.d.ts +7 -4
- package/lib/reuse/modules/util/file.js +34 -7
- package/lib/reuse/modules/util/file.js.map +1 -1
- package/lib/reuse/modules/util/formatter.js +7 -3
- package/lib/reuse/modules/util/formatter.js.map +1 -1
- package/lib/reuse/modules/util/function.js +1 -5
- package/lib/reuse/modules/util/function.js.map +1 -1
- package/lib/scripts/clientsideUI5scripts.js +22 -29
- package/lib/scripts/clientsideUI5scripts.js.map +1 -1
- package/lib/scripts/dataExchange/dataExchange.js.map +1 -1
- package/lib/scripts/dataExchange/dataExchangeUtil.js +3 -13
- package/lib/scripts/dataExchange/dataExchangeUtil.js.map +1 -1
- package/lib/scripts/hooks/before.js +0 -1
- package/lib/scripts/hooks/before.js.map +1 -1
- package/lib/scripts/hooks/onComplete.js +2 -3
- package/lib/scripts/hooks/onComplete.js.map +1 -1
- package/lib/scripts/hooks/utils/addLocatorCommands.js.map +1 -1
- package/lib/scripts/hooks/utils/browserLog.js.map +1 -1
- package/lib/scripts/hooks/utils/cycle.js +3 -9
- package/lib/scripts/hooks/utils/cycle.js.map +1 -1
- package/lib/scripts/hooks/utils/dataExchangeCommands.js +1 -2
- package/lib/scripts/hooks/utils/dataExchangeCommands.js.map +1 -1
- package/lib/scripts/hooks/utils/isBrowserDefined.js.map +1 -1
- package/lib/scripts/locators/qmateLocator.js +30 -53
- package/lib/scripts/locators/qmateLocator.js.map +1 -1
- package/lib/scripts/locators/qmateLocatorSrc/comparators/DomPropertiesComparator.js +2 -2
- package/lib/scripts/locators/qmateLocatorSrc/comparators/DomPropertiesComparator.js.map +1 -1
- package/lib/scripts/locators/qmateLocatorSrc/constants/IgnoredMetadataList.d.ts +1 -0
- package/lib/scripts/locators/qmateLocatorSrc/constants/IgnoredMetadataList.js +10 -0
- package/lib/scripts/locators/qmateLocatorSrc/constants/IgnoredMetadataList.js.map +1 -0
- package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.d.ts +2 -3
- package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.js +18 -22
- package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.js.map +1 -1
- package/lib/scripts/locators/qmateLocatorSrc/utils/UI5ControlHandler.js +3 -2
- package/lib/scripts/locators/qmateLocatorSrc/utils/UI5ControlHandler.js.map +1 -1
- package/lib/scripts/locators/uiveri5Locator.js +1 -1
- package/lib/scripts/locators/uiveri5Locator.js.map +1 -1
- package/lib/scripts/stats/createUsage.js +1 -1
- package/lib/scripts/stats/createUsage.js.map +1 -1
- package/lib/scripts/stats/getOperatingSystem.js.map +1 -1
- package/lib/scripts/stats/getUserId.js +1 -1
- package/lib/scripts/stats/stats.js +9 -9
- package/lib/scripts/stats/stats.js.map +1 -1
- package/lib/scripts/stats/updateUsage.js +1 -1
- package/mkdocs.yml +18 -18
- package/package.json +18 -26
- package/packages/qcrypt/dist/classes/Decrypter.d.ts +38 -38
- package/packages/qcrypt/dist/classes/Decrypter.js +150 -153
- package/packages/qcrypt/dist/classes/Encrypter.d.ts +46 -46
- package/packages/qcrypt/dist/classes/Encrypter.js +144 -144
- package/packages/qcrypt/dist/classes/KeyGenerator.d.ts +16 -16
- package/packages/qcrypt/dist/classes/KeyGenerator.js +45 -43
- package/packages/qcrypt/dist/classes/helper/ErrorHandler.d.ts +8 -8
- package/packages/qcrypt/dist/classes/helper/ErrorHandler.js +48 -50
- package/packages/qcrypt/dist/classes/helper/Util.d.ts +67 -67
- package/packages/qcrypt/dist/classes/helper/Util.js +113 -114
- package/packages/qcrypt/dist/index.js +5 -3
- package/packages/qcrypt/dist/types/common.d.ts +13 -13
- package/reuseApi.json +8 -468
- package/test/.eslintrc.yml +1 -1
- package/test/authenticator/staticLogin/configCustom.js +1 -3
- package/test/authenticator/staticLogin/configCustomViaConfig.js +1 -3
- package/test/authenticator/staticLogin/configFiori.js +1 -3
- package/test/authenticator/staticLogin/configPlain.js +1 -4
- package/test/authenticator/staticLogin/configSapCloud.js +1 -3
- package/test/authenticator/staticLogin/html/custom.html +4 -4
- package/test/authenticator/staticLogin/html/fiori.html +4 -4
- package/test/authenticator/staticLogin/html/home.html +2 -2
- package/test/authenticator/staticLogin/html/sapCloud.html +4 -4
- package/test/authenticator/staticLogin/specs/custom.spec.js +1 -5
- package/test/authenticator/staticLogin/specs/plain.spec.js +0 -5
- package/test/authenticator/staticLogin/staticServerConfig.js +13 -10
- package/test/authenticator/systemLogin/configCustom.js +3 -5
- package/test/authenticator/systemLogin/configFiori.js +2 -5
- package/test/authenticator/systemLogin/configPlain.js +3 -5
- package/test/authenticator/systemLogin/configSapCloud.js +3 -5
- package/test/authenticator/systemLogin/specs/custom.spec.js +3 -5
- package/test/authenticator/systemLogin/specs/fiori.spec.js +3 -4
- package/test/authenticator/systemLogin/specs/plain.spec.js +3 -5
- package/test/authenticator/systemLogin/specs/sapCloud.spec.js +3 -5
- package/test/core/dataExchange/config.export.js +11 -18
- package/test/core/dataExchange/config.import.js +7 -12
- package/test/core/dataExchange/config.js +9 -11
- package/test/core/dataExchange/config.parallel.group.js +53 -61
- package/test/core/dataExchange/config.parallel.js +53 -58
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/Limit-Purchase-Order.json +1 -1
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/ServicePurchaseOrder.2Items.json +1 -1
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchaseRequisition_HI.json +1 -1
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/LimitPurchaseOrder.json +1 -1
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderItems.json +1 -1
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderWithScheduline.json +1 -1
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServiceAndMaterialPurchaseOrder.json +1 -1
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder.json +1 -1
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder2Items.json +1 -1
- package/test/core/dataExchange/data/my/folder/data/qs9/data.json +1 -1
- package/test/core/dataExchange/data/my/folder/data/qs9/purchaseRequisition.json +1 -1
- package/test/core/dataExchange/data/my/folder/data/qs9/supplierInvoice.json +1 -1
- package/test/core/dataExchange/data/my/folder/data/qs9/webUser.json +1 -1
- package/test/core/dataExchange/data/ui/moreDataFolder/anotherUser.json +1 -1
- package/test/core/dataExchange/data/ui/user.json +1 -1
- package/test/core/dataExchange/data/ui/webUser.json +1 -1
- package/test/core/dataExchange/specs/export.fast.spec.js +11 -16
- package/test/core/dataExchange/specs/export.slow.spec.js +13 -18
- package/test/core/dataExchange/specs/export.spec.js +13 -23
- package/test/core/dataExchange/specs/import.spec.js +6 -23
- package/test/core/dataExchange/specs/importExport.spec.js +47 -62
- package/test/core/dataExchange/utils.js +11 -15
- package/test/core/functional/README.md +8 -5
- package/test/core/functional/chaining/chaining.test.js +46 -49
- package/test/core/functional/chaining/test.conf.js +1 -4
- package/test/core/functional/locators/ancestorProperties.test.js +49 -59
- package/test/core/functional/locators/childProperties.test.js +30 -36
- package/test/core/functional/locators/descendantProperties.test.js +50 -57
- package/test/core/functional/locators/domProperties.test.js +25 -29
- package/test/core/functional/locators/elementProperties.test.js +30 -29
- package/test/core/functional/locators/mixedProperties.test.js +317 -108
- package/test/core/functional/locators/parentProperties.test.js +18 -22
- package/test/core/functional/locators/siblingProperties.test.js +66 -75
- package/test/core/functional/locators/utils.js +1 -1
- package/test/core/functional/nativeBrowser/runInBrowser.test.js +84 -58
- package/test/core/functional/nativeBrowser/test.conf.js +1 -3
- package/test/core/functional/nonUi5/basic.test.js +3 -3
- package/test/core/functional/nonUi5/getWithDomElement.test.js +0 -2
- package/test/core/functional/nonUi5/getWithDomElements.test.js +2 -3
- package/test/core/functional/nonUi5/test.conf.js +1 -4
- package/test/core/functional/ui5Properties/countries.json +1 -1
- package/test/core/functional/ui5Properties/getAggregations.test.js +19 -27
- package/test/core/functional/ui5Properties/getAssociations.test.js +3 -3
- package/test/core/functional/ui5Properties/getBindingInfos.test.js +17 -17
- package/test/core/functional/ui5Properties/getProperties.test.js +25 -33
- package/test/core/functional/ui5Properties/test.conf.js +1 -6
- package/test/core/functional/uiveri5/sample.test.js +1 -2
- package/test/core/functional/uiveri5/test.conf.js +1 -3
- package/test/core/testIntegration/config.js +1 -1
- package/test/core/testIntegration/configMultiCombo.js +1 -1
- package/test/core/testIntegration/configTable.js +1 -1
- package/test/core/testIntegration/filters1.spec.js +908 -870
- package/test/core/testIntegration/multicombobox.spec.js +64 -60
- package/test/core/testIntegration/table.spec.js +35 -33
- package/test/helper/configurations/base.conf.js +6 -3
- package/test/helper/configurations/chrome.headless.conf.js +1 -1
- package/test/helper/sleeper.js +1 -1
- package/test/reuse/common/assertion/expectDefined.spec.js +1 -2
- package/test/reuse/common/assertion/expectEqual.spec.js +36 -26
- package/test/reuse/common/assertion/expectFalse.spec.js +1 -1
- package/test/reuse/common/assertion/expectTrue.spec.js +1 -1
- package/test/reuse/common/assertion/expectUndefined.spec.js +1 -2
- package/test/reuse/common/assertion/expectUnequal.spec.js +24 -13
- package/test/reuse/common/assertion/expectUrlToBe.spec.js +3 -6
- package/test/reuse/common/assertion/test.assertion.conf.js +39 -35
- package/test/reuse/common/date/calculate.spec.js +36 -36
- package/test/reuse/common/date/calculateWithTime.spec.js +88 -88
- package/test/reuse/common/date/getNextMonth.spec.js +3 -3
- package/test/reuse/common/date/getNextYear.spec.js +2 -2
- package/test/reuse/common/date/getPreviousMonth.spec.js +2 -2
- package/test/reuse/common/date/getPreviousYear.spec.js +2 -2
- package/test/reuse/common/date/getSpecific.spec.js +2 -2
- package/test/reuse/common/date/getToday.spec.js +2 -2
- package/test/reuse/common/date/getTomorrow.spec.js +2 -2
- package/test/reuse/common/date/test.date.conf.js +1 -1
- package/test/reuse/common/navigation/navigateToUrlAndRetry.spec.js +2 -6
- package/test/reuse/common/navigation/test.navigation.conf.js +14 -12
- package/test/reuse/common/userInteraction/clearAndFillActive.spec.js +1 -3
- package/test/reuse/common/userInteraction/clearAndFillActiveAndRetry.spec.js +2 -6
- package/test/reuse/common/userInteraction/fillActive.spec.js +2 -6
- package/test/reuse/common/userInteraction/fillActiveAndRetry.spec.js +2 -6
- package/test/reuse/common/userInteraction/pressKey.spec.js +6 -30
- package/test/reuse/common/userInteraction/test.userInteraction.conf.js +36 -38
- package/test/reuse/flp/userLocks/data/data.json +1 -1
- package/test/reuse/flp/userLocks/deleteExistingLockEntries.spec.js +0 -3
- package/test/reuse/flp/userLocks/getNumberOfLockEntries.spec.js +0 -2
- package/test/reuse/flp/userLocks/test.userLocks.conf.js +1 -4
- package/test/reuse/flp/userSettings/data/data.json +1 -1
- package/test/reuse/flp/userSettings/getDateFormatFromUserSettings.spec.js +0 -2
- package/test/reuse/flp/userSettings/getLanguageFromUserSettings.spec.js +0 -1
- package/test/reuse/flp/userSettings/getTimeFormatFromUserSettings.spec.js +0 -3
- package/test/reuse/flp/userSettings/getTimeZoneFromUserSettings.spec.js +0 -2
- package/test/reuse/flp/userSettings/setDateFormatFromUserSettings.spec.js +0 -2
- package/test/reuse/flp/userSettings/setLanguageFromUserSettings.spec.js +0 -2
- package/test/reuse/flp/userSettings/setNumberFormatFromUserSettings.spec.js +1 -3
- package/test/reuse/flp/userSettings/setS4UserSettings.spec.js +0 -2
- package/test/reuse/flp/userSettings/setTimeFormatFromUserSettings.spec.js +0 -3
- package/test/reuse/flp/userSettings/setTimeZoneFromUserSettings.spec.js +0 -2
- package/test/reuse/flp/userSettings/test.userSettings.apply.conf.js +1 -3
- package/test/reuse/helper/elementHighlight/test.elementHighlight.conf.js +2 -4
- package/test/reuse/nonUi5/assertion/expectAttributeToBe.spec.js +4 -11
- package/test/reuse/nonUi5/assertion/expectAttributeToContain.spec.js +3 -10
- package/test/reuse/nonUi5/assertion/expectCssPropertyValueToBe.spec.js +2 -4
- package/test/reuse/nonUi5/assertion/expectToBeNotVisible.spec.js +3 -5
- package/test/reuse/nonUi5/assertion/expectToBeVisible.spec.js +2 -2
- package/test/reuse/nonUi5/assertion/test.assertion.conf.js +39 -35
- package/test/reuse/nonUi5/assertion/test.assertion.sauceLabs.conf.js +40 -42
- package/test/reuse/nonUi5/element/getAttributeValue.spec.js +3 -9
- package/test/reuse/nonUi5/element/getByChild.spec.js +4 -8
- package/test/reuse/nonUi5/element/getByClass.spec.js +2 -7
- package/test/reuse/nonUi5/element/getByCss.spec.js +6 -11
- package/test/reuse/nonUi5/element/getByCssContainingText.spec.js +2 -6
- package/test/reuse/nonUi5/element/getById.spec.js +3 -10
- package/test/reuse/nonUi5/element/getByName.spec.js +2 -5
- package/test/reuse/nonUi5/element/getByParent.spec.js +5 -15
- package/test/reuse/nonUi5/element/getByXPath.spec.js +2 -5
- package/test/reuse/nonUi5/element/getCssPropertyValue.spec.js +1 -4
- package/test/reuse/nonUi5/element/getValue.spec.js +3 -6
- package/test/reuse/nonUi5/element/highlight.spec.js +0 -2
- package/test/reuse/nonUi5/element/isPresent.spec.js +1 -3
- package/test/reuse/nonUi5/element/isPresentByCss.spec.js +1 -1
- package/test/reuse/nonUi5/element/isPresentByXPath.spec.js +0 -1
- package/test/reuse/nonUi5/element/setInnerHTML.spec.js +2 -5
- package/test/reuse/nonUi5/element/test.element.conf.js +18 -15
- package/test/reuse/nonUi5/element/waitForAll.spec.js +2 -5
- package/test/reuse/nonUi5/element/waitToBeClickable.spec.js +2 -5
- package/test/reuse/nonUi5/element/waitToBePresent.spec.js +2 -3
- package/test/reuse/nonUi5/element/waitToBeVisible.spec.js +3 -8
- package/test/reuse/nonUi5/navigation/test.navigation.conf.js +1 -3
- package/test/reuse/nonUi5/userInteraction/checkAttributeAndValue.spec.js +13 -17
- package/test/reuse/nonUi5/userInteraction/clear.spec.js +3 -5
- package/test/reuse/nonUi5/userInteraction/clearAndFill.spec.js +1 -1
- package/test/reuse/nonUi5/userInteraction/clearAndFillAndRetry.spec.js +1 -3
- package/test/reuse/nonUi5/userInteraction/clearAndRetry.spec.js +1 -3
- package/test/reuse/nonUi5/userInteraction/click.spec.js +1 -3
- package/test/reuse/nonUi5/userInteraction/clickAndRetry.spec.js +2 -6
- package/test/reuse/nonUi5/userInteraction/clickElementInSvg.spec.js +1 -3
- package/test/reuse/nonUi5/userInteraction/doubleClick.spec.js +1 -1
- package/test/reuse/nonUi5/userInteraction/dragAndDrop.spec.js +2 -2
- package/test/reuse/nonUi5/userInteraction/fillAndRetry.spec.js +1 -3
- package/test/reuse/nonUi5/userInteraction/selectAll.spec.js +2 -2
- package/test/reuse/nonUi5/userInteraction/test.userInteraction.conf.js +1 -1
- package/test/reuse/nonUi5/userInteraction/test.userInteraction.sauceLabs.conf.js +43 -39
- package/test/reuse/service/odata/test.odata.conf.js +4 -7
- package/test/reuse/service/rest/db.json +1 -1
- package/test/reuse/service/rest/delete.spec.js +3 -10
- package/test/reuse/service/rest/get.spec.js +2 -9
- package/test/reuse/service/rest/init.spec.js +0 -2
- package/test/reuse/service/rest/patch.spec.js +5 -12
- package/test/reuse/service/rest/post.spec.js +6 -17
- package/test/reuse/service/rest/put.spec.js +10 -17
- package/test/reuse/service/rest/rest-server.js +5 -5
- package/test/reuse/service/rest/test.rest.conf.js +4 -11
- package/test/reuse/ui5/assertion/expectAttributeToBe.spec.js +77 -42
- package/test/reuse/ui5/assertion/expectAttributeToContain.spec.js +48 -18
- package/test/reuse/ui5/assertion/expectBindingContextPathToBe.spec.js +41 -42
- package/test/reuse/ui5/assertion/expectBindingPathToBe.spec.js +58 -64
- package/test/reuse/ui5/assertion/expectCssPropertyValueToBe.spec.js +1 -2
- package/test/reuse/ui5/assertion/expectMessageToastTextToBe.spec.js +7 -11
- package/test/reuse/ui5/assertion/expectTextToBe.spec.js +13 -13
- package/test/reuse/ui5/assertion/expectToBeEnabled.spec.js +2 -6
- package/test/reuse/ui5/assertion/expectToBeNotEnabled.spec.js +17 -20
- package/test/reuse/ui5/assertion/expectToBeNotVisible.spec.js +13 -14
- package/test/reuse/ui5/assertion/expectToBeVisible.spec.js +15 -20
- package/test/reuse/ui5/assertion/expectToBeVisibleInViewport.spec.js +11 -15
- package/test/reuse/ui5/assertion/expectValidationError.spec.js +14 -16
- package/test/reuse/ui5/assertion/expectValidationSuccess.spec.js +14 -16
- package/test/reuse/ui5/assertion/expectValueToBe.spec.js +14 -17
- package/test/reuse/ui5/assertion/expectValueToBeDefined.spec.js +6 -9
- package/test/reuse/ui5/assertion/test.assertion.sauceLab.conf.js +3 -3
- package/test/reuse/ui5/confirmationDialog/clickButton.spec.js +24 -28
- package/test/reuse/ui5/confirmationDialog/clickCancel.spec.js +24 -25
- package/test/reuse/ui5/confirmationDialog/clickCreate.spec.js +1 -1
- package/test/reuse/ui5/confirmationDialog/clickDelete.spec.js +25 -28
- package/test/reuse/ui5/confirmationDialog/clickNo.spec.js +21 -29
- package/test/reuse/ui5/confirmationDialog/clickOk.spec.js +19 -22
- package/test/reuse/ui5/confirmationDialog/clickRevokeApproval.spec.js +1 -1
- package/test/reuse/ui5/confirmationDialog/clickYes.spec.js +17 -25
- package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.conf.js +1 -1
- package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.sauceLab.conf.js +4 -4
- package/test/reuse/ui5/control/execute.spec.js +37 -25
- package/test/reuse/ui5/control/focus.spec.js +29 -29
- package/test/reuse/ui5/control/getAggregationProperty.spec.js +25 -21
- package/test/reuse/ui5/control/getAssociationProperty.spec.js +13 -15
- package/test/reuse/ui5/control/getBindingContextPathProperty.spec.js +12 -10
- package/test/reuse/ui5/control/getProperty.spec.js +12 -10
- package/test/reuse/ui5/control/getPropertyBinding.spec.js +12 -10
- package/test/reuse/ui5/control/test.control.sauceLab.conf.js +3 -4
- package/test/reuse/ui5/date/fillRange.spec.js +7 -10
- package/test/reuse/ui5/date/pick.spec.js +31 -34
- package/test/reuse/ui5/date/pickRange.spec.js +31 -25
- package/test/reuse/ui5/date/pickWithTime.spec.js +8 -10
- package/test/reuse/ui5/date/test.date.conf.js +3 -8
- package/test/reuse/ui5/date/test.date.sauceLab.conf.js +4 -9
- package/test/reuse/ui5/element/getBindingValue.spec.js +17 -23
- package/test/reuse/ui5/element/getByChild.spec.js +52 -52
- package/test/reuse/ui5/element/getByParent.spec.js +65 -61
- package/test/reuse/ui5/element/getByText.spec.js +10 -14
- package/test/reuse/ui5/element/getCssPropertyValue.spec.js +1 -1
- package/test/reuse/ui5/element/getDisplayed.spec.js +23 -26
- package/test/reuse/ui5/element/getId.spec.js +15 -18
- package/test/reuse/ui5/element/getPropertyValue.spec.js +19 -23
- package/test/reuse/ui5/element/highlight.spec.js +9 -12
- package/test/reuse/ui5/element/isVisible.spec.js +12 -12
- package/test/reuse/ui5/element/test.element.sauceLab.conf.js +3 -5
- package/test/reuse/ui5/element/waitForAll.spec.js +10 -15
- package/test/reuse/ui5/errorDialog/clickClose.spec.js +6 -9
- package/test/reuse/ui5/errorDialog/expectToBeVisible.spec.js +7 -11
- package/test/reuse/ui5/errorDialog/test.errorDialog.conf.js +2 -5
- package/test/reuse/ui5/errorDialog/test.errorDialog.sauceLab.conf.js +4 -9
- package/test/reuse/ui5/mockserver_qunit/Component.js +3 -8
- package/test/reuse/ui5/mockserver_qunit/controller/App.controller.js +12 -18
- package/test/reuse/ui5/mockserver_qunit/controller/BaseController.js +3 -10
- package/test/reuse/ui5/mockserver_qunit/controller/Home.controller.js +6 -11
- package/test/reuse/ui5/mockserver_qunit/controller/NotFound.controller.js +6 -11
- package/test/reuse/ui5/mockserver_qunit/controller/employee/Employee.controller.js +10 -16
- package/test/reuse/ui5/mockserver_qunit/controller/employee/EmployeeList.controller.js +4 -9
- package/test/reuse/ui5/mockserver_qunit/controller/employee/Resume.controller.js +39 -36
- package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverview.controller.js +2 -7
- package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverviewContent.controller.js +66 -79
- package/test/reuse/ui5/mockserver_qunit/index.html +19 -18
- package/test/reuse/ui5/mockserver_qunit/initMockServer.js +13 -13
- package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Employees.json +153 -153
- package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Resumes.json +63 -63
- package/test/reuse/ui5/mockserver_qunit/localService/mockserver.js +124 -128
- package/test/reuse/ui5/mockserver_qunit/localService/mockserverLoadAllData.js +7 -13
- package/test/reuse/ui5/mockserver_qunit/manifest.json +169 -167
- package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServer.html +58 -56
- package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServerAllData.html +65 -61
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/config.js +60 -66
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/qunitExecution/specs/runQUnitTests.spec.js +3 -4
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/data/setup.json +8 -10
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/specs/testDisplayNotFound.spec.js +16 -18
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Employees.json +203 -203
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Resumes.json +113 -113
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/setup.json +8 -10
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/testShowEmployeeList.json +1 -1
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/specs/testShowEmployeeList.spec.js +24 -26
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/constants.js +2 -2
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockDataMapper.js +5 -6
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockHelper.js +37 -52
- package/test/reuse/ui5/mockserver_qunit/test/unit/allTests.js +2 -4
- package/test/reuse/ui5/mockserver_qunit/test/unit/unitTests.qunit.html +28 -31
- package/test/reuse/ui5/mockserver_qunit/test/unit/utils/Conversions.js +13 -10
- package/test/reuse/ui5/navigation/expectUnsupportedNavigationPopup.spec.js +12 -13
- package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParams.spec.js +1 -1
- package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParamsAndRetry.spec.js +1 -1
- package/test/reuse/ui5/navigation/navigateToSystemAndApplication.spec.js +1 -2
- package/test/reuse/ui5/navigation/navigateToSystemAndApplicationAndRetry.spec.js +2 -4
- package/test/reuse/ui5/navigation/test.navigation.conf.js +2 -7
- package/test/reuse/ui5/navigation/test.navigation.sauceLab.conf.js +4 -4
- package/test/reuse/ui5/navigation/test.navigation.static.sauceLab.conf.js +4 -4
- package/test/reuse/ui5/navigationBar/clickUserIcon.spec.js +5 -10
- package/test/reuse/ui5/navigationBar/expectPageTitle.spec.js +2 -3
- package/test/reuse/ui5/navigationBar/expectShellHeader.spec.js +2 -3
- package/test/reuse/ui5/navigationBar/test.navigationBar.conf.js +2 -8
- package/test/reuse/ui5/navigationBar/test.navigationBar.sauceLab.conf.js +4 -10
- package/test/reuse/ui5/session/login.spec.js +9 -11
- package/test/reuse/ui5/session/loginFiori.spec.js +5 -7
- package/test/reuse/ui5/session/loginSapCloud.spec.js +6 -8
- package/test/reuse/ui5/session/logout.spec.js +2 -3
- package/test/reuse/ui5/session/switchUser.spec.js +1 -1
- package/test/reuse/ui5/session/test.session.conf.js +1 -7
- package/test/reuse/ui5/session/test.session.sauceLab.conf.js +4 -12
- package/test/reuse/ui5/table/clickSettingsButton.spec.js +12 -18
- package/test/reuse/ui5/table/getAllColumnValuesByName.spec.js +1 -4
- package/test/reuse/ui5/table/getSelectorForRowByIndex.spec.js +11 -14
- package/test/reuse/ui5/table/getSelectorsForRowsByValues.spec.js +6 -9
- package/test/reuse/ui5/table/getTotalNumberOfRowsByValues.spec.js +1 -3
- package/test/reuse/ui5/table/openItemByIndex.spec.js +23 -29
- package/test/reuse/ui5/table/openItemByValues.spec.js +27 -38
- package/test/reuse/ui5/table/selectRowByValues.spec.js +7 -7
- package/test/reuse/ui5/table/sortColumnAscending.spec.js +17 -25
- package/test/reuse/ui5/table/sortColumnDescending.spec.js +13 -19
- package/test/reuse/ui5/table/test.table.sauceLab.conf.js +4 -8
- package/test/reuse/ui5/table/test.table.sauceLab.tunnel.conf.js +4 -8
- package/test/reuse/ui5/userInteraction/clear.spec.js +14 -18
- package/test/reuse/ui5/userInteraction/clearAndFill.spec.js +28 -29
- package/test/reuse/ui5/userInteraction/clearAndFillAndRetry.spec.js +4 -12
- package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInput.spec.js +20 -19
- package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInputAndRetry.spec.js +5 -7
- package/test/reuse/ui5/userInteraction/clearAndRetry.spec.js +11 -16
- package/test/reuse/ui5/userInteraction/click.spec.js +90 -29
- package/test/reuse/ui5/userInteraction/clickAndRetry.spec.js +1 -3
- package/test/reuse/ui5/userInteraction/clickSelectArrow.spec.js +29 -30
- package/test/reuse/ui5/userInteraction/clickSelectArrowAndRetry.spec.js +1 -3
- package/test/reuse/ui5/userInteraction/doubleClick.spec.js +18 -22
- package/test/reuse/ui5/userInteraction/dragAndDrop.spec.js +8 -10
- package/test/reuse/ui5/userInteraction/fill.spec.js +20 -22
- package/test/reuse/ui5/userInteraction/fillAndRetry.spec.js +2 -6
- package/test/reuse/ui5/userInteraction/mouseOverElement.spec.js +2 -5
- package/test/reuse/ui5/userInteraction/openF4Help.spec.js +8 -12
- package/test/reuse/ui5/userInteraction/openValueHelp.spec.js +11 -12
- package/test/reuse/ui5/userInteraction/rightClick.spec.js +17 -20
- package/test/reuse/ui5/userInteraction/scrollToElement.spec.js +38 -38
- package/test/reuse/ui5/userInteraction/searchFor.spec.js +3 -12
- package/test/reuse/ui5/userInteraction/selectBox.spec.js +36 -36
- package/test/reuse/ui5/userInteraction/selectCombobox.spec.js +16 -24
- package/test/reuse/ui5/userInteraction/selectMultiComboBox.spec.js +22 -31
- package/test/reuse/util/browser/back.spec.js +10 -11
- package/test/reuse/util/browser/clearBrowser.spec.js +1 -1
- package/test/reuse/util/browser/executeScript.spec.js +14 -16
- package/test/reuse/util/browser/getBaseUrl.spec.js +1 -1
- package/test/reuse/util/browser/getBrowserName.spec.js +1 -3
- package/test/reuse/util/browser/getCurrentUrl.spec.js +9 -9
- package/test/reuse/util/browser/getCurrentWindow.spec.js +1 -1
- package/test/reuse/util/browser/getUI5Version.spec.js +8 -8
- package/test/reuse/util/browser/log.spec.js +1 -3
- package/test/reuse/util/browser/logCurrentUrl.spec.js +1 -1
- package/test/reuse/util/browser/refresh.spec.js +14 -16
- package/test/reuse/util/browser/reloadSession.spec.js +1 -1
- package/test/reuse/util/browser/setBaseUrl.spec.js +2 -2
- package/test/reuse/util/browser/switchToDefaultContent.spec.js +28 -29
- package/test/reuse/util/browser/switchToWindow.spec.js +2 -3
- package/test/reuse/util/browser/test.browserCmndLineArgs.conf.js +1 -3
- package/test/reuse/util/browser/waitUntil.spec.js +8 -16
- package/test/reuse/util/component/loadEntryPoint.spec.js +2 -3
- package/test/reuse/util/component/storeEntryPoint.spec.js +6 -10
- package/test/reuse/util/component/test.component.conf.js +1 -4
- package/test/reuse/util/console/console.spec.js +1 -3
- package/test/reuse/util/console/test.console.conf.js +2 -4
- package/test/reuse/util/data/customSourceData/getSecureData.secure.json +1 -1
- package/test/reuse/util/data/customSourceData/test.json +1 -1
- package/test/reuse/util/data/data/test.json +1 -1
- package/test/reuse/util/data/getData.spec.js +3 -7
- package/test/reuse/util/data/test.data.conf.js +1 -5
- package/test/reuse/util/data/test.data.privacy.conf.js +1 -7
- package/test/reuse/util/file/getAttributeValuesFromJson.spec.js +1 -1
- package/test/reuse/util/file/getFileNamesByExtensions.spec.js +0 -1
- package/test/reuse/util/file/pdfParser.spec.js +76 -80
- package/test/reuse/util/file/test.file.conf.js +2 -1
- package/test/reuse/util/file/testFiles/test1.json +26 -77
- package/test/reuse/util/file/upload.spec.js +24 -29
- package/test/reuse/util/formatter/addRemoveLeadingZeros.spec.js +1 -2
- package/test/reuse/util/formatter/formatDate.spec.js +2 -2
- package/test/reuse/util/formatter/formatDateWithTime.spec.js +6 -2
- package/test/reuse/util/formatter/sliceStringAfter.spec.js +1 -1
- package/test/reuse/util/formatter/sliceStringAt.spec.js +1 -1
- package/test/reuse/util/formatter/stringifyJSON.spec.js +4 -4
- package/test/reuse/util/formatter/test.formatter.conf.js +2 -2
- package/test/reuse/util/system/system.spec.js +1 -3
- package/test/reuse/util/system/test.system.conf.js +3 -5
- package/test/reuse/util/userSettings/data/data.json +1 -1
- package/test/reuse/util/userSettings/getDateFormatFromUserSettings.spec.js +0 -2
- package/test/reuse/util/userSettings/getLanguageFromUserSettings.spec.js +0 -1
- package/test/reuse/util/userSettings/getTimeFormatFromUserSettings.spec.js +0 -3
- package/test/reuse/util/userSettings/getTimeZoneFromUserSettings.spec.js +0 -2
- package/test/reuse/util/userSettings/setDateFormatFromUserSettings.spec.js +0 -2
- package/test/reuse/util/userSettings/setLanguageFromUserSettings.spec.js +0 -2
- package/test/reuse/util/userSettings/setNumberFormatFromUserSettings.spec.js +1 -3
- package/test/reuse/util/userSettings/setS4UserSettings.spec.js +0 -2
- package/test/reuse/util/userSettings/setTimeFormatFromUserSettings.spec.js +0 -3
- package/test/reuse/util/userSettings/setTimeZoneFromUserSettings.spec.js +0 -2
- package/test/reuse/util/userSettings/test.userSettings.apply.conf.js +1 -3
- package/test/unit/stats/getUserId.error.spec.ts +3 -1
- package/test/unit/stats/getUserId.spec.ts +10 -10
- package/test/unit/vitest.config.ts +2 -2
- package/test/watchMode/config.js +1 -3
- package/test/watchMode/navigateToUrlAndClick.spec.js +7 -7
- package/tsconfig.json +1 -4
- package/lib/reuse/modules/mobile/Mobile.d.ts +0 -16
- package/lib/reuse/modules/mobile/Mobile.js +0 -23
- package/lib/reuse/modules/mobile/Mobile.js.map +0 -1
- package/lib/reuse/modules/mobile/android.d.ts +0 -32
- package/lib/reuse/modules/mobile/android.js +0 -85
- package/lib/reuse/modules/mobile/android.js.map +0 -1
- package/lib/reuse/modules/mobile/device.d.ts +0 -173
- package/lib/reuse/modules/mobile/device.js +0 -403
- package/lib/reuse/modules/mobile/device.js.map +0 -1
- package/lib/reuse/modules/mobile/element.d.ts +0 -95
- package/lib/reuse/modules/mobile/element.js +0 -185
- package/lib/reuse/modules/mobile/element.js.map +0 -1
- package/lib/reuse/modules/mobile/gestures.d.ts +0 -42
- package/lib/reuse/modules/mobile/gestures.js +0 -86
- package/lib/reuse/modules/mobile/gestures.js.map +0 -1
- package/lib/reuse/modules/mobile/ios.d.ts +0 -10
- package/lib/reuse/modules/mobile/ios.js +0 -19
- package/lib/reuse/modules/mobile/ios.js.map +0 -1
- package/lib/reuse/modules/mobile/userInteraction.d.ts +0 -94
- package/lib/reuse/modules/mobile/userInteraction.js +0 -210
- package/lib/reuse/modules/mobile/userInteraction.js.map +0 -1
- 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
|
-
[
|
|
35
|
-
|
|
36
|
-
folders: [{
|
|
37
|
-
mount: "/waitForElements.html",
|
|
38
|
-
path: path.resolve(__dirname, "../../../helper/website/waitForElements.html")
|
|
39
|
-
},
|
|
34
|
+
[
|
|
35
|
+
"static-server",
|
|
40
36
|
{
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
|
|
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
|
+
});
|
|
@@ -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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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 =
|
|
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 =
|
|
26
|
-
if (
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|