@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":"userInteraction.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/userInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Browser } from './browser';
|
|
2
|
+
import { Console } from './console';
|
|
3
|
+
import { Data } from './data';
|
|
4
|
+
import { File } from './file';
|
|
5
|
+
import { Formatter } from './formatter';
|
|
6
|
+
import { FunctionModule } from './function';
|
|
7
|
+
import { System } from './system';
|
|
8
|
+
interface DataHooksExtended extends Data {
|
|
9
|
+
decrypt: (input: string) => string;
|
|
10
|
+
privateKeyFound: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class Util {
|
|
13
|
+
browser: Browser;
|
|
14
|
+
console: Console;
|
|
15
|
+
data: DataHooksExtended;
|
|
16
|
+
file: File;
|
|
17
|
+
formatter: Formatter;
|
|
18
|
+
function: FunctionModule;
|
|
19
|
+
system: System;
|
|
20
|
+
}
|
|
21
|
+
declare const _default: Util;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Util = void 0;
|
|
7
|
+
const browser_1 = __importDefault(require("./browser"));
|
|
8
|
+
const console_1 = __importDefault(require("./console"));
|
|
9
|
+
const data_1 = __importDefault(require("./data"));
|
|
10
|
+
const file_1 = __importDefault(require("./file"));
|
|
11
|
+
const formatter_1 = __importDefault(require("./formatter"));
|
|
12
|
+
const function_1 = __importDefault(require("./function"));
|
|
13
|
+
const system_1 = __importDefault(require("./system"));
|
|
14
|
+
class Util {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.browser = browser_1.default;
|
|
17
|
+
this.console = console_1.default;
|
|
18
|
+
this.data = data_1.default;
|
|
19
|
+
this.file = file_1.default;
|
|
20
|
+
this.formatter = formatter_1.default;
|
|
21
|
+
this.function = function_1.default;
|
|
22
|
+
this.system = system_1.default;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.Util = Util;
|
|
26
|
+
exports.default = new Util();
|
|
27
|
+
//# sourceMappingURL=Util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../../src/reuse/modules/util/Util.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA2C;AAC3C,wDAA2C;AAC3C,kDAAoC;AACpC,kDAAoC;AACpC,4DAAmD;AACnD,0DAA4D;AAC5D,sDAAwC;AAOxC,MAAa,IAAI;IAAjB;QACI,YAAO,GAAY,iBAAO,CAAA;QAC1B,YAAO,GAAY,iBAAO,CAAA;QAC1B,SAAI,GAAsB,cAAyB,CAAA;QACnD,SAAI,GAAS,cAAI,CAAA;QACjB,cAAS,GAAc,mBAAS,CAAA;QAChC,aAAQ,GAAmB,kBAAc,CAAA;QACzC,WAAM,GAAW,gBAAM,CAAA;IAC3B,CAAC;CAAA;AARD,oBAQC;AAED,kBAAe,IAAI,IAAI,EAAE,CAAA"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class browser
|
|
3
|
+
* @memberof util
|
|
4
|
+
*/
|
|
5
|
+
export declare class Browser {
|
|
6
|
+
/**
|
|
7
|
+
* @function getBaseUrl
|
|
8
|
+
* @memberOf util.browser
|
|
9
|
+
* @description Retrieves the baseUrl from the configuration file.
|
|
10
|
+
* @returns {String} The baseUrl.
|
|
11
|
+
* @example const baseUrl = util.browser.getBaseUrl();
|
|
12
|
+
*/
|
|
13
|
+
getBaseUrl(): string;
|
|
14
|
+
/**
|
|
15
|
+
* @function setBaseUrl
|
|
16
|
+
* @memberOf util.browser
|
|
17
|
+
* @description Sets or overwrites the baseUrl in the configuration file.
|
|
18
|
+
* @param {String} baseUrl: base URL to set
|
|
19
|
+
* @example await util.browser.setBaseUrl("https://www.sap.com");
|
|
20
|
+
*/
|
|
21
|
+
setBaseUrl(baseUrl: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* @function logCurrentUrl
|
|
24
|
+
* @memberOf util.browser
|
|
25
|
+
* @description Displays the current URL in the console.
|
|
26
|
+
* @example await util.browser.logCurrentUrl();
|
|
27
|
+
*/
|
|
28
|
+
logCurrentUrl(): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* @function getCurrentUrl
|
|
31
|
+
* @memberOf util.browser
|
|
32
|
+
* @description Returns the current URL
|
|
33
|
+
* @example await util.browser.getCurrentUrl();
|
|
34
|
+
*/
|
|
35
|
+
getCurrentUrl(): Promise<string>;
|
|
36
|
+
/**
|
|
37
|
+
* @function resetFocus
|
|
38
|
+
* @memberOf util.browser
|
|
39
|
+
* @description Resets the focus in case it set for a specific element.
|
|
40
|
+
* @example await util.browser.resetFocus();
|
|
41
|
+
*/
|
|
42
|
+
resetFocus(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* @function sleep
|
|
45
|
+
* @memberOf util.browser
|
|
46
|
+
* @description Sleeps (pauses execution) for the passed duration.
|
|
47
|
+
* @param {Number} [duration=1000] - The time to pause (ms).
|
|
48
|
+
* @example await util.browser.sleep(30000);
|
|
49
|
+
*/
|
|
50
|
+
sleep(duration?: number): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* @function collectCoverage
|
|
53
|
+
* @memberOf util.browser
|
|
54
|
+
* @description Trigger collection of coverage by coverage service.
|
|
55
|
+
* @example await util.browser.collectCoverage();
|
|
56
|
+
*/
|
|
57
|
+
collectCoverage(): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* @function sleepAndCollectCoverage
|
|
60
|
+
* @memberOf util.browser
|
|
61
|
+
* @description Trigger collection of coverage by coverage service.
|
|
62
|
+
* @param {Number} [duration=1000] - The time to pause (ms).
|
|
63
|
+
* @example await util.browser.sleepAndCollectCoverage(3000);
|
|
64
|
+
*/
|
|
65
|
+
sleepAndCollectCoverage(duration?: number): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* @function refresh
|
|
68
|
+
* @memberOf util.browser
|
|
69
|
+
* @description Refreshes the page.
|
|
70
|
+
* @example await util.browser.refresh();
|
|
71
|
+
*/
|
|
72
|
+
refresh(): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* @function clearBrowser
|
|
75
|
+
* @memberOf util.browser
|
|
76
|
+
* @description Clears the local and session cache and deletes all browser cookies.
|
|
77
|
+
* @param {Boolean} [clearLocal=true] - Specifies if the local cache will be cleared.
|
|
78
|
+
* @param {Boolean} [clearSession=true] - Specifies if the session cache will be cleared.
|
|
79
|
+
* @param {Boolean} [clearCookies=true] - Specifies if the cookies will be cleared.
|
|
80
|
+
* @example await util.browser.clearBrowser();
|
|
81
|
+
*/
|
|
82
|
+
clearBrowser(clearLocal?: boolean, clearSession?: boolean, clearCookies?: boolean): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* @function getBrowserName
|
|
85
|
+
* @memberOf util.browser
|
|
86
|
+
* @description Retrieves the name of the current browser.
|
|
87
|
+
* @returns {String} The browser name.
|
|
88
|
+
* @example const browserName = util.browser.getBrowserName();
|
|
89
|
+
*/
|
|
90
|
+
getBrowserName(): string;
|
|
91
|
+
/**
|
|
92
|
+
* @function getUI5Version
|
|
93
|
+
* @memberOf util.browser
|
|
94
|
+
* @description Gets the UI5 version and creation date for UI5 based applications.
|
|
95
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
96
|
+
* @example await util.browser.getUI5Version();
|
|
97
|
+
*/
|
|
98
|
+
getUI5Version(timeout?: number): Promise<any>;
|
|
99
|
+
/**
|
|
100
|
+
* @function logUI5Version
|
|
101
|
+
* @memberOf util.browser
|
|
102
|
+
* @description Logs the UI5 version and creation date for UI5 based applications to the console.
|
|
103
|
+
* @example await util.browser.logUI5Version();
|
|
104
|
+
*/
|
|
105
|
+
logUI5Version(): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* @function executeScript
|
|
108
|
+
* @memberOf util.browser
|
|
109
|
+
* @description Executes the specified JavaScript command.
|
|
110
|
+
* @param {String} command - The command to execute.
|
|
111
|
+
* @returns {Any} The result from the executed function.
|
|
112
|
+
* @example await util.browser.executeScript(command);
|
|
113
|
+
*/
|
|
114
|
+
executeScript(command: string): Promise<any>;
|
|
115
|
+
/**
|
|
116
|
+
* @function switchToNewWindow
|
|
117
|
+
* @memberOf util.browser
|
|
118
|
+
* @description Switches to the window or tab with the given title.
|
|
119
|
+
* @param {String|RegExp} titleOrUrl - Window title or url of the expected window or tab (can be either a string or part of it as regular expression).
|
|
120
|
+
* @param {Number} [timeout=10000] - The timeout to wait (ms).
|
|
121
|
+
* @example await util.browser.switchToNewWindow("SAP - Home");
|
|
122
|
+
* @example await util.browser.switchToNewWindow(/Home/);
|
|
123
|
+
* @example await util.browser.switchToNewWindow("www.sap.com");
|
|
124
|
+
*/
|
|
125
|
+
switchToNewWindow(titleOrUrl: string | RegExp, timeout?: number): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* @function switchToWindow
|
|
128
|
+
* @memberOf util.browser
|
|
129
|
+
* @description Switches to the passed window.
|
|
130
|
+
* @param {Object} handle - The window handle.
|
|
131
|
+
* @example await util.browser.switchToWindow(originalWindowHandle);
|
|
132
|
+
*/
|
|
133
|
+
switchToWindow(handle: object): Promise<void>;
|
|
134
|
+
/**
|
|
135
|
+
* @function getCurrentWindow
|
|
136
|
+
* @memberOf util.browser
|
|
137
|
+
* @description Returns the current window handle.
|
|
138
|
+
* @returns {Object} The window handle.
|
|
139
|
+
* @example const originalWindowHandle = await util.browser.getCurrentWindow();
|
|
140
|
+
*/
|
|
141
|
+
getCurrentWindow(): Promise<any>;
|
|
142
|
+
/**
|
|
143
|
+
* @function switchToIframe
|
|
144
|
+
* @memberOf util.browser
|
|
145
|
+
* @description Switches to the passed iframe.
|
|
146
|
+
* @param {String} selector - The CSS selector describing the iframe element.
|
|
147
|
+
* @example await util.browser.switchToIframe("iframe[id='frame01']");
|
|
148
|
+
*/
|
|
149
|
+
switchToIframe(selector: string): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* @function switchToDefaultContent
|
|
152
|
+
* @memberOf util.browser
|
|
153
|
+
* @description Switches to the default content of the HTML page.
|
|
154
|
+
* @example await util.browser.switchToDefaultContent();
|
|
155
|
+
*/
|
|
156
|
+
switchToDefaultContent(): Promise<void>;
|
|
157
|
+
/**
|
|
158
|
+
* @function back
|
|
159
|
+
* @memberOf util.browser
|
|
160
|
+
* @description Go one step back in browser history.
|
|
161
|
+
* @example await util.browser.back();
|
|
162
|
+
*/
|
|
163
|
+
back(): Promise<any>;
|
|
164
|
+
private _verifyTitleOrUrl;
|
|
165
|
+
}
|
|
166
|
+
declare const _default: Browser;
|
|
167
|
+
export default _default;
|
|
@@ -0,0 +1,367 @@
|
|
|
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.Browser = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* @class browser
|
|
15
|
+
* @memberof util
|
|
16
|
+
*/
|
|
17
|
+
class Browser {
|
|
18
|
+
// =================================== URL ===================================
|
|
19
|
+
/**
|
|
20
|
+
* @function getBaseUrl
|
|
21
|
+
* @memberOf util.browser
|
|
22
|
+
* @description Retrieves the baseUrl from the configuration file.
|
|
23
|
+
* @returns {String} The baseUrl.
|
|
24
|
+
* @example const baseUrl = util.browser.getBaseUrl();
|
|
25
|
+
*/
|
|
26
|
+
getBaseUrl() {
|
|
27
|
+
return browser.config.baseUrl;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @function setBaseUrl
|
|
31
|
+
* @memberOf util.browser
|
|
32
|
+
* @description Sets or overwrites the baseUrl in the configuration file.
|
|
33
|
+
* @param {String} baseUrl: base URL to set
|
|
34
|
+
* @example await util.browser.setBaseUrl("https://www.sap.com");
|
|
35
|
+
*/
|
|
36
|
+
setBaseUrl(baseUrl) {
|
|
37
|
+
browser.config.baseUrl = baseUrl;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @function logCurrentUrl
|
|
41
|
+
* @memberOf util.browser
|
|
42
|
+
* @description Displays the current URL in the console.
|
|
43
|
+
* @example await util.browser.logCurrentUrl();
|
|
44
|
+
*/
|
|
45
|
+
logCurrentUrl() {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const url = yield browser.getUrl();
|
|
48
|
+
util.console.info("Current URL: " + url);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @function getCurrentUrl
|
|
53
|
+
* @memberOf util.browser
|
|
54
|
+
* @description Returns the current URL
|
|
55
|
+
* @example await util.browser.getCurrentUrl();
|
|
56
|
+
*/
|
|
57
|
+
getCurrentUrl() {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
return browser.getUrl();
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// =================================== ACTIONS ===================================
|
|
63
|
+
/**
|
|
64
|
+
* @function resetFocus
|
|
65
|
+
* @memberOf util.browser
|
|
66
|
+
* @description Resets the focus in case it set for a specific element.
|
|
67
|
+
* @example await util.browser.resetFocus();
|
|
68
|
+
*/
|
|
69
|
+
resetFocus() {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
yield util.browser.executeScript("if (document.activeElement) { document.activeElement.blur(); }");
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* @function sleep
|
|
76
|
+
* @memberOf util.browser
|
|
77
|
+
* @description Sleeps (pauses execution) for the passed duration.
|
|
78
|
+
* @param {Number} [duration=1000] - The time to pause (ms).
|
|
79
|
+
* @example await util.browser.sleep(30000);
|
|
80
|
+
*/
|
|
81
|
+
sleep(duration = 10000) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
yield browser.pause(duration);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* @function collectCoverage
|
|
88
|
+
* @memberOf util.browser
|
|
89
|
+
* @description Trigger collection of coverage by coverage service.
|
|
90
|
+
* @example await util.browser.collectCoverage();
|
|
91
|
+
*/
|
|
92
|
+
collectCoverage() {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
if (browser.config.params && browser.config.params.coverage && (browser.config.params.coverage.status === true || browser.config.params.coverage.status === "true")) {
|
|
95
|
+
yield browser.collectCoverage();
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
util.console.warn("Coverage is disabled. Please enable coverage in config file.");
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* @function sleepAndCollectCoverage
|
|
104
|
+
* @memberOf util.browser
|
|
105
|
+
* @description Trigger collection of coverage by coverage service.
|
|
106
|
+
* @param {Number} [duration=1000] - The time to pause (ms).
|
|
107
|
+
* @example await util.browser.sleepAndCollectCoverage(3000);
|
|
108
|
+
*/
|
|
109
|
+
sleepAndCollectCoverage(duration = 5000) {
|
|
110
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
if (browser.config.params && browser.config.params.coverage && (browser.config.params.coverage.status === true || browser.config.params.coverage.status === "true")) {
|
|
112
|
+
yield this.sleep(duration);
|
|
113
|
+
yield browser.collectCoverage();
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
util.console.warn("Coverage is disabled. Please enable coverage in config file.");
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* @function refresh
|
|
122
|
+
* @memberOf util.browser
|
|
123
|
+
* @description Refreshes the page.
|
|
124
|
+
* @example await util.browser.refresh();
|
|
125
|
+
*/
|
|
126
|
+
refresh() {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
yield browser.refresh();
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* @function clearBrowser
|
|
133
|
+
* @memberOf util.browser
|
|
134
|
+
* @description Clears the local and session cache and deletes all browser cookies.
|
|
135
|
+
* @param {Boolean} [clearLocal=true] - Specifies if the local cache will be cleared.
|
|
136
|
+
* @param {Boolean} [clearSession=true] - Specifies if the session cache will be cleared.
|
|
137
|
+
* @param {Boolean} [clearCookies=true] - Specifies if the cookies will be cleared.
|
|
138
|
+
* @example await util.browser.clearBrowser();
|
|
139
|
+
*/
|
|
140
|
+
clearBrowser(clearLocal = true, clearSession = true, clearCookies = true) {
|
|
141
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
142
|
+
if (clearLocal) {
|
|
143
|
+
yield browser.execute("window.localStorage.clear()");
|
|
144
|
+
}
|
|
145
|
+
if (clearSession) {
|
|
146
|
+
yield browser.execute("window.sessionStorage.clear()");
|
|
147
|
+
}
|
|
148
|
+
if (clearCookies) {
|
|
149
|
+
yield browser.deleteCookies();
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
// =================================== LOGGING ===================================
|
|
154
|
+
/**
|
|
155
|
+
* @function getBrowserName
|
|
156
|
+
* @memberOf util.browser
|
|
157
|
+
* @description Retrieves the name of the current browser.
|
|
158
|
+
* @returns {String} The browser name.
|
|
159
|
+
* @example const browserName = util.browser.getBrowserName();
|
|
160
|
+
*/
|
|
161
|
+
getBrowserName() {
|
|
162
|
+
return browser.capabilities.browserName;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* @function getUI5Version
|
|
166
|
+
* @memberOf util.browser
|
|
167
|
+
* @description Gets the UI5 version and creation date for UI5 based applications.
|
|
168
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
169
|
+
* @example await util.browser.getUI5Version();
|
|
170
|
+
*/
|
|
171
|
+
getUI5Version(timeout = browser.config.waitForUI5Timeout || 5000) {
|
|
172
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
173
|
+
yield browser.waitUntil(function () {
|
|
174
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
// eslint-disable-next-line no-return-await
|
|
176
|
+
return yield browser.execute(function () {
|
|
177
|
+
try {
|
|
178
|
+
if (window && window.sap && window.sap.ui) {
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
catch (oError) {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
}, {
|
|
191
|
+
timeout: timeout,
|
|
192
|
+
timeoutMsg: `Can not retrieve UI5 version within timeout ${timeout / 1000}s`,
|
|
193
|
+
interval: 400,
|
|
194
|
+
});
|
|
195
|
+
// @ts-ignore
|
|
196
|
+
return util.browser.executeScript(function () {
|
|
197
|
+
/* eslint-disable no-undef */
|
|
198
|
+
if (sap && sap.ui && sap.ui.getVersionInfo && sap.ui.getVersionInfo()) {
|
|
199
|
+
const version = sap.ui.getVersionInfo().version;
|
|
200
|
+
let timestamp = sap.ui.getVersionInfo().buildTimestamp;
|
|
201
|
+
if (timestamp) {
|
|
202
|
+
const creationYear = timestamp.substring(0, 4);
|
|
203
|
+
const creationMonth = timestamp.substring(4, 6);
|
|
204
|
+
const creationDay = timestamp.substring(6, 8);
|
|
205
|
+
timestamp = creationDay + "/" + creationMonth + "/" + creationYear;
|
|
206
|
+
}
|
|
207
|
+
return {
|
|
208
|
+
version: version,
|
|
209
|
+
timestamp: timestamp,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
util.console.warn("UI5 version information could not be retrieved.");
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* @function logUI5Version
|
|
221
|
+
* @memberOf util.browser
|
|
222
|
+
* @description Logs the UI5 version and creation date for UI5 based applications to the console.
|
|
223
|
+
* @example await util.browser.logUI5Version();
|
|
224
|
+
*/
|
|
225
|
+
logUI5Version() {
|
|
226
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
227
|
+
let logUI5Version;
|
|
228
|
+
if (browser.config.params && browser.config.params.logUI5Version !== undefined) {
|
|
229
|
+
logUI5Version = browser.config.params.logUI5Version;
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
logUI5Version = true;
|
|
233
|
+
}
|
|
234
|
+
if (logUI5Version !== false && !process.env.UI5_VERSION_LOGGED) {
|
|
235
|
+
const ui5Version = yield this.getUI5Version();
|
|
236
|
+
util.console.log("");
|
|
237
|
+
util.console.info(`UI5 Version:\t${ui5Version.version}`);
|
|
238
|
+
util.console.info(`UI5 Timestamp:\t${ui5Version.timestamp}`);
|
|
239
|
+
util.console.log("");
|
|
240
|
+
if (logUI5Version !== "always") {
|
|
241
|
+
// @ts-ignore
|
|
242
|
+
process.env.UI5_VERSION_LOGGED = true;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
// =================================== EXECUTION ===================================
|
|
248
|
+
/**
|
|
249
|
+
* @function executeScript
|
|
250
|
+
* @memberOf util.browser
|
|
251
|
+
* @description Executes the specified JavaScript command.
|
|
252
|
+
* @param {String} command - The command to execute.
|
|
253
|
+
* @returns {Any} The result from the executed function.
|
|
254
|
+
* @example await util.browser.executeScript(command);
|
|
255
|
+
*/
|
|
256
|
+
executeScript(command) {
|
|
257
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
258
|
+
return browser.execute(command);
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
// =================================== WINDOW HANDLING ===================================
|
|
262
|
+
/**
|
|
263
|
+
* @function switchToNewWindow
|
|
264
|
+
* @memberOf util.browser
|
|
265
|
+
* @description Switches to the window or tab with the given title.
|
|
266
|
+
* @param {String|RegExp} titleOrUrl - Window title or url of the expected window or tab (can be either a string or part of it as regular expression).
|
|
267
|
+
* @param {Number} [timeout=10000] - The timeout to wait (ms).
|
|
268
|
+
* @example await util.browser.switchToNewWindow("SAP - Home");
|
|
269
|
+
* @example await util.browser.switchToNewWindow(/Home/);
|
|
270
|
+
* @example await util.browser.switchToNewWindow("www.sap.com");
|
|
271
|
+
*/
|
|
272
|
+
switchToNewWindow(titleOrUrl, timeout = 10000) {
|
|
273
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
274
|
+
try {
|
|
275
|
+
yield browser.waitUntil(() => __awaiter(this, void 0, void 0, function* () {
|
|
276
|
+
yield browser.switchWindow(titleOrUrl);
|
|
277
|
+
return this._verifyTitleOrUrl(titleOrUrl);
|
|
278
|
+
}), {
|
|
279
|
+
timeout: timeout,
|
|
280
|
+
timeoutMsg: `Could not verify successful switch after ${timeout / 1000}s.`,
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
throw new Error(`Function 'switchToNewWindow' failed: ${error}`);
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* @function switchToWindow
|
|
290
|
+
* @memberOf util.browser
|
|
291
|
+
* @description Switches to the passed window.
|
|
292
|
+
* @param {Object} handle - The window handle.
|
|
293
|
+
* @example await util.browser.switchToWindow(originalWindowHandle);
|
|
294
|
+
*/
|
|
295
|
+
switchToWindow(handle) {
|
|
296
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
297
|
+
yield browser.switchToWindow(handle);
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* @function getCurrentWindow
|
|
302
|
+
* @memberOf util.browser
|
|
303
|
+
* @description Returns the current window handle.
|
|
304
|
+
* @returns {Object} The window handle.
|
|
305
|
+
* @example const originalWindowHandle = await util.browser.getCurrentWindow();
|
|
306
|
+
*/
|
|
307
|
+
getCurrentWindow() {
|
|
308
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
309
|
+
return browser.getWindowHandle();
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* @function switchToIframe
|
|
314
|
+
* @memberOf util.browser
|
|
315
|
+
* @description Switches to the passed iframe.
|
|
316
|
+
* @param {String} selector - The CSS selector describing the iframe element.
|
|
317
|
+
* @example await util.browser.switchToIframe("iframe[id='frame01']");
|
|
318
|
+
*/
|
|
319
|
+
switchToIframe(selector) {
|
|
320
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
321
|
+
yield nonUi5.element.waitToBeVisible(selector);
|
|
322
|
+
const frame = yield $(selector);
|
|
323
|
+
yield browser.switchToFrame(frame);
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* @function switchToDefaultContent
|
|
328
|
+
* @memberOf util.browser
|
|
329
|
+
* @description Switches to the default content of the HTML page.
|
|
330
|
+
* @example await util.browser.switchToDefaultContent();
|
|
331
|
+
*/
|
|
332
|
+
switchToDefaultContent() {
|
|
333
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
334
|
+
yield browser.switchToFrame(null);
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* @function back
|
|
339
|
+
* @memberOf util.browser
|
|
340
|
+
* @description Go one step back in browser history.
|
|
341
|
+
* @example await util.browser.back();
|
|
342
|
+
*/
|
|
343
|
+
back() {
|
|
344
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
345
|
+
return browser.back();
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
// =================================== HELPER ===================================
|
|
349
|
+
_verifyTitleOrUrl(titleOrUrl) {
|
|
350
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
351
|
+
const title = yield browser.getTitle();
|
|
352
|
+
const url = yield util.browser.getCurrentUrl();
|
|
353
|
+
if (titleOrUrl instanceof RegExp) {
|
|
354
|
+
if (titleOrUrl.test(title) || titleOrUrl.test(url))
|
|
355
|
+
return true;
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
if (titleOrUrl === title || titleOrUrl === url)
|
|
359
|
+
return true;
|
|
360
|
+
}
|
|
361
|
+
return false;
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
exports.Browser = Browser;
|
|
366
|
+
exports.default = new Browser();
|
|
367
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/reuse/modules/util/browser.ts"],"names":[],"mappings":"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"}
|