@sap_oss/wdio-qmate-service 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +3 -0
- package/.eslintrc.yml +33 -0
- package/.reuse/dep5 +29 -0
- package/LICENSE +201 -0
- package/LICENSES/Apache-2.0.txt +73 -0
- package/README.md +20 -0
- package/docs/contact.md +10 -0
- package/docs/doc.md +5188 -0
- package/docs/gettingStarted/selectors.md +168 -0
- package/docs/gettingStarted/setup.md +8 -0
- package/docs/index.md +14 -0
- package/docs/style/custom.css +24 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +171 -0
- package/lib/index.js.map +1 -0
- package/lib/reuse/authenticator/authConfig.d.ts +54 -0
- package/lib/reuse/authenticator/authConfig.js +55 -0
- package/lib/reuse/authenticator/authConfig.js.map +1 -0
- package/lib/reuse/authenticator/authHandler.d.ts +6 -0
- package/lib/reuse/authenticator/authHandler.js +37 -0
- package/lib/reuse/authenticator/authHandler.js.map +1 -0
- package/lib/reuse/authenticator/basicUrlAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/basicUrlAuthenticator.js +36 -0
- package/lib/reuse/authenticator/basicUrlAuthenticator.js.map +1 -0
- package/lib/reuse/authenticator/customAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/customAuthenticator.js +60 -0
- package/lib/reuse/authenticator/customAuthenticator.js.map +1 -0
- package/lib/reuse/authenticator/formAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/formAuthenticator.js +57 -0
- package/lib/reuse/authenticator/formAuthenticator.js.map +1 -0
- package/lib/reuse/authenticator/plainAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/plainAuthenticator.js +20 -0
- package/lib/reuse/authenticator/plainAuthenticator.js.map +1 -0
- package/lib/reuse/data/authenticators.json +16 -0
- package/lib/reuse/helper/clientsideUI5scripts.d.ts +1 -0
- package/lib/reuse/helper/clientsideUI5scripts.js +388 -0
- package/lib/reuse/helper/clientsideUI5scripts.js.map +1 -0
- package/lib/reuse/helper/jsDocGen.d.ts +1 -0
- package/lib/reuse/helper/jsDocGen.js +45 -0
- package/lib/reuse/helper/jsDocGen.js.map +1 -0
- package/lib/reuse/index.d.ts +5 -0
- package/lib/reuse/index.js +89 -0
- package/lib/reuse/index.js.map +1 -0
- package/lib/reuse/modules/common/Common.d.ts +12 -0
- package/lib/reuse/modules/common/Common.js +21 -0
- package/lib/reuse/modules/common/Common.js.map +1 -0
- package/lib/reuse/modules/common/assertion.d.ts +65 -0
- package/lib/reuse/modules/common/assertion.js +91 -0
- package/lib/reuse/modules/common/assertion.js.map +1 -0
- package/lib/reuse/modules/common/constants/date.constants.d.ts +8 -0
- package/lib/reuse/modules/common/constants/date.constants.js +13 -0
- package/lib/reuse/modules/common/constants/date.constants.js.map +1 -0
- package/lib/reuse/modules/common/constants/userInteraction.constants.d.ts +9 -0
- package/lib/reuse/modules/common/constants/userInteraction.constants.js +14 -0
- package/lib/reuse/modules/common/constants/userInteraction.constants.js.map +1 -0
- package/lib/reuse/modules/common/date.d.ts +84 -0
- package/lib/reuse/modules/common/date.js +164 -0
- package/lib/reuse/modules/common/date.js.map +1 -0
- package/lib/reuse/modules/common/navigation.d.ts +26 -0
- package/lib/reuse/modules/common/navigation.js +56 -0
- package/lib/reuse/modules/common/navigation.js.map +1 -0
- package/lib/reuse/modules/common/types/date.types.d.ts +2 -0
- package/lib/reuse/modules/common/types/date.types.js +3 -0
- package/lib/reuse/modules/common/types/date.types.js.map +1 -0
- package/lib/reuse/modules/common/userInteraction.d.ts +104 -0
- package/lib/reuse/modules/common/userInteraction.js +199 -0
- package/lib/reuse/modules/common/userInteraction.js.map +1 -0
- package/lib/reuse/modules/nonUi5/NonUi5.d.ts +12 -0
- package/lib/reuse/modules/nonUi5/NonUi5.js +21 -0
- package/lib/reuse/modules/nonUi5/NonUi5.js.map +1 -0
- package/lib/reuse/modules/nonUi5/assertion.d.ts +62 -0
- package/lib/reuse/modules/nonUi5/assertion.js +127 -0
- package/lib/reuse/modules/nonUi5/assertion.js.map +1 -0
- package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.d.ts +6 -0
- package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js +11 -0
- package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js.map +1 -0
- package/lib/reuse/modules/nonUi5/element.d.ts +286 -0
- package/lib/reuse/modules/nonUi5/element.js +639 -0
- package/lib/reuse/modules/nonUi5/element.js.map +1 -0
- package/lib/reuse/modules/nonUi5/navigation.d.ts +17 -0
- package/lib/reuse/modules/nonUi5/navigation.js +44 -0
- package/lib/reuse/modules/nonUi5/navigation.js.map +1 -0
- package/lib/reuse/modules/nonUi5/userInteraction.d.ts +170 -0
- package/lib/reuse/modules/nonUi5/userInteraction.js +415 -0
- package/lib/reuse/modules/nonUi5/userInteraction.js.map +1 -0
- package/lib/reuse/modules/service/Service.d.ts +8 -0
- package/lib/reuse/modules/service/Service.js +17 -0
- package/lib/reuse/modules/service/Service.js.map +1 -0
- package/lib/reuse/modules/service/odata.d.ts +177 -0
- package/lib/reuse/modules/service/odata.js +347 -0
- package/lib/reuse/modules/service/odata.js.map +1 -0
- package/lib/reuse/modules/service/rest.d.ts +66 -0
- package/lib/reuse/modules/service/rest.js +168 -0
- package/lib/reuse/modules/service/rest.js.map +1 -0
- package/lib/reuse/modules/service/soap.d.ts +0 -0
- package/lib/reuse/modules/service/soap.js +2 -0
- package/lib/reuse/modules/service/soap.js.map +1 -0
- package/lib/reuse/modules/ui5/Ui5.d.ts +34 -0
- package/lib/reuse/modules/ui5/Ui5.js +41 -0
- package/lib/reuse/modules/ui5/Ui5.js.map +1 -0
- package/lib/reuse/modules/ui5/assertion.d.ts +183 -0
- package/lib/reuse/modules/ui5/assertion.js +493 -0
- package/lib/reuse/modules/ui5/assertion.js.map +1 -0
- package/lib/reuse/modules/ui5/confirmationDialog.d.ts +86 -0
- package/lib/reuse/modules/ui5/confirmationDialog.js +145 -0
- package/lib/reuse/modules/ui5/confirmationDialog.js.map +1 -0
- package/lib/reuse/modules/ui5/constants/mockserver.constants.d.ts +4 -0
- package/lib/reuse/modules/ui5/constants/mockserver.constants.js +9 -0
- package/lib/reuse/modules/ui5/constants/mockserver.constants.js.map +1 -0
- package/lib/reuse/modules/ui5/control.d.ts +84 -0
- package/lib/reuse/modules/ui5/control.js +132 -0
- package/lib/reuse/modules/ui5/control.js.map +1 -0
- package/lib/reuse/modules/ui5/date.d.ts +48 -0
- package/lib/reuse/modules/ui5/date.js +153 -0
- package/lib/reuse/modules/ui5/date.js.map +1 -0
- package/lib/reuse/modules/ui5/element.d.ts +160 -0
- package/lib/reuse/modules/ui5/element.js +349 -0
- package/lib/reuse/modules/ui5/element.js.map +1 -0
- package/lib/reuse/modules/ui5/errorDialog.d.ts +39 -0
- package/lib/reuse/modules/ui5/errorDialog.js +65 -0
- package/lib/reuse/modules/ui5/errorDialog.js.map +1 -0
- package/lib/reuse/modules/ui5/footerBar.d.ts +153 -0
- package/lib/reuse/modules/ui5/footerBar.js +240 -0
- package/lib/reuse/modules/ui5/footerBar.js.map +1 -0
- package/lib/reuse/modules/ui5/mockserver.d.ts +154 -0
- package/lib/reuse/modules/ui5/mockserver.js +665 -0
- package/lib/reuse/modules/ui5/mockserver.js.map +1 -0
- package/lib/reuse/modules/ui5/navigation.d.ts +103 -0
- package/lib/reuse/modules/ui5/navigation.js +275 -0
- package/lib/reuse/modules/ui5/navigation.js.map +1 -0
- package/lib/reuse/modules/ui5/navigationBar.d.ts +48 -0
- package/lib/reuse/modules/ui5/navigationBar.js +141 -0
- package/lib/reuse/modules/ui5/navigationBar.js.map +1 -0
- package/lib/reuse/modules/ui5/qunit.d.ts +17 -0
- package/lib/reuse/modules/ui5/qunit.js +52 -0
- package/lib/reuse/modules/ui5/qunit.js.map +1 -0
- package/lib/reuse/modules/ui5/session.d.ts +117 -0
- package/lib/reuse/modules/ui5/session.js +374 -0
- package/lib/reuse/modules/ui5/session.js.map +1 -0
- package/lib/reuse/modules/ui5/table.d.ts +61 -0
- package/lib/reuse/modules/ui5/table.js +188 -0
- package/lib/reuse/modules/ui5/table.js.map +1 -0
- package/lib/reuse/modules/ui5/types/mockserver.types.d.ts +2 -0
- package/lib/reuse/modules/ui5/types/mockserver.types.js +3 -0
- package/lib/reuse/modules/ui5/types/mockserver.types.js.map +1 -0
- package/lib/reuse/modules/ui5/userInteraction.d.ts +304 -0
- package/lib/reuse/modules/ui5/userInteraction.js +690 -0
- package/lib/reuse/modules/ui5/userInteraction.js.map +1 -0
- package/lib/reuse/modules/util/Util.d.ts +22 -0
- package/lib/reuse/modules/util/Util.js +27 -0
- package/lib/reuse/modules/util/Util.js.map +1 -0
- package/lib/reuse/modules/util/browser.d.ts +167 -0
- package/lib/reuse/modules/util/browser.js +367 -0
- package/lib/reuse/modules/util/browser.js.map +1 -0
- package/lib/reuse/modules/util/console.d.ts +56 -0
- package/lib/reuse/modules/util/console.js +152 -0
- package/lib/reuse/modules/util/console.js.map +1 -0
- package/lib/reuse/modules/util/constants/formatter.constants.d.ts +11 -0
- package/lib/reuse/modules/util/constants/formatter.constants.js +16 -0
- package/lib/reuse/modules/util/constants/formatter.constants.js.map +1 -0
- package/lib/reuse/modules/util/data.d.ts +36 -0
- package/lib/reuse/modules/util/data.js +87 -0
- package/lib/reuse/modules/util/data.js.map +1 -0
- package/lib/reuse/modules/util/file.d.ts +55 -0
- package/lib/reuse/modules/util/file.js +159 -0
- package/lib/reuse/modules/util/file.js.map +1 -0
- package/lib/reuse/modules/util/formatter.d.ts +90 -0
- package/lib/reuse/modules/util/formatter.js +210 -0
- package/lib/reuse/modules/util/formatter.js.map +1 -0
- package/lib/reuse/modules/util/function.d.ts +48 -0
- package/lib/reuse/modules/util/function.js +161 -0
- package/lib/reuse/modules/util/function.js.map +1 -0
- package/lib/reuse/modules/util/system.d.ts +17 -0
- package/lib/reuse/modules/util/system.js +58 -0
- package/lib/reuse/modules/util/system.js.map +1 -0
- package/lib/reuse/modules/util/types/formatter.types.d.ts +2 -0
- package/lib/reuse/modules/util/types/formatter.types.js +3 -0
- package/lib/reuse/modules/util/types/formatter.types.js.map +1 -0
- package/lib/scripts/clientsideUI5scripts.d.ts +1 -0
- package/lib/scripts/clientsideUI5scripts.js +315 -0
- package/lib/scripts/clientsideUI5scripts.js.map +1 -0
- package/lib/scripts/dataExchange/dataExchange.d.ts +1 -0
- package/lib/scripts/dataExchange/dataExchange.js +224 -0
- package/lib/scripts/dataExchange/dataExchange.js.map +1 -0
- package/lib/scripts/dataExchange/dataExchangeUtil.d.ts +63 -0
- package/lib/scripts/dataExchange/dataExchangeUtil.js +211 -0
- package/lib/scripts/dataExchange/dataExchangeUtil.js.map +1 -0
- package/lib/scripts/hooks/after.d.ts +8 -0
- package/lib/scripts/hooks/after.js +30 -0
- package/lib/scripts/hooks/after.js.map +1 -0
- package/lib/scripts/hooks/before.d.ts +8 -0
- package/lib/scripts/hooks/before.js +38 -0
- package/lib/scripts/hooks/before.js.map +1 -0
- package/lib/scripts/hooks/beforeSession.d.ts +8 -0
- package/lib/scripts/hooks/beforeSession.js +37 -0
- package/lib/scripts/hooks/beforeSession.js.map +1 -0
- package/lib/scripts/hooks/onComplete.d.ts +9 -0
- package/lib/scripts/hooks/onComplete.js +31 -0
- package/lib/scripts/hooks/onComplete.js.map +1 -0
- package/lib/scripts/hooks/onPrepare.d.ts +6 -0
- package/lib/scripts/hooks/onPrepare.js +36 -0
- package/lib/scripts/hooks/onPrepare.js.map +1 -0
- package/lib/scripts/hooks/utils/addLocatorCommands.d.ts +2 -0
- package/lib/scripts/hooks/utils/addLocatorCommands.js +193 -0
- package/lib/scripts/hooks/utils/addLocatorCommands.js.map +1 -0
- package/lib/scripts/hooks/utils/browserLog.d.ts +2 -0
- package/lib/scripts/hooks/utils/browserLog.js +39 -0
- package/lib/scripts/hooks/utils/browserLog.js.map +1 -0
- package/lib/scripts/hooks/utils/dataExchangeCommands.d.ts +9 -0
- package/lib/scripts/hooks/utils/dataExchangeCommands.js +46 -0
- package/lib/scripts/hooks/utils/dataExchangeCommands.js.map +1 -0
- package/lib/scripts/hooks/utils/decryption.d.ts +13 -0
- package/lib/scripts/hooks/utils/decryption.js +90 -0
- package/lib/scripts/hooks/utils/decryption.js.map +1 -0
- package/lib/scripts/hooks/utils/lib.d.ts +4 -0
- package/lib/scripts/hooks/utils/lib.js +330 -0
- package/lib/scripts/hooks/utils/lib.js.map +1 -0
- package/lib/scripts/hooks/utils/locatorCommands.d.ts +10 -0
- package/lib/scripts/hooks/utils/locatorCommands.js +216 -0
- package/lib/scripts/hooks/utils/locatorCommands.js.map +1 -0
- package/lib/scripts/locators/qmateLocator.d.ts +1 -0
- package/lib/scripts/locators/qmateLocator.js +1384 -0
- package/lib/scripts/locators/qmateLocator.js.map +1 -0
- package/lib/scripts/locators/uiveri5Locator.d.ts +1 -0
- package/lib/scripts/locators/uiveri5Locator.js +21 -0
- package/lib/scripts/locators/uiveri5Locator.js.map +1 -0
- package/mkdocs.yml +53 -0
- package/package.json +152 -0
- package/test/.eslintrc.yml +6 -0
- package/test/authenticator/package.json +13 -0
- package/test/authenticator/staticLogin/configCustom.js +22 -0
- package/test/authenticator/staticLogin/configCustomViaConfig.js +20 -0
- package/test/authenticator/staticLogin/configFiori.js +19 -0
- package/test/authenticator/staticLogin/configPlain.js +17 -0
- package/test/authenticator/staticLogin/configSapCloud.js +18 -0
- package/test/authenticator/staticLogin/html/custom.html +10 -0
- package/test/authenticator/staticLogin/html/fiori.html +10 -0
- package/test/authenticator/staticLogin/html/home.html +7 -0
- package/test/authenticator/staticLogin/html/sapCloud.html +10 -0
- package/test/authenticator/staticLogin/specs/custom.spec.js +6 -0
- package/test/authenticator/staticLogin/specs/customViaConfig.spec.js +10 -0
- package/test/authenticator/staticLogin/specs/fiori.spec.js +6 -0
- package/test/authenticator/staticLogin/specs/plain.spec.js +64 -0
- package/test/authenticator/staticLogin/specs/sapCloud.spec.js +6 -0
- package/test/authenticator/staticLogin/staticServerConfig.js +20 -0
- package/test/authenticator/systemLogin/configCustom.js +26 -0
- package/test/authenticator/systemLogin/configFiori.js +24 -0
- package/test/authenticator/systemLogin/configPlain.js +22 -0
- package/test/authenticator/systemLogin/configSapCloud.js +24 -0
- package/test/authenticator/systemLogin/specs/custom.spec.js +13 -0
- package/test/authenticator/systemLogin/specs/fiori.spec.js +12 -0
- package/test/authenticator/systemLogin/specs/plain.spec.js +21 -0
- package/test/authenticator/systemLogin/specs/sapCloud.spec.js +13 -0
- package/test/core/README.md +17 -0
- package/test/core/dataExchange/config.export.js +56 -0
- package/test/core/dataExchange/config.import.js +47 -0
- package/test/core/dataExchange/config.js +52 -0
- package/test/core/dataExchange/config.parallel.group.js +61 -0
- package/test/core/dataExchange/config.parallel.js +58 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/dummy1.txt +0 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/Limit-Purchase-Order.json +29 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/ServicePurchaseOrder.2Items.json +67 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchaseRequisition_HI.json +31 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/LimitPurchaseOrder.json +29 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderItems.json +58 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderWithScheduline.json +27 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServiceAndMaterialPurchaseOrder.json +65 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder.json +39 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder2Items.json +67 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/data.json +5 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/dummy1.txt +0 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/dummy2.txt +0 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/empty.json +0 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/purchaseRequisition.json +31 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/supplierInvoice.json +17 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/webUser.json +6 -0
- package/test/core/dataExchange/data/ui/moreDataFolder/anotherUser.json +6 -0
- package/test/core/dataExchange/data/ui/user.json +6 -0
- package/test/core/dataExchange/data/ui/webUser.json +6 -0
- package/test/core/dataExchange/specs/export.fast.spec.js +48 -0
- package/test/core/dataExchange/specs/export.slow.spec.js +50 -0
- package/test/core/dataExchange/specs/export.spec.js +103 -0
- package/test/core/dataExchange/specs/import.spec.js +144 -0
- package/test/core/dataExchange/specs/importExport.spec.js +196 -0
- package/test/core/dataExchange/utils.js +160 -0
- package/test/core/functional/README.md +30 -0
- package/test/core/functional/chaining/chaining.test.js +137 -0
- package/test/core/functional/chaining/test.conf.js +31 -0
- package/test/core/functional/locators/ancestorProperties.test.js +99 -0
- package/test/core/functional/locators/childProperties.test.js +40 -0
- package/test/core/functional/locators/descendantProperties.test.js +107 -0
- package/test/core/functional/locators/domProperties.test.js +60 -0
- package/test/core/functional/locators/elementProperties.test.js +114 -0
- package/test/core/functional/locators/mixedProperties.test.js +170 -0
- package/test/core/functional/locators/parentProperties.test.js +47 -0
- package/test/core/functional/locators/siblingProperties.test.js +120 -0
- package/test/core/functional/locators/test.locator.conf.js +38 -0
- package/test/core/functional/locators/utils.js +6 -0
- package/test/core/functional/nativeBrowser/runInBrowser.test.js +111 -0
- package/test/core/functional/nativeBrowser/test.conf.js +31 -0
- package/test/core/functional/nonUi5/basic.test.js +10 -0
- package/test/core/functional/nonUi5/getWithDomElement.test.js +51 -0
- package/test/core/functional/nonUi5/getWithDomElements.test.js +141 -0
- package/test/core/functional/nonUi5/test.conf.js +32 -0
- package/test/core/functional/ui5Properties/getAggregations.test.js +102 -0
- package/test/core/functional/ui5Properties/getAssociations.test.js +24 -0
- package/test/core/functional/ui5Properties/getBindingInfos.test.js +71 -0
- package/test/core/functional/ui5Properties/getProperties.test.js +226 -0
- package/test/core/functional/ui5Properties/test.conf.js +16 -0
- package/test/core/functional/uiveri5/sample.test.js +61 -0
- package/test/core/functional/uiveri5/test.conf.js +31 -0
- package/test/core/package-lock.json +0 -0
- package/test/core/package.json +12 -0
- package/test/core/testIntegration/config.js +17 -0
- package/test/core/testIntegration/configMultiCombo.js +17 -0
- package/test/core/testIntegration/configTable.js +18 -0
- package/test/core/testIntegration/filters1.spec.js +1849 -0
- package/test/core/testIntegration/multicombobox.spec.js +134 -0
- package/test/core/testIntegration/table.spec.js +80 -0
- package/test/helper/configurations/base.conf.js +43 -0
- package/test/helper/configurations/chrome.conf.js +47 -0
- package/test/helper/configurations/chrome.headless.conf.js +45 -0
- package/test/helper/configurations/sauce.labs.conf.js +37 -0
- package/test/helper/configurations/sauce.labs.tunnel.conf.js +39 -0
- package/test/helper/sleeper.js +19 -0
- package/test/helper/utils.js +15 -0
- package/test/helper/website/buttons.html +85 -0
- package/test/helper/website/checkBox.html +83 -0
- package/test/helper/website/dragAndDropFailing.html +83 -0
- package/test/helper/website/dragAndDropWdioExample.html +41 -0
- package/test/helper/website/dropdown.html +78 -0
- package/test/helper/website/forms.html +82 -0
- package/test/helper/website/hiddenAndVisible.html +60 -0
- package/test/helper/website/main.css +36 -0
- package/test/helper/website/scrollPage.html +261 -0
- package/test/helper/website/style.css +52 -0
- package/test/helper/website/tables.html +140 -0
- package/test/helper/website/waitForElements.html +73 -0
- package/test/reuse/common/assertion/expectDefined.spec.js +11 -0
- package/test/reuse/common/assertion/expectEqual.spec.js +52 -0
- package/test/reuse/common/assertion/expectFalse.spec.js +9 -0
- package/test/reuse/common/assertion/expectTrue.spec.js +9 -0
- package/test/reuse/common/assertion/expectUndefined.spec.js +11 -0
- package/test/reuse/common/assertion/expectUnequal.spec.js +25 -0
- package/test/reuse/common/assertion/expectUrlToBe.spec.js +27 -0
- package/test/reuse/common/assertion/test.assertion.conf.js +59 -0
- package/test/reuse/common/date/calculate.spec.js +163 -0
- package/test/reuse/common/date/getNextMonth.spec.js +105 -0
- package/test/reuse/common/date/getNextYear.spec.js +72 -0
- package/test/reuse/common/date/getPreviousMonth.spec.js +71 -0
- package/test/reuse/common/date/getPreviousYear.spec.js +72 -0
- package/test/reuse/common/date/getSpecific.spec.js +63 -0
- package/test/reuse/common/date/getToday.spec.js +78 -0
- package/test/reuse/common/date/getTomorrow.spec.js +72 -0
- package/test/reuse/common/date/test.date.conf.js +19 -0
- package/test/reuse/common/date/utils.js +6 -0
- package/test/reuse/common/navigation/navigateToUrl.spec.js +28 -0
- package/test/reuse/common/navigation/navigateToUrlAndRetry.spec.js +27 -0
- package/test/reuse/common/navigation/test.navigation.conf.js +25 -0
- package/test/reuse/common/userInteraction/clearAndFillActive.spec.js +100 -0
- package/test/reuse/common/userInteraction/clearAndFillActiveAndRetry.spec.js +106 -0
- package/test/reuse/common/userInteraction/fillActive.spec.js +230 -0
- package/test/reuse/common/userInteraction/fillActiveAndRetry.spec.js +172 -0
- package/test/reuse/common/userInteraction/pressKey.spec.js +105 -0
- package/test/reuse/common/userInteraction/test.userInteraction.conf.js +53 -0
- package/test/reuse/nonUi5/assertion/expectAttributeToBe.spec.js +45 -0
- package/test/reuse/nonUi5/assertion/expectAttributeToContain.spec.js +43 -0
- package/test/reuse/nonUi5/assertion/expectToBeNotVisible.spec.js +37 -0
- package/test/reuse/nonUi5/assertion/expectToBeVisible.spec.js +63 -0
- package/test/reuse/nonUi5/assertion/expectValueToBe.spec.js +25 -0
- package/test/reuse/nonUi5/assertion/test.assertion.conf.js +60 -0
- package/test/reuse/nonUi5/assertion/test.assertion.sauceLabs.conf.js +64 -0
- package/test/reuse/nonUi5/element/getAllDisplayed.spec.js +39 -0
- package/test/reuse/nonUi5/element/getAttributeValue.spec.js +58 -0
- package/test/reuse/nonUi5/element/getByChild.spec.js +70 -0
- package/test/reuse/nonUi5/element/getByClass.spec.js +64 -0
- package/test/reuse/nonUi5/element/getByCss.spec.js +65 -0
- package/test/reuse/nonUi5/element/getByCssContainingText.spec.js +83 -0
- package/test/reuse/nonUi5/element/getById.spec.js +35 -0
- package/test/reuse/nonUi5/element/getByName.spec.js +30 -0
- package/test/reuse/nonUi5/element/getByParent.spec.js +71 -0
- package/test/reuse/nonUi5/element/getByXPath.spec.js +30 -0
- package/test/reuse/nonUi5/element/getValue.spec.js +51 -0
- package/test/reuse/nonUi5/element/highlight.spec.js +18 -0
- package/test/reuse/nonUi5/element/isPresent.spec.js +39 -0
- package/test/reuse/nonUi5/element/isPresentByCss.spec.js +73 -0
- package/test/reuse/nonUi5/element/isPresentByXPath.spec.js +31 -0
- package/test/reuse/nonUi5/element/setInnerHTML.spec.js +23 -0
- package/test/reuse/nonUi5/element/test.element.conf.js +55 -0
- package/test/reuse/nonUi5/element/test.element.sauceLabs.conf.js +58 -0
- package/test/reuse/nonUi5/element/waitForAll.spec.js +24 -0
- package/test/reuse/nonUi5/element/waitToBeClickable.spec.js +24 -0
- package/test/reuse/nonUi5/element/waitToBePresent.spec.js +32 -0
- package/test/reuse/nonUi5/element/waitToBeVisible.spec.js +36 -0
- package/test/reuse/nonUi5/navigation/navigateToApplication.spec.js +13 -0
- package/test/reuse/nonUi5/navigation/test.navigation.conf.js +14 -0
- package/test/reuse/nonUi5/userInteraction/checkAttributeAndValue.spec.js +135 -0
- package/test/reuse/nonUi5/userInteraction/clear.spec.js +43 -0
- package/test/reuse/nonUi5/userInteraction/clearAndFill.spec.js +51 -0
- package/test/reuse/nonUi5/userInteraction/clearAndFillAndRetry.spec.js +58 -0
- package/test/reuse/nonUi5/userInteraction/clearAndRetry.spec.js +43 -0
- package/test/reuse/nonUi5/userInteraction/click.spec.js +60 -0
- package/test/reuse/nonUi5/userInteraction/clickAndRetry.spec.js +60 -0
- package/test/reuse/nonUi5/userInteraction/clickElementInSvg.spec.js +24 -0
- package/test/reuse/nonUi5/userInteraction/doubleClick.spec.js +22 -0
- package/test/reuse/nonUi5/userInteraction/dragAndDrop.spec.js +40 -0
- package/test/reuse/nonUi5/userInteraction/fill.spec.js +37 -0
- package/test/reuse/nonUi5/userInteraction/fillAndRetry.spec.js +39 -0
- package/test/reuse/nonUi5/userInteraction/mouseOverElement.spec.js +36 -0
- package/test/reuse/nonUi5/userInteraction/moveCursorAndClick.spec.js +24 -0
- package/test/reuse/nonUi5/userInteraction/rightClick.spec.js +13 -0
- package/test/reuse/nonUi5/userInteraction/scrollToElement.spec.js +35 -0
- package/test/reuse/nonUi5/userInteraction/test.userInteraction.conf.js +72 -0
- package/test/reuse/nonUi5/userInteraction/test.userInteraction.sauceLabs.conf.js +78 -0
- package/test/reuse/service/rest/db.json +8 -0
- package/test/reuse/service/rest/delete.spec.js +20 -0
- package/test/reuse/service/rest/get.spec.js +19 -0
- package/test/reuse/service/rest/init.spec.js +35 -0
- package/test/reuse/service/rest/patch.spec.js +29 -0
- package/test/reuse/service/rest/post.spec.js +37 -0
- package/test/reuse/service/rest/test.rest.conf.js +18 -0
- package/test/reuse/ui5/assertion/expectAttributeToBe.spec.js +106 -0
- package/test/reuse/ui5/assertion/expectAttributeToContain.spec.js +78 -0
- package/test/reuse/ui5/assertion/expectBindingContextPathToBe.spec.js +103 -0
- package/test/reuse/ui5/assertion/expectBindingPathToBe.spec.js +164 -0
- package/test/reuse/ui5/assertion/expectMessageToastTextToBe.spec.js +43 -0
- package/test/reuse/ui5/assertion/expectTextToBe.spec.js +39 -0
- package/test/reuse/ui5/assertion/expectToBeEnabled.spec.js +90 -0
- package/test/reuse/ui5/assertion/expectToBeNotEnabled.spec.js +62 -0
- package/test/reuse/ui5/assertion/expectToBeNotVisible.spec.js +52 -0
- package/test/reuse/ui5/assertion/expectToBeVisible.spec.js +69 -0
- package/test/reuse/ui5/assertion/expectToBeVisibleInViewport.spec.js +49 -0
- package/test/reuse/ui5/assertion/expectValidationError.spec.js +54 -0
- package/test/reuse/ui5/assertion/expectValidationSuccess.spec.js +53 -0
- package/test/reuse/ui5/assertion/expectValueToBe.spec.js +57 -0
- package/test/reuse/ui5/assertion/expectValueToBeDefined.spec.js +35 -0
- package/test/reuse/ui5/assertion/test.assertion.conf.js +28 -0
- package/test/reuse/ui5/assertion/test.assertion.sauceLab.conf.js +37 -0
- package/test/reuse/ui5/confirmationDialog/clickCancel.spec.js +88 -0
- package/test/reuse/ui5/confirmationDialog/clickCreate.spec.js +3 -0
- package/test/reuse/ui5/confirmationDialog/clickDelete.spec.js +89 -0
- package/test/reuse/ui5/confirmationDialog/clickNo.spec.js +96 -0
- package/test/reuse/ui5/confirmationDialog/clickOk.spec.js +66 -0
- package/test/reuse/ui5/confirmationDialog/clickRevokeApproval.spec.js +3 -0
- package/test/reuse/ui5/confirmationDialog/clickYes.spec.js +70 -0
- package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.conf.js +20 -0
- package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.sauceLab.conf.js +29 -0
- package/test/reuse/ui5/control/execute.spec.js +29 -0
- package/test/reuse/ui5/control/getAggregationProperty.spec.js +29 -0
- package/test/reuse/ui5/control/getAssociationProperty.spec.js +1 -0
- package/test/reuse/ui5/control/getBindingContextPathProperty.spec.js +30 -0
- package/test/reuse/ui5/control/getProperty.spec.js +30 -0
- package/test/reuse/ui5/control/getPropertyBinding.spec.js +30 -0
- package/test/reuse/ui5/control/test.control.conf.js +19 -0
- package/test/reuse/ui5/control/test.control.sauceLab.conf.js +30 -0
- package/test/reuse/ui5/date/fillRange.spec.js +53 -0
- package/test/reuse/ui5/date/pick.spec.js +136 -0
- package/test/reuse/ui5/date/pickRange.spec.js +143 -0
- package/test/reuse/ui5/date/test.date.conf.js +14 -0
- package/test/reuse/ui5/date/test.date.sauceLab.conf.js +26 -0
- package/test/reuse/ui5/element/getAllDisplayed.spec.js +71 -0
- package/test/reuse/ui5/element/getBindingValue.spec.js +78 -0
- package/test/reuse/ui5/element/getByChild.spec.js +124 -0
- package/test/reuse/ui5/element/getByParent.spec.js +134 -0
- package/test/reuse/ui5/element/getByText.spec.js +67 -0
- package/test/reuse/ui5/element/getDisplayed.spec.js +82 -0
- package/test/reuse/ui5/element/getId.spec.js +72 -0
- package/test/reuse/ui5/element/getPropertyValue.spec.js +91 -0
- package/test/reuse/ui5/element/highlight.spec.js +46 -0
- package/test/reuse/ui5/element/isVisible.spec.js +68 -0
- package/test/reuse/ui5/element/test.element.conf.js +22 -0
- package/test/reuse/ui5/element/test.element.sauceLab.conf.js +33 -0
- package/test/reuse/ui5/errorDialog/clickClose.spec.js +31 -0
- package/test/reuse/ui5/errorDialog/expectToBeVisible.spec.js +30 -0
- package/test/reuse/ui5/errorDialog/test.errorDialog.conf.js +13 -0
- package/test/reuse/ui5/errorDialog/test.errorDialog.sauceLab.conf.js +26 -0
- package/test/reuse/ui5/formatter/addRemoveLeadingZeros.spec.js +18 -0
- package/test/reuse/ui5/formatter/extractNumberFromString.spec.js +34 -0
- package/test/reuse/ui5/formatter/formatDate.spec.js +103 -0
- package/test/reuse/ui5/formatter/test.formatter.conf.js +14 -0
- package/test/reuse/ui5/formatter/test.formatter.sauceLab.conf.js +24 -0
- package/test/reuse/ui5/mockserver_qunit/Component.js +23 -0
- package/test/reuse/ui5/mockserver_qunit/LICENSE.txt +957 -0
- package/test/reuse/ui5/mockserver_qunit/NOTICE.txt +1 -0
- package/test/reuse/ui5/mockserver_qunit/controller/App.controller.js +37 -0
- package/test/reuse/ui5/mockserver_qunit/controller/BaseController.js +30 -0
- package/test/reuse/ui5/mockserver_qunit/controller/Home.controller.js +27 -0
- package/test/reuse/ui5/mockserver_qunit/controller/NotFound.controller.js +34 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/Employee.controller.js +64 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/EmployeeList.controller.js +22 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/Resume.controller.js +83 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverview.controller.js +11 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverviewContent.controller.js +192 -0
- package/test/reuse/ui5/mockserver_qunit/i18n/i18n.properties +42 -0
- package/test/reuse/ui5/mockserver_qunit/index.html +21 -0
- package/test/reuse/ui5/mockserver_qunit/initMockServer.js +16 -0
- package/test/reuse/ui5/mockserver_qunit/localService/metadata.xml +61 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Employees.json +155 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Resumes.json +65 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockserver.js +146 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockserverLoadAllData.js +75 -0
- package/test/reuse/ui5/mockserver_qunit/manifest.json +169 -0
- package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServer.html +63 -0
- package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServerAllData.html +68 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/config.js +92 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/qunitExecution/specs/runQUnitTests.spec.js +14 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/data/setup.json +11 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/specs/testDisplayNotFound.spec.js +71 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Employees.json +204 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Resumes.json +114 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/setup.json +11 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/testShowEmployeeList.json +1 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/specs/testShowEmployeeList.spec.js +118 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/constants.js +25 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockDataMapper.js +23 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockHelper.js +222 -0
- package/test/reuse/ui5/mockserver_qunit/test/unit/allTests.js +6 -0
- package/test/reuse/ui5/mockserver_qunit/test/unit/unitTests.qunit.html +38 -0
- package/test/reuse/ui5/mockserver_qunit/test/unit/utils/Conversions.js +13 -0
- package/test/reuse/ui5/mockserver_qunit/view/App.view.xml +9 -0
- package/test/reuse/ui5/mockserver_qunit/view/Home.view.xml +12 -0
- package/test/reuse/ui5/mockserver_qunit/view/NotFound.view.xml +11 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/Employee.view.xml +52 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/EmployeeList.view.xml +24 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/Resume.view.xml +35 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeHobbies.view.xml +3 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeNotes.view.xml +3 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeProjects.view.xml +3 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverview.view.xml +13 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewContent.view.xml +43 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewTop.view.xml +3 -0
- package/test/reuse/ui5/navigation/closePopups.spec.js +16 -0
- package/test/reuse/ui5/navigation/expectUnsupportedNavigationPopup.spec.js +81 -0
- package/test/reuse/ui5/navigation/navigateToApplication.spec.js +148 -0
- package/test/reuse/ui5/navigation/navigateToApplicationAndRetry.spec.js +153 -0
- package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParams.spec.js +63 -0
- package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParamsAndRetry.spec.js +64 -0
- package/test/reuse/ui5/navigation/navigateToSystemAndApplication.spec.js +45 -0
- package/test/reuse/ui5/navigation/navigateToSystemAndApplicationAndRetry.spec.js +43 -0
- package/test/reuse/ui5/navigation/test.navigation.conf.js +17 -0
- package/test/reuse/ui5/navigation/test.navigation.sauceLab.conf.js +33 -0
- package/test/reuse/ui5/navigation/test.navigation.static.conf.js +34 -0
- package/test/reuse/ui5/navigation/test.navigation.static.sauceLab.conf.js +41 -0
- package/test/reuse/ui5/navigation/website/main.css +36 -0
- package/test/reuse/ui5/navigation/website/main.html +50 -0
- package/test/reuse/ui5/navigationBar/clickBack.spec.js +38 -0
- package/test/reuse/ui5/navigationBar/clickUserIcon.spec.js +36 -0
- package/test/reuse/ui5/navigationBar/expectPageTitle.spec.js +22 -0
- package/test/reuse/ui5/navigationBar/expectShellHeader.spec.js +22 -0
- package/test/reuse/ui5/navigationBar/test.navigationBar.conf.js +17 -0
- package/test/reuse/ui5/navigationBar/test.navigationBar.sauceLab.conf.js +28 -0
- package/test/reuse/ui5/session/login.spec.js +78 -0
- package/test/reuse/ui5/session/loginFiori.spec.js +52 -0
- package/test/reuse/ui5/session/loginSapCloud.spec.js +51 -0
- package/test/reuse/ui5/session/logout.spec.js +48 -0
- package/test/reuse/ui5/session/switchUser.spec.js +48 -0
- package/test/reuse/ui5/session/test.session.conf.js +20 -0
- package/test/reuse/ui5/session/test.session.sauceLab.conf.js +29 -0
- package/test/reuse/ui5/table/clickSettingsButton.spec.js +58 -0
- package/test/reuse/ui5/table/sortColumnAscending.spec.js +84 -0
- package/test/reuse/ui5/table/sortColumnDescending.spec.js +84 -0
- package/test/reuse/ui5/table/test.table.conf.js +14 -0
- package/test/reuse/ui5/table/test.table.sauceLab.conf.js +25 -0
- package/test/reuse/ui5/table/test.table.sauceLab.tunnel.conf.js +25 -0
- package/test/reuse/ui5/userInteraction/clear.spec.js +75 -0
- package/test/reuse/ui5/userInteraction/clearAndFill.spec.js +157 -0
- package/test/reuse/ui5/userInteraction/clearAndFillAndRetry.spec.js +132 -0
- package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInput.spec.js +73 -0
- package/test/reuse/ui5/userInteraction/clearAndRetry.spec.js +57 -0
- package/test/reuse/ui5/userInteraction/click.spec.js +73 -0
- package/test/reuse/ui5/userInteraction/clickAndRetry.spec.js +52 -0
- package/test/reuse/ui5/userInteraction/clickSelectArrow.spec.js +87 -0
- package/test/reuse/ui5/userInteraction/clickSelectArrowAndRetry.spec.js +147 -0
- package/test/reuse/ui5/userInteraction/clickTab.spec.js +59 -0
- package/test/reuse/ui5/userInteraction/doubleClick.spec.js +73 -0
- package/test/reuse/ui5/userInteraction/dragAndDrop.spec.js +34 -0
- package/test/reuse/ui5/userInteraction/fill.spec.js +114 -0
- package/test/reuse/ui5/userInteraction/fillAndRetry.spec.js +120 -0
- package/test/reuse/ui5/userInteraction/mouseOverElement.spec.js +55 -0
- package/test/reuse/ui5/userInteraction/openF4Help.spec.js +56 -0
- package/test/reuse/ui5/userInteraction/rightClick.spec.js +72 -0
- package/test/reuse/ui5/userInteraction/scrollToElement.spec.js +89 -0
- package/test/reuse/ui5/userInteraction/searchFor.spec.js +155 -0
- package/test/reuse/ui5/userInteraction/selectBox.spec.js +128 -0
- package/test/reuse/ui5/userInteraction/selectCombobox.spec.js +115 -0
- package/test/reuse/ui5/userInteraction/selectMultiComboBox.spec.js +155 -0
- package/test/reuse/ui5/userInteraction/test.userInteraction.conf.js +35 -0
- package/test/reuse/ui5/userInteraction/test.userInteraction.sauceLab.conf.js +46 -0
- package/test/reuse/util/browser/back.spec.js +32 -0
- package/test/reuse/util/browser/clearBrowser.spec.js +35 -0
- package/test/reuse/util/browser/executeScript.spec.js +49 -0
- package/test/reuse/util/browser/getBaseUrl.spec.js +13 -0
- package/test/reuse/util/browser/getBrowserName.spec.js +18 -0
- package/test/reuse/util/browser/getCurrentUrl.spec.js +34 -0
- package/test/reuse/util/browser/getCurrentWindow.spec.js +42 -0
- package/test/reuse/util/browser/getUI5Version.spec.js +31 -0
- package/test/reuse/util/browser/logCurrentUrl.spec.js +23 -0
- package/test/reuse/util/browser/refresh.spec.js +52 -0
- package/test/reuse/util/browser/setBaseUrl.spec.js +13 -0
- package/test/reuse/util/browser/switchToDefaultContent.spec.js +34 -0
- package/test/reuse/util/browser/switchToIframe.spec.js +29 -0
- package/test/reuse/util/browser/switchToNewWindow.spec.js +142 -0
- package/test/reuse/util/browser/switchToWindow.spec.js +57 -0
- package/test/reuse/util/browser/test.browser.conf.js +27 -0
- package/test/reuse/util/data/data/test.json +3 -0
- package/test/reuse/util/data/data/test.secure.json +11 -0
- package/test/reuse/util/data/decrypt.spec.js +15 -0
- package/test/reuse/util/data/getData.spec.js +15 -0
- package/test/reuse/util/data/getSecureData.spec.js +57 -0
- package/test/reuse/util/data/test.data.conf.js +22 -0
- package/test/reuse/util/file/file.spec.js +90 -0
- package/test/reuse/util/file/pdfParser.spec.js +55 -0
- package/test/reuse/util/file/test.file.conf.js +15 -0
- package/test/reuse/util/file/testFiles/sample.pdf +198 -0
- package/test/reuse/util/file/testFiles/test.txt +5 -0
- package/test/reuse/util/file/testFiles/test2.txt +2 -0
- package/test/reuse/util/formatter/addRemoveLeadingZeros.spec.js +38 -0
- package/test/reuse/util/formatter/extractNumberFromString.spec.js +67 -0
- package/test/reuse/util/formatter/formatDate.spec.js +150 -0
- package/test/reuse/util/formatter/sliceStringAfter.spec.js +62 -0
- package/test/reuse/util/formatter/sliceStringAt.spec.js +62 -0
- package/test/reuse/util/formatter/stringifyJSON.spec.js +24 -0
- package/test/reuse/util/formatter/test.formatter.conf.js +20 -0
- package/test/reuse/util/formatter/trimString.spec.js +37 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockserver.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/mockserver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class navigation
|
|
3
|
+
* @memberof ui5
|
|
4
|
+
*/
|
|
5
|
+
export declare class Navigation {
|
|
6
|
+
errorText: string;
|
|
7
|
+
/**
|
|
8
|
+
* @function navigateToApplication
|
|
9
|
+
* @memberOf ui5.navigation
|
|
10
|
+
* @description Navigates to the application via the passed intent. The intent will be added to the baseUrl maintained in the config.
|
|
11
|
+
* @param {String} intent - The intent of the application.
|
|
12
|
+
* @param {Boolean} [preventPopups=false] - Specifies if random popup appearance should be prevented.
|
|
13
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
14
|
+
* @param {Boolean} [refresh=false] - Refresh the page after navigation.
|
|
15
|
+
* @example await ui5.navigation.navigateToApplication("PurchaseOrder-manage");
|
|
16
|
+
*/
|
|
17
|
+
navigateToApplication(intent: string, preventPopups?: boolean, verify?: boolean, refresh?: boolean): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* @function navigateToApplicationAndRetry
|
|
20
|
+
* @memberOf ui5.navigation
|
|
21
|
+
* @description Navigates to the application via the passed intent, and retries in case it fails.
|
|
22
|
+
* @param {String} intent - The intent of the app.
|
|
23
|
+
* @param {Boolean} [preventPopups=false] - Specifies if random popup appearance should be prevented. Might not work for specific popups.
|
|
24
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
25
|
+
* @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries.
|
|
26
|
+
* @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals.
|
|
27
|
+
* @example await ui5.navigation.navigateToApplicationAndRetry("PurchaseOrder-manage");
|
|
28
|
+
*/
|
|
29
|
+
navigateToApplicationAndRetry(intent: string, preventPopups?: boolean, verify?: boolean, retries?: number, interval?: number): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* @function navigateToSystemAndApplication
|
|
32
|
+
* @memberOf ui5.navigation
|
|
33
|
+
* @description Navigates within the passed system to the application via the passed intent.
|
|
34
|
+
* @param {String} system - The system url.
|
|
35
|
+
* @param {String} intent - The intent of the application.
|
|
36
|
+
* @param {Boolean} [closePopups=false] - Specifies if random popups should be closed after the navigation.
|
|
37
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
38
|
+
* @example await ui5.navigation.navigateToSystemAndApplication("yourFioriLaunchpad.domain", "PurchaseOrder-manage");
|
|
39
|
+
*/
|
|
40
|
+
navigateToSystemAndApplication(system: string, intent: string, closePopups?: boolean, verify?: boolean): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* @function navigateToSystemAndApplicationAndRetry
|
|
43
|
+
* @memberOf ui5.navigation
|
|
44
|
+
* @description Navigates within the passed system to the application via the passed intent, and retries in case it fails.
|
|
45
|
+
* @param {String} system - The system url.
|
|
46
|
+
* @param {String} intent - The intent of the application.
|
|
47
|
+
* @param {Boolean} [closePopups=false] - Specifies if random popups should be closed after the navigation.
|
|
48
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
49
|
+
* @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries.
|
|
50
|
+
* @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals.
|
|
51
|
+
* @example await ui5.navigation.navigateToSystemAndApplicationAndRetry("yourFioriLaunchpad.domain", "PurchaseOrder-manage");
|
|
52
|
+
*/
|
|
53
|
+
navigateToSystemAndApplicationAndRetry(system: string, intent: string, closePopups?: boolean, verify?: boolean, retries?: number, interval?: number): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* @function navigateToApplicationWithQueryParams
|
|
56
|
+
* @memberOf ui5.navigation
|
|
57
|
+
* @description Navigates to the application with the passed queryParams via the passed intent.
|
|
58
|
+
* @param {String} intent - The intent of the app.
|
|
59
|
+
* @param {String} queryParams - [OPTIONAL] Add url query params.
|
|
60
|
+
* @param {Boolean} [preventPopups=false] - Specifies if random popup appearance should be prevented.
|
|
61
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
62
|
+
* @example const intent = "PurchaseOrder-manage"
|
|
63
|
+
* const queryParams = "?sap-language=EN&responderOn=true";
|
|
64
|
+
* await ui5.navigation.navigateToApplicationWithQueryParams(intent, queryParams);
|
|
65
|
+
*/
|
|
66
|
+
navigateToApplicationWithQueryParams(intent: string, queryParams?: string, closePopups?: boolean, verify?: boolean): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* @function navigateToApplicationWithQueryParamsAndRetry
|
|
69
|
+
* @memberOf ui5.navigation
|
|
70
|
+
* @description Navigates to the application via the passed intent, and retries in case it fails.
|
|
71
|
+
* @param {String} intent - The intent of the app.
|
|
72
|
+
* @param {String} queryParams - [OPTIONAL] Add url query params.
|
|
73
|
+
* @param {Boolean} [preventPopups=false] - Specifies if random popup appearance should be prevented.
|
|
74
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
75
|
+
* @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries.
|
|
76
|
+
* @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals.
|
|
77
|
+
* @example const intent = "PurchaseOrder-manage"
|
|
78
|
+
* const queryParams = "?sap-language=EN&responderOn=true";
|
|
79
|
+
* await ui5.navigation.navigateToApplicationWithQueryParamsAndRetry(intent, queryParams);
|
|
80
|
+
*/
|
|
81
|
+
navigateToApplicationWithQueryParamsAndRetry(intent: string, queryParams: string, closePopups?: boolean, verify?: boolean, retries?: number, interval?: number): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* @function closePopups
|
|
84
|
+
* @memberOf ui5.navigation
|
|
85
|
+
* @description Closes all popups if they occur after navigating to a specific page.
|
|
86
|
+
* @param {Number} [timeout=30000] - The timeout to wait.
|
|
87
|
+
* @example await ui5.navigation.closePopups();
|
|
88
|
+
*/
|
|
89
|
+
closePopups(timeout?: number): Promise<void[]>;
|
|
90
|
+
/**
|
|
91
|
+
* @function expectUnsupportedNavigationPopup
|
|
92
|
+
* @memberOf ui5.navigation
|
|
93
|
+
* @description Expects navigation to an app that is not supported.
|
|
94
|
+
* This can be the case for Mocked tests when the application does not exist or when the app is not included in a role.
|
|
95
|
+
* @param {String} navigationTarget - The selector describing the element.
|
|
96
|
+
* @example await ui5.navigation.expectUnsupportedNavigationPopup("#SupplierInvoice-display?FiscalYear=1234&SupplierInvoice=1234567890");
|
|
97
|
+
*/
|
|
98
|
+
expectUnsupportedNavigationPopup(navigationTarget: string): Promise<void>;
|
|
99
|
+
private _generateUrlParams;
|
|
100
|
+
private _closePopup;
|
|
101
|
+
}
|
|
102
|
+
declare const _default: Navigation;
|
|
103
|
+
export default _default;
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Navigation = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* @class navigation
|
|
15
|
+
* @memberof ui5
|
|
16
|
+
*/
|
|
17
|
+
class Navigation {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.errorText = "Navigation failed because page didn't load, possible reasons: " + "Site is down, or you are using a wrong address. For retrying use 'navigateToApplicationAndRetry'.\n";
|
|
20
|
+
}
|
|
21
|
+
// =================================== MAIN ===================================
|
|
22
|
+
/**
|
|
23
|
+
* @function navigateToApplication
|
|
24
|
+
* @memberOf ui5.navigation
|
|
25
|
+
* @description Navigates to the application via the passed intent. The intent will be added to the baseUrl maintained in the config.
|
|
26
|
+
* @param {String} intent - The intent of the application.
|
|
27
|
+
* @param {Boolean} [preventPopups=false] - Specifies if random popup appearance should be prevented.
|
|
28
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
29
|
+
* @param {Boolean} [refresh=false] - Refresh the page after navigation.
|
|
30
|
+
* @example await ui5.navigation.navigateToApplication("PurchaseOrder-manage");
|
|
31
|
+
*/
|
|
32
|
+
navigateToApplication(intent, preventPopups = false, verify = false, refresh = true) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
let urlParams = "";
|
|
35
|
+
if (preventPopups) {
|
|
36
|
+
urlParams = this._generateUrlParams();
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
yield browser.navigateTo(`${browser.config.baseUrl.split("#")[0] + urlParams}#${intent}`);
|
|
40
|
+
const url = yield browser.getUrl();
|
|
41
|
+
yield util.browser.logCurrentUrl();
|
|
42
|
+
if (url && url.indexOf(intent) === -1 && verify) {
|
|
43
|
+
throw new Error("Verification of function 'navigateToApplication' failed. For retrying use 'navigateToApplicationAndRetry'.");
|
|
44
|
+
}
|
|
45
|
+
if (refresh) {
|
|
46
|
+
yield util.browser.refresh();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
throw new Error(this.errorText + error);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @function navigateToApplicationAndRetry
|
|
56
|
+
* @memberOf ui5.navigation
|
|
57
|
+
* @description Navigates to the application via the passed intent, and retries in case it fails.
|
|
58
|
+
* @param {String} intent - The intent of the app.
|
|
59
|
+
* @param {Boolean} [preventPopups=false] - Specifies if random popup appearance should be prevented. Might not work for specific popups.
|
|
60
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
61
|
+
* @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries.
|
|
62
|
+
* @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals.
|
|
63
|
+
* @example await ui5.navigation.navigateToApplicationAndRetry("PurchaseOrder-manage");
|
|
64
|
+
*/
|
|
65
|
+
navigateToApplicationAndRetry(intent, preventPopups = true, verify = true, retries = 3, interval = 5000) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
yield util.function.retry((intent, preventPopups) => __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
yield this.navigateToApplication(intent, preventPopups, verify);
|
|
69
|
+
}), [intent, preventPopups, verify], retries, interval, this);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* @function navigateToSystemAndApplication
|
|
74
|
+
* @memberOf ui5.navigation
|
|
75
|
+
* @description Navigates within the passed system to the application via the passed intent.
|
|
76
|
+
* @param {String} system - The system url.
|
|
77
|
+
* @param {String} intent - The intent of the application.
|
|
78
|
+
* @param {Boolean} [closePopups=false] - Specifies if random popups should be closed after the navigation.
|
|
79
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
80
|
+
* @example await ui5.navigation.navigateToSystemAndApplication("yourFioriLaunchpad.domain", "PurchaseOrder-manage");
|
|
81
|
+
*/
|
|
82
|
+
navigateToSystemAndApplication(system, intent, closePopups = true, verify = false) {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
try {
|
|
85
|
+
yield browser.navigateTo(`https://${system}/ui#${intent}`);
|
|
86
|
+
const url = yield browser.getUrl();
|
|
87
|
+
yield util.browser.logCurrentUrl();
|
|
88
|
+
if (url && url.indexOf(intent) === -1 && verify) {
|
|
89
|
+
throw new Error("Verification of function 'navigateToSystemAndApplication' failed. For retrying use 'navigateToSystemAndApplicationAndRetry'.");
|
|
90
|
+
}
|
|
91
|
+
if (closePopups) {
|
|
92
|
+
yield this.closePopups();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
throw new Error(this.errorText + error);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* @function navigateToSystemAndApplicationAndRetry
|
|
102
|
+
* @memberOf ui5.navigation
|
|
103
|
+
* @description Navigates within the passed system to the application via the passed intent, and retries in case it fails.
|
|
104
|
+
* @param {String} system - The system url.
|
|
105
|
+
* @param {String} intent - The intent of the application.
|
|
106
|
+
* @param {Boolean} [closePopups=false] - Specifies if random popups should be closed after the navigation.
|
|
107
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
108
|
+
* @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries.
|
|
109
|
+
* @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals.
|
|
110
|
+
* @example await ui5.navigation.navigateToSystemAndApplicationAndRetry("yourFioriLaunchpad.domain", "PurchaseOrder-manage");
|
|
111
|
+
*/
|
|
112
|
+
navigateToSystemAndApplicationAndRetry(system, intent, closePopups = true, verify = true, retries = 3, interval = 5000) {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
yield util.function.retry((system, intent, closePopups) => __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
yield this.navigateToSystemAndApplication(system, intent, closePopups, verify);
|
|
116
|
+
}), [system, intent, closePopups, verify], retries, interval, this);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* @function navigateToApplicationWithQueryParams
|
|
121
|
+
* @memberOf ui5.navigation
|
|
122
|
+
* @description Navigates to the application with the passed queryParams via the passed intent.
|
|
123
|
+
* @param {String} intent - The intent of the app.
|
|
124
|
+
* @param {String} queryParams - [OPTIONAL] Add url query params.
|
|
125
|
+
* @param {Boolean} [preventPopups=false] - Specifies if random popup appearance should be prevented.
|
|
126
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
127
|
+
* @example const intent = "PurchaseOrder-manage"
|
|
128
|
+
* const queryParams = "?sap-language=EN&responderOn=true";
|
|
129
|
+
* await ui5.navigation.navigateToApplicationWithQueryParams(intent, queryParams);
|
|
130
|
+
*/
|
|
131
|
+
navigateToApplicationWithQueryParams(intent, queryParams = "", closePopups = true, verify = false) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
let url;
|
|
134
|
+
try {
|
|
135
|
+
yield browser.url(`${browser.config.baseUrl}${queryParams}#${intent}`);
|
|
136
|
+
url = yield browser.getUrl();
|
|
137
|
+
yield util.browser.logCurrentUrl();
|
|
138
|
+
if (url && url.indexOf(intent) === -1 && verify) {
|
|
139
|
+
throw new Error("Verification of function 'navigateToApplication' failed. For retrying use 'navigateToApplicationAndRetry'.");
|
|
140
|
+
}
|
|
141
|
+
if (closePopups) {
|
|
142
|
+
yield ui5.navigation.closePopups();
|
|
143
|
+
}
|
|
144
|
+
yield browser.refresh();
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
throw new Error(this.errorText + error);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* @function navigateToApplicationWithQueryParamsAndRetry
|
|
153
|
+
* @memberOf ui5.navigation
|
|
154
|
+
* @description Navigates to the application via the passed intent, and retries in case it fails.
|
|
155
|
+
* @param {String} intent - The intent of the app.
|
|
156
|
+
* @param {String} queryParams - [OPTIONAL] Add url query params.
|
|
157
|
+
* @param {Boolean} [preventPopups=false] - Specifies if random popup appearance should be prevented.
|
|
158
|
+
* @param {Boolean} [verify=false] - Specifies if the url should be asserted after the navigation.
|
|
159
|
+
* @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries.
|
|
160
|
+
* @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals.
|
|
161
|
+
* @example const intent = "PurchaseOrder-manage"
|
|
162
|
+
* const queryParams = "?sap-language=EN&responderOn=true";
|
|
163
|
+
* await ui5.navigation.navigateToApplicationWithQueryParamsAndRetry(intent, queryParams);
|
|
164
|
+
*/
|
|
165
|
+
navigateToApplicationWithQueryParamsAndRetry(intent, queryParams, closePopups = true, verify = true, retries = 3, interval = 5000) {
|
|
166
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
167
|
+
yield util.function.retry((intent, queryParams, closePopups, verify) => __awaiter(this, void 0, void 0, function* () {
|
|
168
|
+
yield this.navigateToApplicationWithQueryParams(intent, queryParams, closePopups, verify);
|
|
169
|
+
}), [intent, queryParams, closePopups, verify], retries, interval, this);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
// =================================== POPUPS ===================================
|
|
173
|
+
/**
|
|
174
|
+
* @function closePopups
|
|
175
|
+
* @memberOf ui5.navigation
|
|
176
|
+
* @description Closes all popups if they occur after navigating to a specific page.
|
|
177
|
+
* @param {Number} [timeout=30000] - The timeout to wait.
|
|
178
|
+
* @example await ui5.navigation.closePopups();
|
|
179
|
+
*/
|
|
180
|
+
closePopups(timeout = 30000) {
|
|
181
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
182
|
+
const popups = [
|
|
183
|
+
{
|
|
184
|
+
name: "Help Dialog",
|
|
185
|
+
selector: ".help4-wrapper button"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: "SAML Dialog",
|
|
189
|
+
selector: "BUTTON[class='sapMBtnBase sapMBtn sapMDialogEndButton sapMBarChild']"
|
|
190
|
+
}
|
|
191
|
+
];
|
|
192
|
+
const popupHandlers = popups.map(popup => this._closePopup(popup, timeout));
|
|
193
|
+
return Promise.all(popupHandlers);
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
// =================================== ASSERTION ===================================
|
|
197
|
+
/**
|
|
198
|
+
* @function expectUnsupportedNavigationPopup
|
|
199
|
+
* @memberOf ui5.navigation
|
|
200
|
+
* @description Expects navigation to an app that is not supported.
|
|
201
|
+
* This can be the case for Mocked tests when the application does not exist or when the app is not included in a role.
|
|
202
|
+
* @param {String} navigationTarget - The selector describing the element.
|
|
203
|
+
* @example await ui5.navigation.expectUnsupportedNavigationPopup("#SupplierInvoice-display?FiscalYear=1234&SupplierInvoice=1234567890");
|
|
204
|
+
*/
|
|
205
|
+
expectUnsupportedNavigationPopup(navigationTarget) {
|
|
206
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
207
|
+
const unsupportedNavigationPopup = {
|
|
208
|
+
elementProperties: {
|
|
209
|
+
metadata: "sap.m.Dialog",
|
|
210
|
+
type: "Message",
|
|
211
|
+
state: "Error"
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
yield ui5.assertion.expectToBeVisible(unsupportedNavigationPopup);
|
|
215
|
+
const moreDetailsButton = {
|
|
216
|
+
elementProperties: {
|
|
217
|
+
metadata: "sap.m.Link",
|
|
218
|
+
ancestor: unsupportedNavigationPopup
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
yield ui5.userInteraction.click(moreDetailsButton);
|
|
222
|
+
const selector = {
|
|
223
|
+
elementProperties: {
|
|
224
|
+
metadata: "sap.m.FormattedText",
|
|
225
|
+
ancestorProperties: unsupportedNavigationPopup
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
const detailsTextElement = yield ui5.element.getDisplayed(selector);
|
|
229
|
+
const dataHtmlText = yield detailsTextElement.getAttribute("data-htmltext");
|
|
230
|
+
const stringExists = yield dataHtmlText.includes(navigationTarget.replace(/&/g, "&"));
|
|
231
|
+
return common.assertion.expectTrue(stringExists);
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
// =================================== HELPER ===================================
|
|
235
|
+
_generateUrlParams() {
|
|
236
|
+
let urlParams;
|
|
237
|
+
let prefix;
|
|
238
|
+
if (browser.config.baseUrl.includes("ui?")) {
|
|
239
|
+
prefix = "&";
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
prefix = "?";
|
|
243
|
+
}
|
|
244
|
+
if (browser.config.baseUrl.includes("help-readCatalog=false") && browser.config.baseUrl.includes("help-stateUACP=PRODUCTION")) {
|
|
245
|
+
urlParams = "";
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
if (browser.config.baseUrl.includes("help-readCatalog=false") && !browser.config.baseUrl.includes("help-stateUACP=PRODUCTION")) {
|
|
249
|
+
urlParams = "help-stateUACP=PRODUCTION";
|
|
250
|
+
}
|
|
251
|
+
else if (!browser.config.baseUrl.includes("help-readCatalog=false") && browser.config.baseUrl.includes("help-stateUACP=PRODUCTION")) {
|
|
252
|
+
urlParams = "help-readCatalog=false";
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
urlParams = "help-readCatalog=false&help-stateUACP=PRODUCTION";
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
return prefix + urlParams;
|
|
259
|
+
}
|
|
260
|
+
_closePopup(popup, timeout = 30000) {
|
|
261
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
262
|
+
try {
|
|
263
|
+
const elem = yield nonUi5.element.getByCss(popup.selector, 0, timeout);
|
|
264
|
+
yield nonUi5.userInteraction.click(elem);
|
|
265
|
+
util.console.log(`${popup.name} was closed.`);
|
|
266
|
+
}
|
|
267
|
+
catch (error) {
|
|
268
|
+
util.console.log(`${popup.name} not found.`);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
exports.Navigation = Navigation;
|
|
274
|
+
exports.default = new Navigation();
|
|
275
|
+
//# sourceMappingURL=navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class navigationBar
|
|
3
|
+
* @memberof ui5
|
|
4
|
+
*/
|
|
5
|
+
export declare class NavigationBar {
|
|
6
|
+
/**
|
|
7
|
+
* @function clickBack
|
|
8
|
+
* @memberOf ui5.navigationBar
|
|
9
|
+
* @description Navigates one layer back.
|
|
10
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
11
|
+
* @example await ui5.navigationBar.clickBack();
|
|
12
|
+
*/
|
|
13
|
+
clickBack(timeout?: string | number): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* @function clickSapLogo
|
|
16
|
+
* @memberOf ui5.navigationBar
|
|
17
|
+
* @description Clicks at the SAP Logo.
|
|
18
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
19
|
+
* @example await ui5.navigationBar.clickSapLogo();
|
|
20
|
+
*/
|
|
21
|
+
clickSapLogo(timeout?: string | number): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* @function clickUserIcon
|
|
24
|
+
* @memberOf ui5.navigationBar
|
|
25
|
+
* @description Clicks at the Account Icon.
|
|
26
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
27
|
+
* @example await ui5.navigationBar.clickUserIcon();
|
|
28
|
+
*/
|
|
29
|
+
clickUserIcon(timeout?: string | number): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* @function expectPageTitle
|
|
32
|
+
* @memberOf ui5.navigationBar
|
|
33
|
+
* @description Expects the page title of the current page to be the compare value.
|
|
34
|
+
* @param {String} compareValue - The compare value.
|
|
35
|
+
* @example await ui5.navigationBar.expectPageTitle("Home");
|
|
36
|
+
*/
|
|
37
|
+
expectPageTitle(compareValue: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* @function expectShellHeader
|
|
40
|
+
* @memberOf ui5.navigationBar
|
|
41
|
+
* @description Expects the shell header to be visible
|
|
42
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
43
|
+
* @example await ui5.navigationBar.expectShellHeader();
|
|
44
|
+
*/
|
|
45
|
+
expectShellHeader(timeout?: string | number, loadPropertyTimeout?: string | number): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
declare const _default: NavigationBar;
|
|
48
|
+
export default _default;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.NavigationBar = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* @class navigationBar
|
|
15
|
+
* @memberof ui5
|
|
16
|
+
*/
|
|
17
|
+
class NavigationBar {
|
|
18
|
+
/**
|
|
19
|
+
* @function clickBack
|
|
20
|
+
* @memberOf ui5.navigationBar
|
|
21
|
+
* @description Navigates one layer back.
|
|
22
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
23
|
+
* @example await ui5.navigationBar.clickBack();
|
|
24
|
+
*/
|
|
25
|
+
clickBack(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const selector = {
|
|
28
|
+
"elementProperties": {
|
|
29
|
+
"metadata": "sap.ushell.ui.shell.ShellHeadItem",
|
|
30
|
+
"id": "backBtn"
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
try {
|
|
34
|
+
yield ui5.userInteraction.click(selector, 0, timeout);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
throw new Error(`Function 'clickBack' failed: ${error}`);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
;
|
|
42
|
+
/**
|
|
43
|
+
* @function clickSapLogo
|
|
44
|
+
* @memberOf ui5.navigationBar
|
|
45
|
+
* @description Clicks at the SAP Logo.
|
|
46
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
47
|
+
* @example await ui5.navigationBar.clickSapLogo();
|
|
48
|
+
*/
|
|
49
|
+
clickSapLogo(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const selector = {
|
|
52
|
+
"id": "shell-header-logo"
|
|
53
|
+
};
|
|
54
|
+
try {
|
|
55
|
+
yield ui5.userInteraction.click(selector, 0, timeout);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
throw new Error(`Function 'clickSapLogo' failed: ${error}`);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
;
|
|
63
|
+
/**
|
|
64
|
+
* @function clickUserIcon
|
|
65
|
+
* @memberOf ui5.navigationBar
|
|
66
|
+
* @description Clicks at the Account Icon.
|
|
67
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
68
|
+
* @example await ui5.navigationBar.clickUserIcon();
|
|
69
|
+
*/
|
|
70
|
+
clickUserIcon(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
const selector = {
|
|
73
|
+
"elementProperties": {
|
|
74
|
+
"id": "meAreaHeaderButton"
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
try {
|
|
78
|
+
yield ui5.userInteraction.click(selector, 0, timeout);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
throw new Error(`Function 'clickUserIcon' failed: ${error}`);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
;
|
|
86
|
+
// =================================== ASSERTION ===================================
|
|
87
|
+
/**
|
|
88
|
+
* @function expectPageTitle
|
|
89
|
+
* @memberOf ui5.navigationBar
|
|
90
|
+
* @description Expects the page title of the current page to be the compare value.
|
|
91
|
+
* @param {String} compareValue - The compare value.
|
|
92
|
+
* @example await ui5.navigationBar.expectPageTitle("Home");
|
|
93
|
+
*/
|
|
94
|
+
expectPageTitle(compareValue) {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
const selector = {
|
|
97
|
+
"elementProperties": {
|
|
98
|
+
"metadata": "sap.ushell.ui.shell.ShellAppTitle",
|
|
99
|
+
"mProperties": {
|
|
100
|
+
"text": compareValue
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
try {
|
|
105
|
+
yield ui5.assertion.expectToBeVisibleInViewport(selector);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
throw new Error(`Function 'expectPageTitle' failed: ${error}`);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
;
|
|
113
|
+
/**
|
|
114
|
+
* @function expectShellHeader
|
|
115
|
+
* @memberOf ui5.navigationBar
|
|
116
|
+
* @description Expects the shell header to be visible
|
|
117
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
118
|
+
* @example await ui5.navigationBar.expectShellHeader();
|
|
119
|
+
*/
|
|
120
|
+
expectShellHeader(timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000, loadPropertyTimeout = process.env.LOAD_PROPERTY_TIMEOUT || 10000) {
|
|
121
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
+
const selector = {
|
|
123
|
+
"elementProperties": {
|
|
124
|
+
"metadata": "sap.ushell.ui.ShellHeader",
|
|
125
|
+
"id": "shell-header"
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
try {
|
|
129
|
+
yield ui5.assertion.expectToBeVisible(selector, 0, timeout, loadPropertyTimeout);
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
throw new Error(`Function 'expectPageTitle' failed: ${error}`);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
;
|
|
137
|
+
}
|
|
138
|
+
exports.NavigationBar = NavigationBar;
|
|
139
|
+
;
|
|
140
|
+
exports.default = new NavigationBar();
|
|
141
|
+
//# sourceMappingURL=navigationBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigationBar.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/navigationBar.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb;;;GAGG;AACH,MAAa,aAAa;IAExB;;;;;;OAMG;IACG,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YACjE,MAAM,QAAQ,GAAG;gBACf,mBAAmB,EAAE;oBACnB,UAAU,EAAE,mCAAmC;oBAC/C,IAAI,EAAE,SAAS;iBAChB;aACF,CAAC;YACF,IAAI;gBACF,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;aACvD;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;aAC1D;QACH,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;OAMG;IACG,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YACpE,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,mBAAmB;aAC1B,CAAC;YACF,IAAI;gBACF,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;aACvD;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;aAC7D;QACH,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;OAMG;IACG,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK;;YACrE,MAAM,QAAQ,GAAG;gBACf,mBAAmB,EAAE;oBACnB,IAAI,EAAE,oBAAoB;iBAC3B;aACF,CAAC;YACF,IAAI;gBACF,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;aACvD;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;aAC9D;QACH,CAAC;KAAA;IAAA,CAAC;IAGF,oFAAoF;IACpF;;;;;;OAMG;IACG,eAAe,CAAC,YAAoB;;YACxC,MAAM,QAAQ,GAAG;gBACf,mBAAmB,EAAE;oBACnB,UAAU,EAAE,mCAAmC;oBAC/C,aAAa,EAAE;wBACb,MAAM,EAAE,YAAY;qBACrB;iBACF;aACF,CAAC;YACF,IAAI;gBACF,MAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;aAC3D;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;aAChE;QACH,CAAC;KAAA;IAAA,CAAC;IAEF;;;;;;OAMG;IACG,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,KAAK;;YAC3I,MAAM,QAAQ,GAAG;gBACf,mBAAmB,EAAE;oBACnB,UAAU,EAAE,2BAA2B;oBACvC,IAAI,EAAE,cAAc;iBACrB;aACF,CAAC;YACF,IAAI;gBACF,MAAM,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;aAClF;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;aAChE;QACH,CAAC;KAAA;IAAA,CAAC;CAEH;AA3GD,sCA2GC;AAAA,CAAC;AACF,kBAAe,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class qunit
|
|
3
|
+
* @memberof ui5
|
|
4
|
+
*/
|
|
5
|
+
export declare class QUnit {
|
|
6
|
+
private clientsidescripts;
|
|
7
|
+
/**
|
|
8
|
+
* @function executeTests
|
|
9
|
+
* @memberOf ui5.qunit
|
|
10
|
+
* @description Executes QUnit & OPA5 tests. Qmate acts like a runner.
|
|
11
|
+
* @param {String} path - Relative path to the QUnit/OPA5 html file.
|
|
12
|
+
* @example await ui5.qunit.executeTests("path/to/qunit.html");
|
|
13
|
+
*/
|
|
14
|
+
executeTests(path: string): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: QUnit;
|
|
17
|
+
export default _default;
|