@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
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
const { BASE_URL } = require("../../../../src/reuse/constants.ts");
|
|
3
3
|
|
|
4
4
|
describe("element - getByXPath + expectToBeVisible", function () {
|
|
5
|
-
|
|
6
5
|
let searchInput;
|
|
7
6
|
|
|
8
7
|
it("Preparation", async function () {
|
|
@@ -19,13 +18,11 @@ describe("element - getByXPath + expectToBeVisible", function () {
|
|
|
19
18
|
});
|
|
20
19
|
|
|
21
20
|
describe("element - getByXPath and catch error", function () {
|
|
22
|
-
|
|
23
21
|
it("Preparation", async function () {
|
|
24
22
|
await common.navigation.navigateToUrl(`${BASE_URL}/test-resources/sap/m/demokit/cart/webapp/index.html?sap-ui-theme=sap_fiori_3#/categories`);
|
|
25
23
|
});
|
|
26
24
|
|
|
27
25
|
it("Execution & Verification", async function () {
|
|
28
|
-
await expect(nonUi5.element.getByXPath("sap-word"))
|
|
29
|
-
.rejects.toThrow("Function 'getByXPath' failed");
|
|
26
|
+
await expect(nonUi5.element.getByXPath("sap-word")).rejects.toThrow("Function 'getByXPath' failed");
|
|
30
27
|
});
|
|
31
|
-
});
|
|
28
|
+
});
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const { BASE_URL } = require("../../../../src/reuse/constants.ts");
|
|
3
|
-
const {
|
|
4
|
-
handleCookiesConsent
|
|
5
|
-
} = require("../../../helper/utils");
|
|
3
|
+
const { handleCookiesConsent } = require("../../../helper/utils");
|
|
6
4
|
|
|
7
5
|
const selector = "//div[contains(text(),'Laptops')]";
|
|
8
6
|
const cssProperty = "visibility";
|
|
@@ -44,7 +42,6 @@ describe("element - getCssPropertyValue - selector", function () {
|
|
|
44
42
|
});
|
|
45
43
|
|
|
46
44
|
describe("element - getCssPropertyValue - error", function () {
|
|
47
|
-
|
|
48
45
|
it("Preparation", async function () {
|
|
49
46
|
await common.navigation.navigateToUrl(`${BASE_URL}/test-resources/sap/m/demokit/cart/webapp/index.html?sap-ui-theme=sap_fiori_3#/categories`);
|
|
50
47
|
});
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const { BASE_URL } = require("../../../../src/reuse/constants.ts");
|
|
3
|
-
const {
|
|
4
|
-
handleCookiesConsent
|
|
5
|
-
} = require("../../../helper/utils");
|
|
3
|
+
const { handleCookiesConsent } = require("../../../helper/utils");
|
|
6
4
|
|
|
7
5
|
describe("element - getValue", function () {
|
|
8
6
|
let actValue;
|
|
@@ -46,7 +44,6 @@ describe("element - getValue - error case", function () {
|
|
|
46
44
|
});
|
|
47
45
|
|
|
48
46
|
it("Execution & Verification", async function () {
|
|
49
|
-
await expect(nonUi5.element.getValue())
|
|
50
|
-
.rejects.toThrow("Function 'getValue' failed");
|
|
47
|
+
await expect(nonUi5.element.getValue()).rejects.toThrow("Function 'getValue' failed");
|
|
51
48
|
});
|
|
52
|
-
});
|
|
49
|
+
});
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
const { BASE_URL } = require("../../../../src/reuse/constants.ts");
|
|
2
2
|
|
|
3
3
|
describe("element - highlight", function () {
|
|
4
|
-
|
|
5
4
|
let product;
|
|
6
5
|
|
|
7
6
|
it("Preparation", async function () {
|
|
8
7
|
await browser.navigateTo(`${BASE_URL}/test-resources/sap/m/demokit/cart/webapp/index.html?sap-ui-theme=sap_fiori_3`);
|
|
9
|
-
|
|
10
8
|
});
|
|
11
9
|
|
|
12
10
|
it("Execution", async function () {
|
|
@@ -13,7 +13,6 @@ const { BASE_URL } = require("../../../../src/reuse/constants.ts");
|
|
|
13
13
|
// });
|
|
14
14
|
// });
|
|
15
15
|
|
|
16
|
-
|
|
17
16
|
describe("element - isPresent - hidden element", function () {
|
|
18
17
|
it("Preparation", async function () {
|
|
19
18
|
await common.navigation.navigateToUrl(`${BASE_URL}/test-resources/sap/m/demokit/cart/webapp/index.html?sap-ui-theme=sap_fiori_3#/categories`);
|
|
@@ -28,7 +27,6 @@ describe("element - isPresent - hidden element", function () {
|
|
|
28
27
|
});
|
|
29
28
|
});
|
|
30
29
|
|
|
31
|
-
|
|
32
30
|
// describe("element - isPresent - wrong element", function () {
|
|
33
31
|
// it("Preparation", async function () {
|
|
34
32
|
// await common.navigation.navigateToUrl(`${BASE_URL}/test-resources/sap/m/demokit/cart/webapp/index.html?sap-ui-theme=sap_fiori_3#/categories`);
|
|
@@ -38,4 +36,4 @@ describe("element - isPresent - hidden element", function () {
|
|
|
38
36
|
// await expect(nonUi5.element.isPresent(".sapUiInvisibleText"))
|
|
39
37
|
// .rejects.toThrow(/not a function/);
|
|
40
38
|
// });
|
|
41
|
-
// });
|
|
39
|
+
// });
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const { BASE_URL } = require("../../../../src/reuse/constants.ts");
|
|
3
|
-
const {
|
|
4
|
-
handleCookiesConsent
|
|
5
|
-
} = require("../../../helper/utils");
|
|
3
|
+
const { handleCookiesConsent } = require("../../../helper/utils");
|
|
6
4
|
|
|
7
5
|
describe("element - getById + expectToBeVisible", function () {
|
|
8
|
-
|
|
9
6
|
it("Preparation", async function () {
|
|
10
7
|
await common.navigation.navigateToUrl(`${BASE_URL}/test-resources/sap/m/demokit/cart/webapp/index.html?sap-ui-theme=sap_fiori_3`);
|
|
11
8
|
await handleCookiesConsent();
|
|
@@ -20,4 +17,4 @@ describe("element - getById + expectToBeVisible", function () {
|
|
|
20
17
|
const elem = await nonUi5.element.getByCss("SPAN[id='container-cart---homeView--page-title-inner']");
|
|
21
18
|
await nonUi5.assertion.expectValueToBe(elem, "Hello World!");
|
|
22
19
|
});
|
|
23
|
-
});
|
|
20
|
+
});
|
|
@@ -6,7 +6,7 @@ const { BASE_URL } = require("../../../../src/reuse/constants.ts");
|
|
|
6
6
|
exports.config = merge(profile.config, {
|
|
7
7
|
maxInstances: 6,
|
|
8
8
|
specFileRetries: 2,
|
|
9
|
-
|
|
9
|
+
|
|
10
10
|
baseUrl: `${BASE_URL}/test-resources/sap/m/demokit/cart/webapp/index.html?sap-ui-theme=sap_fiori_3`,
|
|
11
11
|
|
|
12
12
|
specs: [
|
|
@@ -36,18 +36,21 @@ exports.config = merge(profile.config, {
|
|
|
36
36
|
],
|
|
37
37
|
|
|
38
38
|
services: [
|
|
39
|
-
[
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
39
|
+
[
|
|
40
|
+
"static-server",
|
|
41
|
+
{
|
|
42
|
+
port: 34005,
|
|
43
|
+
folders: [
|
|
44
|
+
{ mount: "/waitForElements.html", path: path.resolve(__dirname, "../../../helper/website/waitForElements.html") },
|
|
45
|
+
{ mount: "/buttons.html", path: path.resolve(__dirname, "../../../helper/website/buttons.html") },
|
|
46
|
+
{ mount: "/checkBox.html", path: path.resolve(__dirname, "../../../helper/website/checkBox.html") },
|
|
47
|
+
{ mount: "/dropdown.html", path: path.resolve(__dirname, "../../../helper/website/dropdown.html") },
|
|
48
|
+
{ mount: "/forms.html", path: path.resolve(__dirname, "../../../helper/website/forms.html") },
|
|
49
|
+
{ mount: "/scrollPage.html", path: path.resolve(__dirname, "../../../helper/website/scrollPage.html") },
|
|
50
|
+
{ mount: "/hiddenAndVisible.html", path: path.resolve(__dirname, "../../../helper/website/hiddenAndVisible.html") },
|
|
51
|
+
{ mount: "/tables.html", path: path.resolve(__dirname, "../../../helper/website/tables.html") }
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
]
|
|
52
55
|
]
|
|
53
|
-
});
|
|
56
|
+
});
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
describe("element - waitForAll", function () {
|
|
4
|
-
|
|
5
4
|
it("Preparation", async function () {
|
|
6
5
|
await common.navigation.navigateToUrl("http://localhost:34005/buttons.html");
|
|
7
6
|
});
|
|
@@ -12,13 +11,11 @@ describe("element - waitForAll", function () {
|
|
|
12
11
|
});
|
|
13
12
|
|
|
14
13
|
describe("element - waitForAll - error case", function () {
|
|
15
|
-
|
|
16
14
|
it("Preparation", async function () {
|
|
17
15
|
await common.navigation.navigateToUrl("http://localhost:34005/buttons.html");
|
|
18
16
|
});
|
|
19
17
|
|
|
20
18
|
it("Execution & Verification", async function () {
|
|
21
|
-
await expect(nonUi5.element.waitForAll("BUTTON[class='invalid']", 4000))
|
|
22
|
-
.rejects.toThrow("Function 'waitForAll' failed");
|
|
19
|
+
await expect(nonUi5.element.waitForAll("BUTTON[class='invalid']", 4000)).rejects.toThrow("Function 'waitForAll' failed");
|
|
23
20
|
});
|
|
24
|
-
});
|
|
21
|
+
});
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
describe("element - waitToBeClickable", function () {
|
|
4
|
-
|
|
5
4
|
it("Preparation", async function () {
|
|
6
5
|
await common.navigation.navigateToUrl("http://localhost:34005/waitForElements.html");
|
|
7
6
|
});
|
|
@@ -12,13 +11,11 @@ describe("element - waitToBeClickable", function () {
|
|
|
12
11
|
});
|
|
13
12
|
|
|
14
13
|
describe("element - waitToBeClickable - error case", function () {
|
|
15
|
-
|
|
16
14
|
it("Preparation", async function () {
|
|
17
15
|
await common.navigation.navigateToUrl("http://localhost:34005/buttons.html");
|
|
18
16
|
});
|
|
19
17
|
|
|
20
18
|
it("Execution & Verification", async function () {
|
|
21
|
-
await expect(nonUi5.element.waitToBeClickable("BUTTON[id='Not-clickable']", 4000))
|
|
22
|
-
.rejects.toThrow("Function 'waitToBeClickable' failed");
|
|
19
|
+
await expect(nonUi5.element.waitToBeClickable("BUTTON[id='Not-clickable']", 4000)).rejects.toThrow("Function 'waitToBeClickable' failed");
|
|
23
20
|
});
|
|
24
|
-
});
|
|
21
|
+
});
|
|
@@ -16,8 +16,7 @@ describe("element - waitToBePresent - wrong selector (error case)", function ()
|
|
|
16
16
|
});
|
|
17
17
|
|
|
18
18
|
it("Execution & Verification", async function () {
|
|
19
|
-
await expect(nonUi5.element.waitToBePresent("BUTTON[class='wrong']", 1000))
|
|
20
|
-
.rejects.toThrow("Function 'waitToBePresent' failed");
|
|
19
|
+
await expect(nonUi5.element.waitToBePresent("BUTTON[class='wrong']", 1000)).rejects.toThrow("Function 'waitToBePresent' failed");
|
|
21
20
|
});
|
|
22
21
|
});
|
|
23
22
|
|
|
@@ -29,4 +28,4 @@ describe("element - waitToBePresent - invisible element", function () {
|
|
|
29
28
|
it("Execution & Verification", async function () {
|
|
30
29
|
await nonUi5.element.waitToBePresent("P[id='hiddenParagraph']", 30000);
|
|
31
30
|
});
|
|
32
|
-
});
|
|
31
|
+
});
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
describe("element - waitToBeVisible", function () {
|
|
4
|
-
|
|
5
4
|
it("Preparation", async function () {
|
|
6
5
|
await common.navigation.navigateToUrl("http://localhost:34005/waitForElements.html");
|
|
7
6
|
});
|
|
@@ -12,25 +11,21 @@ describe("element - waitToBeVisible", function () {
|
|
|
12
11
|
});
|
|
13
12
|
|
|
14
13
|
describe("element - waitToBeVisible - wrong selector (error case)", function () {
|
|
15
|
-
|
|
16
14
|
it("Preparation", async function () {
|
|
17
15
|
await common.navigation.navigateToUrl("http://localhost:34005/waitForElements.html");
|
|
18
16
|
});
|
|
19
17
|
|
|
20
18
|
it("Execution & Verification", async function () {
|
|
21
|
-
await expect(nonUi5.element.waitToBeVisible("BUTTON[class='wrong']", 1000))
|
|
22
|
-
.rejects.toThrow("Function 'waitToBeVisible' failed");
|
|
19
|
+
await expect(nonUi5.element.waitToBeVisible("BUTTON[class='wrong']", 1000)).rejects.toThrow("Function 'waitToBeVisible' failed");
|
|
23
20
|
});
|
|
24
21
|
});
|
|
25
22
|
|
|
26
23
|
describe("element - waitToBeVisible - invisible selector (error case)", function () {
|
|
27
|
-
|
|
28
24
|
it("Preparation", async function () {
|
|
29
25
|
await common.navigation.navigateToUrl("http://localhost:34005/hiddenAndVisible.html");
|
|
30
26
|
});
|
|
31
27
|
|
|
32
28
|
it("Execution & Verification", async function () {
|
|
33
|
-
await expect(nonUi5.element.waitToBeVisible("P[id='hiddenParagraph']", 1000))
|
|
34
|
-
.rejects.toThrow("Function 'waitToBeVisible' failed");
|
|
29
|
+
await expect(nonUi5.element.waitToBeVisible("P[id='hiddenParagraph']", 1000)).rejects.toThrow("Function 'waitToBeVisible' failed");
|
|
35
30
|
});
|
|
36
|
-
});
|
|
31
|
+
});
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
describe("userInteraction - attribute and value", function () {
|
|
4
|
-
|
|
5
|
-
describe("textarea field and \"value\" attribute", function () {
|
|
4
|
+
describe('textarea field and "value" attribute', function () {
|
|
6
5
|
let element;
|
|
7
6
|
|
|
8
7
|
it("Preparation", async function () {
|
|
@@ -15,7 +14,7 @@ describe("userInteraction - attribute and value", function () {
|
|
|
15
14
|
nonUi5.assertion.expectValueToBe(element, "");
|
|
16
15
|
});
|
|
17
16
|
|
|
18
|
-
it(
|
|
17
|
+
it('Verify field is empty using attribute "value"', async function () {
|
|
19
18
|
// Check field is empty before the test
|
|
20
19
|
nonUi5.assertion.expectValueToBe(element, "", "value");
|
|
21
20
|
});
|
|
@@ -28,7 +27,7 @@ describe("userInteraction - attribute and value", function () {
|
|
|
28
27
|
await nonUi5.assertion.expectValueToBe(element, "textarea first test value");
|
|
29
28
|
});
|
|
30
29
|
|
|
31
|
-
it(
|
|
30
|
+
it('Verify value using attribute "value"', async function () {
|
|
32
31
|
await nonUi5.assertion.expectValueToBe(element, "textarea first test value", "value");
|
|
33
32
|
});
|
|
34
33
|
|
|
@@ -40,13 +39,12 @@ describe("userInteraction - attribute and value", function () {
|
|
|
40
39
|
await nonUi5.assertion.expectValueToBe(element, "textarea second test value");
|
|
41
40
|
});
|
|
42
41
|
|
|
43
|
-
it(
|
|
42
|
+
it('Verify new value using attribute "value"', async function () {
|
|
44
43
|
await nonUi5.assertion.expectValueToBe(element, "textarea second test value", "value");
|
|
45
44
|
});
|
|
46
|
-
|
|
47
45
|
});
|
|
48
46
|
|
|
49
|
-
describe(
|
|
47
|
+
describe('input field and "value" attribute', function () {
|
|
50
48
|
let element;
|
|
51
49
|
|
|
52
50
|
it("Preparation", async function () {
|
|
@@ -59,7 +57,7 @@ describe("userInteraction - attribute and value", function () {
|
|
|
59
57
|
nonUi5.assertion.expectValueToBe(element, "");
|
|
60
58
|
});
|
|
61
59
|
|
|
62
|
-
it(
|
|
60
|
+
it('Verify field is empty using attribute "value"', async function () {
|
|
63
61
|
// Check field is empty before the test
|
|
64
62
|
nonUi5.assertion.expectValueToBe(element, "", "value");
|
|
65
63
|
});
|
|
@@ -72,7 +70,7 @@ describe("userInteraction - attribute and value", function () {
|
|
|
72
70
|
await nonUi5.assertion.expectValueToBe(element, "First test value");
|
|
73
71
|
});
|
|
74
72
|
|
|
75
|
-
it(
|
|
73
|
+
it('Verify value using attribute "value"', async function () {
|
|
76
74
|
await nonUi5.assertion.expectValueToBe(element, "First test value", "value");
|
|
77
75
|
});
|
|
78
76
|
|
|
@@ -84,13 +82,12 @@ describe("userInteraction - attribute and value", function () {
|
|
|
84
82
|
await nonUi5.assertion.expectValueToBe(element, "Second test value");
|
|
85
83
|
});
|
|
86
84
|
|
|
87
|
-
it(
|
|
85
|
+
it('Verify new value using attribute "value"', async function () {
|
|
88
86
|
await nonUi5.assertion.expectValueToBe(element, "Second test value", "value");
|
|
89
87
|
});
|
|
90
|
-
|
|
91
88
|
});
|
|
92
89
|
|
|
93
|
-
describe(
|
|
90
|
+
describe('button and "textContent" attribute', function () {
|
|
94
91
|
it("Preparation", async function () {
|
|
95
92
|
await common.navigation.navigateToUrl("http://localhost:34005/buttons.html");
|
|
96
93
|
});
|
|
@@ -105,13 +102,13 @@ describe("userInteraction - attribute and value", function () {
|
|
|
105
102
|
await nonUi5.assertion.expectValueToBe(defaultButton, "Default");
|
|
106
103
|
});
|
|
107
104
|
|
|
108
|
-
it(
|
|
105
|
+
it('Verify button text using "textContent" attribute', async function () {
|
|
109
106
|
const defaultButton = await nonUi5.element.getById("Default", 10000);
|
|
110
107
|
await nonUi5.assertion.expectValueToBe(defaultButton, "Default", "textContent");
|
|
111
108
|
});
|
|
112
109
|
});
|
|
113
110
|
|
|
114
|
-
describe(
|
|
111
|
+
describe('span and "textContent" attribute', function () {
|
|
115
112
|
it("Preparation", async function () {
|
|
116
113
|
await common.navigation.navigateToUrl("http://localhost:34005/buttons.html");
|
|
117
114
|
});
|
|
@@ -126,10 +123,9 @@ describe("userInteraction - attribute and value", function () {
|
|
|
126
123
|
await nonUi5.assertion.expectValueToBe(submittedResultField, "Default");
|
|
127
124
|
});
|
|
128
125
|
|
|
129
|
-
it(
|
|
126
|
+
it('Verify span text using "textContent" attribute', async function () {
|
|
130
127
|
const submittedResultField = await nonUi5.element.getById("display1", 10000);
|
|
131
128
|
await nonUi5.assertion.expectValueToBe(submittedResultField, "Default", "textContent");
|
|
132
129
|
});
|
|
133
130
|
});
|
|
134
|
-
|
|
135
|
-
});
|
|
131
|
+
});
|
|
@@ -25,8 +25,7 @@ describe("userInteraction - clear - no element (error case)", function () {
|
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
it("Execution & Verification", async function () {
|
|
28
|
-
await expect(nonUi5.userInteraction.clear())
|
|
29
|
-
.rejects.toThrow("Function 'clear' failed with: Please provide an element or a CSS selector as first argument.");
|
|
28
|
+
await expect(nonUi5.userInteraction.clear()).rejects.toThrow("Function 'clear' failed with: Please provide an element or a CSS selector as first argument.");
|
|
30
29
|
});
|
|
31
30
|
});
|
|
32
31
|
|
|
@@ -37,7 +36,6 @@ describe("userInteraction - clear - button (error case)", function () {
|
|
|
37
36
|
|
|
38
37
|
it("Execution & Verification", async function () {
|
|
39
38
|
const elem = await nonUi5.element.getById("Default", 10000);
|
|
40
|
-
await expect(nonUi5.userInteraction.clear(elem))
|
|
41
|
-
.rejects.toThrow(/invalid element state/);
|
|
39
|
+
await expect(nonUi5.userInteraction.clear(elem)).rejects.toThrow(/invalid element state/);
|
|
42
40
|
});
|
|
43
|
-
});
|
|
41
|
+
});
|
|
@@ -25,7 +25,7 @@ describe("userInteraction - clearAndFill - form field", function () {
|
|
|
25
25
|
|
|
26
26
|
describe("userInteraction - clearAndFill - form field (error cases)", function () {
|
|
27
27
|
let element;
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
it("Preparation", async function () {
|
|
30
30
|
await common.navigation.navigateToUrl("http://localhost:34005/forms.html");
|
|
31
31
|
element = await nonUi5.element.getById("ExampleValue1", 10000);
|
|
@@ -50,8 +50,6 @@ describe("userInteraction - clearAndFillAndRetry - button (error case)", functio
|
|
|
50
50
|
|
|
51
51
|
it("Execution & Verification", async function () {
|
|
52
52
|
const elem = await nonUi5.element.getById("Default", 10000);
|
|
53
|
-
await expect(nonUi5.userInteraction.clearAndFillAndRetry(elem, "New test value", 1)).rejects.toThrow(
|
|
54
|
-
"Function 'clearAndFillAndRetry' failed with: Retries done. Failed to execute the function: invalid element state"
|
|
55
|
-
);
|
|
53
|
+
await expect(nonUi5.userInteraction.clearAndFillAndRetry(elem, "New test value", 1)).rejects.toThrow("Function 'clearAndFillAndRetry' failed with: Retries done. Failed to execute the function: invalid element state");
|
|
56
54
|
});
|
|
57
55
|
});
|
|
@@ -26,9 +26,7 @@ describe("userInteraction - clearAndRetry - no element (unhappy case)", function
|
|
|
26
26
|
});
|
|
27
27
|
|
|
28
28
|
it("Execution & Verification", async function () {
|
|
29
|
-
await expect(nonUi5.userInteraction.clearAndRetry()).rejects.toThrow(
|
|
30
|
-
"Function 'clearAndRetry' failed with: Please provide an element or a CSS selector as first argument."
|
|
31
|
-
);
|
|
29
|
+
await expect(nonUi5.userInteraction.clearAndRetry()).rejects.toThrow("Function 'clearAndRetry' failed with: Please provide an element or a CSS selector as first argument.");
|
|
32
30
|
});
|
|
33
31
|
});
|
|
34
32
|
|
|
@@ -23,9 +23,7 @@ describe("userInteraction - click - disabled button (unhappy case)", function ()
|
|
|
23
23
|
|
|
24
24
|
it("Execution & Verification", async function () {
|
|
25
25
|
const elem = await nonUi5.element.getById("Not-clickable", 10000);
|
|
26
|
-
await expect(nonUi5.userInteraction.click(elem)).rejects.toThrow(
|
|
27
|
-
/Function 'click' failed with: Timeout \w*|\d* by waiting for element is clickable/
|
|
28
|
-
); // \w*|\d* - placeholder for timeout value
|
|
26
|
+
await expect(nonUi5.userInteraction.click(elem)).rejects.toThrow(/Function 'click' failed with: Timeout \w*|\d* by waiting for element is clickable/); // \w*|\d* - placeholder for timeout value
|
|
29
27
|
});
|
|
30
28
|
});
|
|
31
29
|
|
|
@@ -23,9 +23,7 @@ describe("userInteraction - clickAndRetry - disabled button (unhappy case)", fun
|
|
|
23
23
|
|
|
24
24
|
it("Execution & Verification", async function () {
|
|
25
25
|
const elem = await nonUi5.element.getById("Not-clickable", 10000);
|
|
26
|
-
await expect(nonUi5.userInteraction.clickAndRetry(elem, 1)).rejects.toThrow(
|
|
27
|
-
"Function 'clickAndRetry' failed with: Retries done. Failed to execute the function: Timeout '0.001s' by waiting for element is enabled."
|
|
28
|
-
);
|
|
26
|
+
await expect(nonUi5.userInteraction.clickAndRetry(elem, 1)).rejects.toThrow("Function 'clickAndRetry' failed with: Retries done. Failed to execute the function: Timeout '0.001s' by waiting for element is enabled.");
|
|
29
27
|
});
|
|
30
28
|
});
|
|
31
29
|
|
|
@@ -35,9 +33,7 @@ describe("userInteraction - clickAndRetry - empty value", function () {
|
|
|
35
33
|
});
|
|
36
34
|
|
|
37
35
|
it("Execution & Verification", async function () {
|
|
38
|
-
await expect(nonUi5.userInteraction.clickAndRetry()).rejects.toThrow(
|
|
39
|
-
"Function 'clickAndRetry' failed with: Please provide an element or a CSS selector as first argument."
|
|
40
|
-
);
|
|
36
|
+
await expect(nonUi5.userInteraction.clickAndRetry()).rejects.toThrow("Function 'clickAndRetry' failed with: Please provide an element or a CSS selector as first argument.");
|
|
41
37
|
});
|
|
42
38
|
});
|
|
43
39
|
|
|
@@ -3,7 +3,6 @@ const { BASE_URL } = require("../../../../src/reuse/constants.ts");
|
|
|
3
3
|
const { handleCookiesConsent } = require("../../../helper/utils");
|
|
4
4
|
|
|
5
5
|
describe("userInteraction - clickElementInSvg - UI5 SVG Chart", function () {
|
|
6
|
-
|
|
7
6
|
it("Preparation", async function () {
|
|
8
7
|
await common.navigation.navigateToUrl(`${BASE_URL}/#/entity/sap.suite.ui.commons.ChartContainer/sample/sap.suite.ui.commons.sample.ChartContainerToolbarEnhancement`);
|
|
9
8
|
await handleCookiesConsent();
|
|
@@ -21,5 +20,4 @@ describe("userInteraction - clickElementInSvg - UI5 SVG Chart", function () {
|
|
|
21
20
|
const isPresent = await nonUi5.element.isPresentByCss("path[fill-opacity='1']");
|
|
22
21
|
await common.assertion.expectTrue(isPresent);
|
|
23
22
|
});
|
|
24
|
-
|
|
25
|
-
});
|
|
23
|
+
});
|
|
@@ -20,4 +20,4 @@ describe("userInteraction - Double click on Switch button", async function () {
|
|
|
20
20
|
const elem = await nonUi5.element.getByCss("DIV[class='sapMSlt sapMSltDefault sapMSltMinWidth sapMSltHoverable sapMSltWithArrow']");
|
|
21
21
|
await nonUi5.assertion.expectToBeVisible(elem);
|
|
22
22
|
});
|
|
23
|
-
});
|
|
23
|
+
});
|
|
@@ -35,6 +35,6 @@ describe("userInteraction - dragAndDrop - successful 1", async function () {
|
|
|
35
35
|
// it("Verification", async function () {
|
|
36
36
|
// const targetElement = await nonUi5.element.getById("dropTargetDiv");
|
|
37
37
|
// const text = await targetElement.getText();
|
|
38
|
-
// common.assertion.expectUnequal(text, "");
|
|
38
|
+
// common.assertion.expectUnequal(text, "");
|
|
39
39
|
// });
|
|
40
|
-
// });
|
|
40
|
+
// });
|
|
@@ -33,8 +33,6 @@ describe("userInteraction - fillAndRetry - button (error case)", function () {
|
|
|
33
33
|
|
|
34
34
|
it("Execution & Verification", async function () {
|
|
35
35
|
const elem = await nonUi5.element.getById("Default", 10000);
|
|
36
|
-
await expect(nonUi5.userInteraction.fillAndRetry(elem, "New test value", 1)).rejects.toThrow(
|
|
37
|
-
"Function 'retry' failed with: Retries done. Failed to execute the function"
|
|
38
|
-
);
|
|
36
|
+
await expect(nonUi5.userInteraction.fillAndRetry(elem, "New test value", 1)).rejects.toThrow("Function 'retry' failed with: Retries done. Failed to execute the function");
|
|
39
37
|
});
|
|
40
38
|
});
|
|
@@ -4,7 +4,7 @@ const { handleCookiesConsent } = require("../../../helper/utils");
|
|
|
4
4
|
|
|
5
5
|
describe("userInteraction - selectAll - Input", function () {
|
|
6
6
|
const selector = "input[class='sapMInputBaseInner']";
|
|
7
|
-
|
|
7
|
+
|
|
8
8
|
it("Preparation", async function () {
|
|
9
9
|
await common.navigation.navigateToUrl(`${BASE_URL}/#/entity/sap.ui.comp.smartfield.SmartField/sample/sap.ui.comp.sample.smartfield.Overview`);
|
|
10
10
|
await handleCookiesConsent();
|
|
@@ -20,4 +20,4 @@ describe("userInteraction - selectAll - Input", function () {
|
|
|
20
20
|
it("Verification", async function () {
|
|
21
21
|
await nonUi5.assertion.expectValueToBe(selector, "");
|
|
22
22
|
});
|
|
23
|
-
});
|
|
23
|
+
});
|
|
@@ -26,7 +26,7 @@ exports.config = merge(profile.config, {
|
|
|
26
26
|
path.resolve(__dirname, "rightClick.spec.js"),
|
|
27
27
|
path.resolve(__dirname, "dragAndDrop.spec.js"),
|
|
28
28
|
path.resolve(__dirname, "check.spec.js"),
|
|
29
|
-
path.resolve(__dirname, "uncheck.spec.js")
|
|
29
|
+
path.resolve(__dirname, "uncheck.spec.js")
|
|
30
30
|
],
|
|
31
31
|
|
|
32
32
|
services: [
|