@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,52 @@
|
|
|
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.QUnit = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* @class qunit
|
|
15
|
+
* @memberof ui5
|
|
16
|
+
*/
|
|
17
|
+
class QUnit {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.clientsidescripts = require("../../helper/clientsideUI5scripts");
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @function executeTests
|
|
23
|
+
* @memberOf ui5.qunit
|
|
24
|
+
* @description Executes QUnit & OPA5 tests. Qmate acts like a runner.
|
|
25
|
+
* @param {String} path - Relative path to the QUnit/OPA5 html file.
|
|
26
|
+
* @example await ui5.qunit.executeTests("path/to/qunit.html");
|
|
27
|
+
*/
|
|
28
|
+
executeTests(path) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const url = yield browser.getUrl();
|
|
31
|
+
if (url.indexOf("4431") !== -1) {
|
|
32
|
+
yield browser.navigateTo(`http://localhost:4431/${path}`);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
yield browser.navigateTo(`http://localhost:34005/${path}`);
|
|
36
|
+
}
|
|
37
|
+
// Note: cannot use "null" as a first argument for "clientsidescripts.waitForAngular" due to browser.executeAsync error:
|
|
38
|
+
// "Error: Malformed type for "args" parameter of command executeAsyncScript
|
|
39
|
+
// Expected: (string|object|number|boolean|undefined)[]
|
|
40
|
+
// Actual: (null,number)[]"
|
|
41
|
+
yield browser.executeAsync(this.clientsidescripts.waitForAngular, undefined, 10);
|
|
42
|
+
const execRes = yield browser.executeAsync(this.clientsidescripts.execQUnits, {});
|
|
43
|
+
if (!execRes)
|
|
44
|
+
throw new Error("QUnit tests failed, see log message for more details.");
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
;
|
|
48
|
+
}
|
|
49
|
+
exports.QUnit = QUnit;
|
|
50
|
+
;
|
|
51
|
+
exports.default = new QUnit();
|
|
52
|
+
//# sourceMappingURL=qunit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qunit.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/qunit.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AACb;;;GAGG;AACH,MAAa,KAAK;IAAlB;QAEU,sBAAiB,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAyB3E,CAAC;IAvBC;;;;;;OAMG;IACG,YAAY,CAAE,IAAY;;YAC9B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC9B,MAAM,OAAO,CAAC,UAAU,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;aAC3D;iBAAM;gBACL,MAAM,OAAO,CAAC,UAAU,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;aAC5D;YACD,wHAAwH;YACxH,4EAA4E;YAC5E,uDAAuD;YACvD,2BAA2B;YAC3B,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACjF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACzF,CAAC;KAAA;IAAA,CAAC;CAEH;AA3BD,sBA2BC;AAAA,CAAC;AACF,kBAAe,IAAI,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class session
|
|
3
|
+
* @memberof ui5
|
|
4
|
+
*/
|
|
5
|
+
export declare class Session {
|
|
6
|
+
/**
|
|
7
|
+
* @function login
|
|
8
|
+
* @memberOf ui5.session
|
|
9
|
+
* @description Login with specific username and password. This function works for both fiori and sap-cloud login.
|
|
10
|
+
* @param {String} username - The username.
|
|
11
|
+
* @param {String} [password="Welcome1!"] - The password.
|
|
12
|
+
* @param {Boolean} [verify=false] - Specifies if the function will check the shell header after logging in.
|
|
13
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
14
|
+
* @example await ui5.session.login("PURCHASER");
|
|
15
|
+
* @example await ui5.session.login("JOHN_DOE", "abc123!", true);
|
|
16
|
+
*/
|
|
17
|
+
login(username: string, password?: string, verify?: boolean, timeout?: string | number): Promise<true | undefined>;
|
|
18
|
+
/**
|
|
19
|
+
* @function loginFiori
|
|
20
|
+
* @memberOf ui5.session
|
|
21
|
+
* @description Login with fioriForm and specific username and password.
|
|
22
|
+
* @param {String} username - The username.
|
|
23
|
+
* @param {String} [password="Welcome1!"] - The password.
|
|
24
|
+
* @param {Boolean} [verify=false] - Specifies if the function will check the shell header after logging in.
|
|
25
|
+
* @example await ui5.session.loginFiori("john", "abc123!");
|
|
26
|
+
*/
|
|
27
|
+
loginFiori(username: string, password?: string, verify?: boolean): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* @function loginSapCloud
|
|
30
|
+
* @memberOf ui5.session
|
|
31
|
+
* @description Login with sapCloud form and specific username and password.
|
|
32
|
+
* @param {String} username - The username.
|
|
33
|
+
* @param {String} [password="Welcome1!"] - The password.
|
|
34
|
+
* @param {Boolean} [verify=false] - Specifies if the function will check the shell header after logging in.
|
|
35
|
+
* @example await ui5.session.loginSapCloud("john", "abc123!");
|
|
36
|
+
*/
|
|
37
|
+
loginSapCloud(username: string, password?: string, verify?: boolean): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* @function loginCustom
|
|
40
|
+
* @memberOf ui5.session
|
|
41
|
+
* @description Login with custom form and specific username and password.
|
|
42
|
+
* @param {String} username - The username.
|
|
43
|
+
* @param {String} [password="Welcome1!"] - The password.
|
|
44
|
+
* @param {String} usernameFieldSelector - The CSS selector of the username field.
|
|
45
|
+
* @param {String} passwordFieldSelector - The CSS selector of the password field.
|
|
46
|
+
* @param {String} logonButtonSelector - The CSS selector of the login button.
|
|
47
|
+
* @param {Boolean} [verify=false] - Specifies if the function will check the shell header after logging in.
|
|
48
|
+
* @example await ui5.session.loginCustom("JOHN_DOE", "abc123!", "#username", #password, "#logon");
|
|
49
|
+
*/
|
|
50
|
+
loginCustom(username: string, password: string | undefined, usernameFieldSelector: string, passwordFieldSelector: string, logonButtonSelector: string, verify?: boolean): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* @function loginCustomViaConfig
|
|
53
|
+
* @memberOf ui5.session
|
|
54
|
+
* @description Login with specific username and password. The selectors will be taken from the config.
|
|
55
|
+
* @param {String} username - The username. Can be specified in spec or config. If specified in both credentials will be taken from config.
|
|
56
|
+
* @param {String} [password="Welcome1!" - The password. Can be specified in spec or config. If specified in both credentials will be taken from config.
|
|
57
|
+
* @param {Boolean} [verify=false] - Specifies if the function will check the shell header after logging in.
|
|
58
|
+
* @example // config - SAMPLE 1
|
|
59
|
+
auth: {
|
|
60
|
+
formType: 'plain',
|
|
61
|
+
usernameFieldSelector: "#USERNAME_BLOCK input",
|
|
62
|
+
passwordFieldSelector: "#PASSWORD_BLOCK input",
|
|
63
|
+
logonButtonSelector: "#LOGIN_LINK"
|
|
64
|
+
},
|
|
65
|
+
// spec
|
|
66
|
+
await ui5.session.loginCustomViaConfig("JOHN_DOE", "abc123!");
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
// config - SAMPLE 2
|
|
70
|
+
auth: {
|
|
71
|
+
formType: "plain",
|
|
72
|
+
username: "PURCH_EXT",
|
|
73
|
+
password: "Welcome1!",
|
|
74
|
+
usernameFieldSelector: "#USERNAME_BLOCK input",
|
|
75
|
+
passwordFieldSelector: "#PASSWORD_BLOCK input",
|
|
76
|
+
logonButtonSelector: "#LOGIN_LINK"
|
|
77
|
+
},
|
|
78
|
+
// spec
|
|
79
|
+
await ui5.session.loginCustomViaConfig();
|
|
80
|
+
*/
|
|
81
|
+
loginCustomViaConfig(username: string, password?: string, verify?: boolean): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* @function logout
|
|
84
|
+
* @memberOf ui5.session
|
|
85
|
+
* @description Logs the user out.
|
|
86
|
+
* @param {Boolean} [verify="true"] - Specifies if the function will check the logout text after logging out.
|
|
87
|
+
* Set this to false if the system does not show the text after logging out.
|
|
88
|
+
* @example await ui5.session.logout();
|
|
89
|
+
*/
|
|
90
|
+
logout(verify?: boolean): Promise<true | undefined>;
|
|
91
|
+
/**
|
|
92
|
+
* @function switchUser
|
|
93
|
+
* @memberOf ui5.session
|
|
94
|
+
* @description switches the user according to the passed username and password.
|
|
95
|
+
* @param {String} username - The username.
|
|
96
|
+
* @param {String} [password="Welcome1!"] - The password.
|
|
97
|
+
* @param {Object} [authenticator] - The login form type. Set to null to use generic login.
|
|
98
|
+
* @param {Number} [wait=10000] - The waiting time between logout and login (ms).
|
|
99
|
+
* @example await ui5.session.switchUser("PURCHASER");
|
|
100
|
+
* @example const authenticator = ui5.authenticators.fioriForm;
|
|
101
|
+
* await ui5.session.switchUser("PURCHASER", "Welcome1!", authenticator, 30000);
|
|
102
|
+
*/
|
|
103
|
+
switchUser(username: string, password: string | undefined, authenticator: any, wait?: number): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* @function expectLogoutText
|
|
106
|
+
* @memberOf ui5.session
|
|
107
|
+
* @description Expects the logout text after logout to be "You have been logged off.
|
|
108
|
+
* This is essential for chaining scripts, so that no static browser sleep in the spec itself is required anymore.
|
|
109
|
+
* @example await ui5.session.expectLogoutText();
|
|
110
|
+
*/
|
|
111
|
+
expectLogoutText(): Promise<void>;
|
|
112
|
+
private _loginWithUsernameAndPassword;
|
|
113
|
+
private _clickSignOut;
|
|
114
|
+
private _checkForErrors;
|
|
115
|
+
}
|
|
116
|
+
declare const _default: Session;
|
|
117
|
+
export default _default;
|
|
@@ -0,0 +1,374 @@
|
|
|
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.Session = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* @class session
|
|
15
|
+
* @memberof ui5
|
|
16
|
+
*/
|
|
17
|
+
class Session {
|
|
18
|
+
// =================================== LOGIN ===================================
|
|
19
|
+
/**
|
|
20
|
+
* @function login
|
|
21
|
+
* @memberOf ui5.session
|
|
22
|
+
* @description Login with specific username and password. This function works for both fiori and sap-cloud login.
|
|
23
|
+
* @param {String} username - The username.
|
|
24
|
+
* @param {String} [password="Welcome1!"] - The password.
|
|
25
|
+
* @param {Boolean} [verify=false] - Specifies if the function will check the shell header after logging in.
|
|
26
|
+
* @param {Number} [timeout=30000] - The timeout to wait (ms).
|
|
27
|
+
* @example await ui5.session.login("PURCHASER");
|
|
28
|
+
* @example await ui5.session.login("JOHN_DOE", "abc123!", true);
|
|
29
|
+
*/
|
|
30
|
+
login(username, password = "Welcome1!", verify = false, timeout = process.env.QMATE_CUSTOM_TIMEOUT || 30000) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
if (browser.config && browser.config.params &&
|
|
33
|
+
browser.config.params.auth && browser.config.params.auth.formType === "skip") {
|
|
34
|
+
util.console.warn("Login is skipped since 'formType' is set to 'skip'");
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
if (!username) {
|
|
38
|
+
throw new Error("Please provide a valid username.");
|
|
39
|
+
}
|
|
40
|
+
let authenticator;
|
|
41
|
+
let messageSelector;
|
|
42
|
+
try {
|
|
43
|
+
yield browser.waitUntil(function () {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
try {
|
|
46
|
+
const fioriFormId = ui5.authenticators.fioriForm.formId;
|
|
47
|
+
const elem = yield nonUi5.element.getByCss(fioriFormId, 0, 7500);
|
|
48
|
+
yield nonUi5.element.isVisible(elem);
|
|
49
|
+
authenticator = ui5.authenticators.fioriForm;
|
|
50
|
+
messageSelector = ui5.authenticators.fioriForm.messageSelector;
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
// continue
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const sapCloudFormId = ui5.authenticators.sapCloudForm.formId;
|
|
58
|
+
const elem = yield nonUi5.element.getByCss(sapCloudFormId, 0, 7500);
|
|
59
|
+
yield nonUi5.element.isVisible(elem);
|
|
60
|
+
authenticator = ui5.authenticators.sapCloudForm;
|
|
61
|
+
messageSelector = ui5.authenticators.sapCloudForm.messageSelector;
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}, timeout);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
throw new Error("login failed. Could not find the login page within the given time. \n" + error);
|
|
72
|
+
}
|
|
73
|
+
yield this._loginWithUsernameAndPassword(username, password, authenticator, verify, messageSelector);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
;
|
|
77
|
+
/**
|
|
78
|
+
* @function loginFiori
|
|
79
|
+
* @memberOf ui5.session
|
|
80
|
+
* @description Login with fioriForm and specific username and password.
|
|
81
|
+
* @param {String} username - The username.
|
|
82
|
+
* @param {String} [password="Welcome1!"] - The password.
|
|
83
|
+
* @param {Boolean} [verify=false] - Specifies if the function will check the shell header after logging in.
|
|
84
|
+
* @example await ui5.session.loginFiori("john", "abc123!");
|
|
85
|
+
*/
|
|
86
|
+
loginFiori(username, password = "Welcome1!", verify = false) {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
if (!username) {
|
|
89
|
+
throw new Error("Please provide a valid username.");
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
const authenticator = ui5.authenticators.fioriForm;
|
|
93
|
+
const messageSelector = ui5.authenticators.fioriForm.messageSelector;
|
|
94
|
+
return yield this._loginWithUsernameAndPassword(username, password, authenticator, verify, messageSelector);
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
throw new Error(`Function 'loginFiori' failed: ${error}`);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
;
|
|
102
|
+
/**
|
|
103
|
+
* @function loginSapCloud
|
|
104
|
+
* @memberOf ui5.session
|
|
105
|
+
* @description Login with sapCloud form and specific username and password.
|
|
106
|
+
* @param {String} username - The username.
|
|
107
|
+
* @param {String} [password="Welcome1!"] - The password.
|
|
108
|
+
* @param {Boolean} [verify=false] - Specifies if the function will check the shell header after logging in.
|
|
109
|
+
* @example await ui5.session.loginSapCloud("john", "abc123!");
|
|
110
|
+
*/
|
|
111
|
+
loginSapCloud(username, password = "Welcome1!", verify = false) {
|
|
112
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
if (!username) {
|
|
114
|
+
throw new Error("Please provide a valid username.");
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
const authenticator = yield ui5.authenticators.sapCloudForm;
|
|
118
|
+
const messageSelector = ui5.authenticators.sapCloudForm.messageSelector;
|
|
119
|
+
return yield this._loginWithUsernameAndPassword(username, password, authenticator, verify, messageSelector);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
throw new Error(`Function 'loginSapCloud' failed: ${error}`);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
;
|
|
127
|
+
/**
|
|
128
|
+
* @function loginCustom
|
|
129
|
+
* @memberOf ui5.session
|
|
130
|
+
* @description Login with custom form and specific username and password.
|
|
131
|
+
* @param {String} username - The username.
|
|
132
|
+
* @param {String} [password="Welcome1!"] - The password.
|
|
133
|
+
* @param {String} usernameFieldSelector - The CSS selector of the username field.
|
|
134
|
+
* @param {String} passwordFieldSelector - The CSS selector of the password field.
|
|
135
|
+
* @param {String} logonButtonSelector - The CSS selector of the login button.
|
|
136
|
+
* @param {Boolean} [verify=false] - Specifies if the function will check the shell header after logging in.
|
|
137
|
+
* @example await ui5.session.loginCustom("JOHN_DOE", "abc123!", "#username", #password, "#logon");
|
|
138
|
+
*/
|
|
139
|
+
loginCustom(username, password = "Welcome1!", usernameFieldSelector, passwordFieldSelector, logonButtonSelector, verify = false) {
|
|
140
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
if (!username) {
|
|
142
|
+
throw new Error("Please provide a valid username.");
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
const authenticator = {
|
|
146
|
+
"usernameFieldSelector": usernameFieldSelector,
|
|
147
|
+
"passwordFieldSelector": passwordFieldSelector,
|
|
148
|
+
"logonButtonSelector": logonButtonSelector
|
|
149
|
+
};
|
|
150
|
+
return yield this._loginWithUsernameAndPassword(username, password, authenticator, verify);
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
throw new Error(`Function 'loginCustom' failed: ${error}`);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
;
|
|
158
|
+
/**
|
|
159
|
+
* @function loginCustomViaConfig
|
|
160
|
+
* @memberOf ui5.session
|
|
161
|
+
* @description Login with specific username and password. The selectors will be taken from the config.
|
|
162
|
+
* @param {String} username - The username. Can be specified in spec or config. If specified in both credentials will be taken from config.
|
|
163
|
+
* @param {String} [password="Welcome1!" - The password. Can be specified in spec or config. If specified in both credentials will be taken from config.
|
|
164
|
+
* @param {Boolean} [verify=false] - Specifies if the function will check the shell header after logging in.
|
|
165
|
+
* @example // config - SAMPLE 1
|
|
166
|
+
auth: {
|
|
167
|
+
formType: 'plain',
|
|
168
|
+
usernameFieldSelector: "#USERNAME_BLOCK input",
|
|
169
|
+
passwordFieldSelector: "#PASSWORD_BLOCK input",
|
|
170
|
+
logonButtonSelector: "#LOGIN_LINK"
|
|
171
|
+
},
|
|
172
|
+
// spec
|
|
173
|
+
await ui5.session.loginCustomViaConfig("JOHN_DOE", "abc123!");
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
// config - SAMPLE 2
|
|
177
|
+
auth: {
|
|
178
|
+
formType: "plain",
|
|
179
|
+
username: "PURCH_EXT",
|
|
180
|
+
password: "Welcome1!",
|
|
181
|
+
usernameFieldSelector: "#USERNAME_BLOCK input",
|
|
182
|
+
passwordFieldSelector: "#PASSWORD_BLOCK input",
|
|
183
|
+
logonButtonSelector: "#LOGIN_LINK"
|
|
184
|
+
},
|
|
185
|
+
// spec
|
|
186
|
+
await ui5.session.loginCustomViaConfig();
|
|
187
|
+
*/
|
|
188
|
+
loginCustomViaConfig(username, password = "Welcome1!", verify = false) {
|
|
189
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
190
|
+
try {
|
|
191
|
+
const baseUrl = browser.config.baseUrl;
|
|
192
|
+
yield browser.navigateTo(baseUrl);
|
|
193
|
+
if (browser.config.params &&
|
|
194
|
+
browser.config.params.auth &&
|
|
195
|
+
browser.config.params.auth.username &&
|
|
196
|
+
browser.config.params.auth.password) {
|
|
197
|
+
username = browser.config.params.auth.username;
|
|
198
|
+
password = browser.config.params.auth.password;
|
|
199
|
+
// @ts-ignore
|
|
200
|
+
util.console.info("\x1b[33m%s\x1b[0m", "Login credentials will be taken from config.");
|
|
201
|
+
}
|
|
202
|
+
else if (!username && !password) {
|
|
203
|
+
throw new Error("Username or password is missing. Check your parameters or config file.");
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
throw new Error("Function 'loginCustomViaConfig' failed: Please maintain the credentials in your config or spec.: " + error);
|
|
208
|
+
}
|
|
209
|
+
try {
|
|
210
|
+
const authenticator = {
|
|
211
|
+
"usernameFieldSelector": browser.config.params.auth.usernameFieldSelector,
|
|
212
|
+
"passwordFieldSelector": browser.config.params.auth.passwordFieldSelector,
|
|
213
|
+
"logonButtonSelector": browser.config.params.auth.logonButtonSelector
|
|
214
|
+
};
|
|
215
|
+
return yield this._loginWithUsernameAndPassword(username, password, authenticator, verify);
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
throw new Error("Function 'loginCustomViaConfig' failed. Please maintain the auth values in your config.");
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
;
|
|
223
|
+
// =================================== LOGOUT / SWITCH ===================================
|
|
224
|
+
/**
|
|
225
|
+
* @function logout
|
|
226
|
+
* @memberOf ui5.session
|
|
227
|
+
* @description Logs the user out.
|
|
228
|
+
* @param {Boolean} [verify="true"] - Specifies if the function will check the logout text after logging out.
|
|
229
|
+
* Set this to false if the system does not show the text after logging out.
|
|
230
|
+
* @example await ui5.session.logout();
|
|
231
|
+
*/
|
|
232
|
+
logout(verify = true) {
|
|
233
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
234
|
+
if (browser.config && browser.config.params &&
|
|
235
|
+
browser.config.params.auth && browser.config.params.auth.formType === "skip") {
|
|
236
|
+
console.warn("Logout is skipped.");
|
|
237
|
+
yield browser.reloadSession(); // Clean cache
|
|
238
|
+
return true;
|
|
239
|
+
}
|
|
240
|
+
yield ui5.navigationBar.clickUserIcon();
|
|
241
|
+
yield this._clickSignOut();
|
|
242
|
+
yield ui5.confirmationDialog.clickOk();
|
|
243
|
+
if (verify) {
|
|
244
|
+
yield ui5.session.expectLogoutText();
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
;
|
|
249
|
+
/**
|
|
250
|
+
* @function switchUser
|
|
251
|
+
* @memberOf ui5.session
|
|
252
|
+
* @description switches the user according to the passed username and password.
|
|
253
|
+
* @param {String} username - The username.
|
|
254
|
+
* @param {String} [password="Welcome1!"] - The password.
|
|
255
|
+
* @param {Object} [authenticator] - The login form type. Set to null to use generic login.
|
|
256
|
+
* @param {Number} [wait=10000] - The waiting time between logout and login (ms).
|
|
257
|
+
* @example await ui5.session.switchUser("PURCHASER");
|
|
258
|
+
* @example const authenticator = ui5.authenticators.fioriForm;
|
|
259
|
+
* await ui5.session.switchUser("PURCHASER", "Welcome1!", authenticator, 30000);
|
|
260
|
+
*/
|
|
261
|
+
switchUser(username, password = "Welcome1!", authenticator, wait = 10000) {
|
|
262
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
263
|
+
yield this.logout();
|
|
264
|
+
yield util.browser.sleep(wait);
|
|
265
|
+
yield browser.navigateTo(browser.config.baseUrl);
|
|
266
|
+
if (!authenticator) {
|
|
267
|
+
this.login(username, password);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
yield this._loginWithUsernameAndPassword(username, password, authenticator);
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
;
|
|
275
|
+
// =================================== ASSERTION ===================================
|
|
276
|
+
/**
|
|
277
|
+
* @function expectLogoutText
|
|
278
|
+
* @memberOf ui5.session
|
|
279
|
+
* @description Expects the logout text after logout to be "You have been logged off.
|
|
280
|
+
* This is essential for chaining scripts, so that no static browser sleep in the spec itself is required anymore.
|
|
281
|
+
* @example await ui5.session.expectLogoutText();
|
|
282
|
+
*/
|
|
283
|
+
expectLogoutText() {
|
|
284
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
285
|
+
const elem = yield nonUi5.element.getById("msgText");
|
|
286
|
+
yield nonUi5.assertion.expectToBeVisible(elem);
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
;
|
|
290
|
+
// =================================== HELPER ===================================
|
|
291
|
+
_loginWithUsernameAndPassword(username, password = "Welcome1!", authenticator = ui5.authenticators.fioriForm, verify = false, messageSelector) {
|
|
292
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
293
|
+
let usernameField = null;
|
|
294
|
+
let passwordField = null;
|
|
295
|
+
let logonField = null;
|
|
296
|
+
try {
|
|
297
|
+
yield browser.waitUntil(function () {
|
|
298
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
299
|
+
usernameField = yield $(authenticator.usernameFieldSelector);
|
|
300
|
+
passwordField = yield $(authenticator.passwordFieldSelector);
|
|
301
|
+
logonField = yield $(authenticator.logonButtonSelector);
|
|
302
|
+
return (yield usernameField.isDisplayedInViewport()) &&
|
|
303
|
+
(yield passwordField.isDisplayedInViewport()) &&
|
|
304
|
+
(
|
|
305
|
+
// eslint-disable-next-line no-return-await
|
|
306
|
+
yield logonField.isDisplayedInViewport());
|
|
307
|
+
});
|
|
308
|
+
}, {
|
|
309
|
+
timeout: 30000,
|
|
310
|
+
timeoutMsg: "Login failed: Login page with the given authenticator not present."
|
|
311
|
+
});
|
|
312
|
+
// @ts-ignore
|
|
313
|
+
yield usernameField.setValue(username);
|
|
314
|
+
// @ts-ignore
|
|
315
|
+
yield passwordField.setValue(password);
|
|
316
|
+
// @ts-ignore
|
|
317
|
+
yield logonField.click();
|
|
318
|
+
}
|
|
319
|
+
catch (error) {
|
|
320
|
+
throw new Error(`Login failed: Please check if you are already logged in or if the system is down \n. ${error}`);
|
|
321
|
+
}
|
|
322
|
+
if (messageSelector) {
|
|
323
|
+
yield this._checkForErrors(messageSelector);
|
|
324
|
+
}
|
|
325
|
+
if (verify) {
|
|
326
|
+
yield ui5.navigationBar.expectShellHeader();
|
|
327
|
+
}
|
|
328
|
+
try {
|
|
329
|
+
yield util.browser.logUI5Version();
|
|
330
|
+
}
|
|
331
|
+
catch (error) {
|
|
332
|
+
if (error instanceof Error) {
|
|
333
|
+
util.console.warn(error.toString());
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
_clickSignOut() {
|
|
339
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
340
|
+
const selector = {
|
|
341
|
+
"elementProperties": {
|
|
342
|
+
"metadata": "sap.m.StandardListItem",
|
|
343
|
+
"mProperties": {
|
|
344
|
+
"id": "*logoutBtn"
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
yield ui5.userInteraction.scrollToElement(selector);
|
|
349
|
+
return ui5.userInteraction.click(selector);
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
_checkForErrors(messageSelector) {
|
|
353
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
354
|
+
let uiErrorMessagesFound = false;
|
|
355
|
+
let messageText;
|
|
356
|
+
try {
|
|
357
|
+
const messageDiv = yield nonUi5.element.getByCss(messageSelector, 0, 3000);
|
|
358
|
+
// @ts-ignore
|
|
359
|
+
messageText = yield nonUi5.element.getValue(messageDiv, "text");
|
|
360
|
+
uiErrorMessagesFound = true;
|
|
361
|
+
}
|
|
362
|
+
catch (e) {
|
|
363
|
+
// no error messages found in login
|
|
364
|
+
}
|
|
365
|
+
if (uiErrorMessagesFound) {
|
|
366
|
+
throw new Error(`Login failed: "${messageText}"`);
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
exports.Session = Session;
|
|
372
|
+
;
|
|
373
|
+
exports.default = new Session();
|
|
374
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class table
|
|
3
|
+
* @memberof ui5
|
|
4
|
+
*/
|
|
5
|
+
export declare class Table {
|
|
6
|
+
/**
|
|
7
|
+
* @function sortColumnAscending
|
|
8
|
+
* @memberOf ui5.table
|
|
9
|
+
* @description Sorts the given column "Ascending".
|
|
10
|
+
* @param {String} columnName - The name of the column to sort.
|
|
11
|
+
* @param {Object} [tableSelector] - The selector describing the table element (in case there are more then one).
|
|
12
|
+
* @example await ui5.table.sortColumnAscending("Supplier");
|
|
13
|
+
* @example const glAccountItemsTable = {
|
|
14
|
+
* "elementProperties": {
|
|
15
|
+
* "viewName": "ui.s2p.mm.supplinvoice.manage.s1.view.S1",
|
|
16
|
+
* "metadata": "sap.m.Table",
|
|
17
|
+
* "id": "*idS2P.MM.MSI.TableGLAccountItems"
|
|
18
|
+
* }
|
|
19
|
+
* };
|
|
20
|
+
* await ui5.table.sortColumnAscending("Amount", glAccountItemsTable);
|
|
21
|
+
*/
|
|
22
|
+
sortColumnAscending(columnName: string, tableSelector: any): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* @function sortColumnDescending
|
|
25
|
+
* @memberOf ui5.table
|
|
26
|
+
* @description Sorts the given column "Descending".
|
|
27
|
+
* @param {String} columnName The name of the column to sort.
|
|
28
|
+
* @param {Object} [tableSelector] - The selector describing the table element (in case there are more then one).
|
|
29
|
+
* @example await ui5.table.sortColumnDescending("Supplier");
|
|
30
|
+
* @example const glAccountItemsTable = {
|
|
31
|
+
* "elementProperties": {
|
|
32
|
+
* "viewName": "ui.s2p.mm.supplinvoice.manage.s1.view.S1",
|
|
33
|
+
* "metadata": "sap.m.Table",
|
|
34
|
+
* "id": "*idS2P.MM.MSI.TableGLAccountItems"
|
|
35
|
+
* }
|
|
36
|
+
* };
|
|
37
|
+
* await ui5.table.sortColumnDescending("Amount", glAccountItemsTable);
|
|
38
|
+
*/
|
|
39
|
+
sortColumnDescending(columnName: string, tableSelector: any): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* @function clickSettingsButton
|
|
42
|
+
* @memberOf ui5.table
|
|
43
|
+
* @description Opens the user Settings.
|
|
44
|
+
* @param {Object} [tableSelector] - The selector describing the table element (in case there are more then one).
|
|
45
|
+
* @example await ui5.table.clickSettingsButton();
|
|
46
|
+
* @example const glAccountItemsTable = {
|
|
47
|
+
* "elementProperties": {
|
|
48
|
+
* "viewName": "ui.s2p.mm.supplinvoice.manage.s1.view.S1",
|
|
49
|
+
* "metadata": "sap.m.Table",
|
|
50
|
+
* "id": "*idS2P.MM.MSI.TableGLAccountItems"
|
|
51
|
+
* }
|
|
52
|
+
* };
|
|
53
|
+
* await ui5.table.clickSettingsButton(glAccountItemsTable);
|
|
54
|
+
*/
|
|
55
|
+
clickSettingsButton(tableSelector: any): Promise<void>;
|
|
56
|
+
private _clickColumn;
|
|
57
|
+
private _getSortIndicatorValue;
|
|
58
|
+
private _prepareAncestorSelector;
|
|
59
|
+
}
|
|
60
|
+
declare const _default: Table;
|
|
61
|
+
export default _default;
|