@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,1849 @@
|
|
|
1
|
+
/* eslint-disable no-undef */
|
|
2
|
+
/*
|
|
3
|
+
1) Test standard properties
|
|
4
|
+
2) Test new properties adding from ui5 api
|
|
5
|
+
3) Test with removing empty properties
|
|
6
|
+
4) Testing with binding path/bindingContextPath
|
|
7
|
+
4a) Testing with binding path/context on prec,next, parent element
|
|
8
|
+
5) Testing with i18nText
|
|
9
|
+
5a) Testing with i18nText on prec,next, parent element
|
|
10
|
+
6) Testing with boolean, number properties
|
|
11
|
+
7) Test with empty values, wrong property names, wrong metadata
|
|
12
|
+
8) Test with index
|
|
13
|
+
9) Test with aggregation bindings
|
|
14
|
+
10) Test with ancestors
|
|
15
|
+
11) Test with bindingpath aggregations
|
|
16
|
+
12) Test with chaining of elements
|
|
17
|
+
13) Test view Id & Name
|
|
18
|
+
14) Test read UI Control and all properties immidietaly
|
|
19
|
+
15) Test dom properties
|
|
20
|
+
16) Test descentor/child properties
|
|
21
|
+
17) Test assertions
|
|
22
|
+
18) Test deep selectors
|
|
23
|
+
19) Test executeInBrowser
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
describe("filters1", function () {
|
|
27
|
+
|
|
28
|
+
it("step0as:click on the first standard item - evaluate browser", async function () {
|
|
29
|
+
var ui5ControlProperties = {
|
|
30
|
+
"elementProperties": {
|
|
31
|
+
"metadata": "sap.m.StandardListItem",
|
|
32
|
+
"id": "*categoryList-7",
|
|
33
|
+
"bindingContextPath": "/ProductCategories('LT')"
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var newText = "whatsUp";
|
|
37
|
+
var elem = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
38
|
+
var title = await browser.controlActionInBrowser(function (control, txt, done) {
|
|
39
|
+
control.setTitle(txt);
|
|
40
|
+
done(control.getTitle());
|
|
41
|
+
}, elem, newText);
|
|
42
|
+
|
|
43
|
+
await expect(title).toBe(newText);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it("step0as:click on the first standard item - evaluate browser", async function () {
|
|
47
|
+
var ui5ControlProperties = {
|
|
48
|
+
"elementProperties": {
|
|
49
|
+
"metadata": "sap.m.StandardListItem",
|
|
50
|
+
"id": "*categoryList-7",
|
|
51
|
+
"bindingContextPath": "/ProductCategories('LT')"
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var newText = "test";
|
|
55
|
+
var selectorParams = { selector: ui5ControlProperties, index: 0, timeout: 30000 };
|
|
56
|
+
//await ui5.element.getDisplayed(ui5ControlProperties);
|
|
57
|
+
var title = await browser.controlActionInBrowser(function (control, txt, done) {
|
|
58
|
+
control.setTitle(txt);
|
|
59
|
+
done(control.getTitle());
|
|
60
|
+
}, selectorParams, newText);
|
|
61
|
+
|
|
62
|
+
await expect(title).toBe(newText);
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it("step0as:click on the first standard item - evaluate browser wrong element", async function () {
|
|
66
|
+
var ui5ControlProperties = {
|
|
67
|
+
"elementProperties": {
|
|
68
|
+
"metadata": "sap.m.StandardListItem",
|
|
69
|
+
"id": "*categoryList-79",
|
|
70
|
+
"bindingContextPath": "/ProductCategories('LT')"
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
var newText = "master";
|
|
74
|
+
var selectorParams = { selector: ui5ControlProperties, index: 0, timeout: 3000 };
|
|
75
|
+
|
|
76
|
+
await expect(browser.controlActionInBrowser(function (control, txt, done) {
|
|
77
|
+
control.setTitle(txt);
|
|
78
|
+
done(control.getTitle());
|
|
79
|
+
}, selectorParams, newText))
|
|
80
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
it("step0as:click on the first standard item - evaluate browser and fire press", async function () {
|
|
84
|
+
var ui5ControlProperties = {
|
|
85
|
+
"elementProperties": {
|
|
86
|
+
"metadata": "sap.m.StandardListItem",
|
|
87
|
+
"id": "*categoryList-7",
|
|
88
|
+
"bindingContextPath": "/ProductCategories('LT')"
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
//await ui5.element.getDisplayed(ui5ControlProperties);
|
|
92
|
+
var title = await browser.controlActionInBrowser(function (control, done) {
|
|
93
|
+
var data = { title: control.getTitle() };
|
|
94
|
+
control.attachPress(data, function () {
|
|
95
|
+
done(data.title);
|
|
96
|
+
});
|
|
97
|
+
control.firePress();
|
|
98
|
+
}, ui5ControlProperties);
|
|
99
|
+
|
|
100
|
+
await expect(title).toBe("test");
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
it("step0as:click back - evaluate browser", async function () {
|
|
104
|
+
var ui5ControlProperties = {
|
|
105
|
+
"elementProperties": { "metadata": "sap.m.Button", "mProperties": { "type": "Back" } },
|
|
106
|
+
"parentProperties": { "metadata": "sap.m.Bar", "mProperties": {} },
|
|
107
|
+
"childProperties": { "metadata": "sap.ui.core.Icon", "mProperties": { "src": "sap-icon://nav-back" } }
|
|
108
|
+
};
|
|
109
|
+
var selectorParams = { selector: ui5ControlProperties, index: 0, timeout: 3000 };
|
|
110
|
+
//await ui5.element.getDisplayed(ui5ControlProperties);
|
|
111
|
+
await browser.controlActionInBrowser(function (control, done) {
|
|
112
|
+
control.attachPress(undefined, function () {
|
|
113
|
+
done();
|
|
114
|
+
});
|
|
115
|
+
control.firePress();
|
|
116
|
+
}, selectorParams);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
it("step0v1: check Page has descendant text - use deep selector structure", async function () {
|
|
120
|
+
var ui5ControlProperties = {
|
|
121
|
+
"elementProperties": {
|
|
122
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
123
|
+
"id": "container-cart---welcomeView--page"
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"descendantProperties": {
|
|
127
|
+
"metadata": "sap.m.Text", "mProperties": {
|
|
128
|
+
"text": [{ "path": "i18n>welcomeCarouselShipping" }],
|
|
129
|
+
"ancestorProperties": {
|
|
130
|
+
"viewName": "*view.Welcome",
|
|
131
|
+
"tooltip": [{ "path": "i18n>welcomeDescription" }]
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, "showHeader", "true", 0, 30000, 30000);
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
it("step0v1: check Page has descendant text - use deep selector structure sibling", async function () {
|
|
140
|
+
var ui5ControlProperties = {
|
|
141
|
+
"elementProperties": {
|
|
142
|
+
"metadata": "sap.m.Page",
|
|
143
|
+
"mProperties": {
|
|
144
|
+
"id": "container-cart---welcomeView--page"
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"descendantProperties": {
|
|
148
|
+
"metadata": "sap.m.Text", "mProperties": {
|
|
149
|
+
"text": [{ "path": "*CarouselShipping" }],
|
|
150
|
+
"ancestorProperties": {
|
|
151
|
+
"viewName": "*view.Welcome",
|
|
152
|
+
"tooltip": [{ "path": "i18n>welcomeDescription" }],
|
|
153
|
+
"siblinkProperties": {
|
|
154
|
+
"viewName": "*view.Welcome",
|
|
155
|
+
"tooltip": [{ "path": "i18n>welcomeDescription" }]
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, "showHeader", "true", 0, 30000, 30000);
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
it("step0v1: check Page has descendant text - use deep selector structure sibling wrong", async function () {
|
|
165
|
+
var ui5ControlProperties = {
|
|
166
|
+
"elementProperties": {
|
|
167
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
168
|
+
"id": "container-cart---welcomeView--page"
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"descendantProperties": {
|
|
172
|
+
"metadata": "sap.m.Text", "mProperties": {
|
|
173
|
+
"text": [{ "path": "i18n>welcomeCarouselShipping" }],
|
|
174
|
+
"ancestorProperties": {
|
|
175
|
+
"viewName": "*view.Welcome",
|
|
176
|
+
"tooltip": [{ "path": "i18n>welcomeDescription" }],
|
|
177
|
+
"descendantProperties": {
|
|
178
|
+
"metadata": "sap.m.ScrollContainer",
|
|
179
|
+
"domProperties": {
|
|
180
|
+
"class": "*sapMScrollCont"
|
|
181
|
+
},
|
|
182
|
+
"siblingProperties": {
|
|
183
|
+
"metadata": "sap.m.ScrollContainer",
|
|
184
|
+
"domProperties": {
|
|
185
|
+
"class": "*sapMScrollCont"
|
|
186
|
+
},
|
|
187
|
+
"descendantProperties": {
|
|
188
|
+
"metadata": "sap.m.Text", "mProperties": {
|
|
189
|
+
"text": [{ "path": "welcomeCarouselCreditCard1" }],
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 5000))
|
|
199
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
it("step0v1: check Page has descendant text - use deep selector structure in elementProperties", async function () {
|
|
203
|
+
var ui5ControlProperties = {
|
|
204
|
+
"elementProperties": {
|
|
205
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
206
|
+
"id": "container-cart---welcomeView--page"
|
|
207
|
+
},
|
|
208
|
+
"descendantProperties": {
|
|
209
|
+
"metadata": "sap.m.Text", "mProperties": {
|
|
210
|
+
"text": [{ "path": "i18n>welcomeCarouselShipping" }],
|
|
211
|
+
"ancestorProperties": {
|
|
212
|
+
"viewName": "*view.Welcome",
|
|
213
|
+
"tooltip": [{ "path": "i18n>welcomeDescription" }],
|
|
214
|
+
"descendantProperties": {
|
|
215
|
+
"metadata": "sap.m.ScrollContainer",
|
|
216
|
+
"domProperties": {
|
|
217
|
+
"class": "*sapMScrollCont"
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
};
|
|
225
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, "showHeader", "true", 0, 30000, 30000);
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
it("step0v1: check Page has descendant text - use deep selector structure wrong", async function () {
|
|
229
|
+
var ui5ControlProperties = {
|
|
230
|
+
"elementProperties": {
|
|
231
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
232
|
+
"id": "container-cart---welcomeView--page"
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"descendantProperties": {
|
|
236
|
+
"metadata": "sap.m.Text", "mProperties": {
|
|
237
|
+
"text": [{"path": "i18n>welcomeCarouselShipping"}],
|
|
238
|
+
"ancestorProperties": {
|
|
239
|
+
"viewName": "*view.Welcome",
|
|
240
|
+
"tooltip": [{"path": "i18n>welcomeDescription"}],
|
|
241
|
+
"descendantProperties": {
|
|
242
|
+
"metadata": "sap.m.ScrollContainer",
|
|
243
|
+
"domProperties": {
|
|
244
|
+
"class": "*sapMScrollContas"
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 5000))
|
|
252
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
it("step0v1: check Page has descendant text - wait for property only not element", async function () {
|
|
256
|
+
var ui5ControlProperties = {
|
|
257
|
+
"elementProperties": {
|
|
258
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
259
|
+
"id": "container-cart---welcomeView--page"
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"descendantProperties": {
|
|
263
|
+
"metadata": "sap.m.Text", "mProperties": {
|
|
264
|
+
"text": [{ "path": "i18n>welcomeCarouselShipping" }]
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, "showHeader", "true", 0, 1, 30000);
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
it("step0v1: check Page has descendant text - wait for property without mProperties", async function () {
|
|
272
|
+
var ui5ControlProperties = {
|
|
273
|
+
"elementProperties": { "metadata": "sap.m.Page", "id": "container-cart---welcomeView--page" },
|
|
274
|
+
"descendantProperties": { "metadata": "sap.m.Text", "text": [{ "path": "i18n>welcomeCarouselShipping" }] }
|
|
275
|
+
};
|
|
276
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, "showHeader", "true", 0, 1, 30000);
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
it("step0v1: check name is Accessories - check with dom properties and not mProperties", async function () {
|
|
280
|
+
var ui5ControlProperties = {
|
|
281
|
+
"elementProperties": {
|
|
282
|
+
"metadata": "sap.m.StandardListItem",
|
|
283
|
+
"viewId": "cont*cart*",
|
|
284
|
+
"title": [{ "path": "CategoryName" }],
|
|
285
|
+
"bindingContextPath": "/ProductCategories*",
|
|
286
|
+
"domProperties": {
|
|
287
|
+
"nodeName": "li",
|
|
288
|
+
"role": "option",
|
|
289
|
+
"class": "*sapMLIB*sapMSLI"
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
const nameField = await browser.uiControl(ui5ControlProperties);
|
|
294
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
295
|
+
var compareValue = "Accessories"; //expected value
|
|
296
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
297
|
+
});
|
|
298
|
+
|
|
299
|
+
it("step0v1: check name is Accessories - check with wrong properties and not mProperties", async function () {
|
|
300
|
+
var ui5ControlProperties = {
|
|
301
|
+
"elementProperties": {
|
|
302
|
+
"metadata": "sap.m.StandardListItem",
|
|
303
|
+
"viewId": "cont*cart*",
|
|
304
|
+
"title": [{ "path": "CategoryNam" }],
|
|
305
|
+
"bindingContextPath": "/ProductCategories*",
|
|
306
|
+
"domProperties": {
|
|
307
|
+
"nodeName": "li",
|
|
308
|
+
"data-sap-ui": "*categoryList-0",
|
|
309
|
+
"role": "option",
|
|
310
|
+
"class": "*sapMLIB*sapMSLI",
|
|
311
|
+
"id": "__item1-container-cart---homeView--categoryList-0"
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 1000))
|
|
317
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
318
|
+
});
|
|
319
|
+
|
|
320
|
+
it("step0v1: check name is Accessories - check with wrong dom properties and not mProperties", async function () {
|
|
321
|
+
var ui5ControlProperties = {
|
|
322
|
+
"elementProperties": {
|
|
323
|
+
"metadata": "sap.m.StandardListItem",
|
|
324
|
+
"viewId": "cont*cart*",
|
|
325
|
+
"title": [{"path": "CategoryName"}],
|
|
326
|
+
"bindingContextPath": "/ProductCategories*",
|
|
327
|
+
"domProperties": {
|
|
328
|
+
"nodeName": "li",
|
|
329
|
+
"data-sap-ui": "*categoryList-0",
|
|
330
|
+
"role": "option1",
|
|
331
|
+
"class": "*sapMLIB*sapMSLI",
|
|
332
|
+
"id": "__item1-container-cart---homeView--categoryList-0"
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 1000))
|
|
338
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
339
|
+
});
|
|
340
|
+
|
|
341
|
+
it("step0v1: check Page has empty descendant button", async function () {
|
|
342
|
+
var ui5ControlProperties = {
|
|
343
|
+
"elementProperties": {
|
|
344
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
345
|
+
"id": "*welcomeView--page"
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
"descendantProperties": {}
|
|
349
|
+
};
|
|
350
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, "showHeader", "true", 0, 30000, 10000);
|
|
351
|
+
});
|
|
352
|
+
|
|
353
|
+
it("step0v1: check Page has descendant text", async function () {
|
|
354
|
+
var ui5ControlProperties = {
|
|
355
|
+
"elementProperties": {
|
|
356
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
357
|
+
"id": "container-cart---welcomeView--page"
|
|
358
|
+
}
|
|
359
|
+
},
|
|
360
|
+
"descendantProperties": {
|
|
361
|
+
"metadata": "sap.m.Text", "mProperties": {
|
|
362
|
+
"text": [{ "path": "i18n>welcomeCarouselShipping" }]
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, "showHeader", "true", 0, 30000, 10000);
|
|
367
|
+
});
|
|
368
|
+
|
|
369
|
+
it("step0v1: check Page has descendant button", async function () {
|
|
370
|
+
var ui5ControlProperties = {
|
|
371
|
+
"elementProperties": {
|
|
372
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
373
|
+
"id": "*welcomeView--page"
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
"descendantProperties": {
|
|
377
|
+
"metadata": "sap.m.Button", "mProperties": {
|
|
378
|
+
"tooltip": [{ "path": "i18n>avatarButtonTooltip" }]
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
};
|
|
382
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, "showHeader", "true", 0, 30000, 10000);
|
|
383
|
+
});
|
|
384
|
+
|
|
385
|
+
it("step0v1: check Page has wrong descendant text", async function () {
|
|
386
|
+
var ui5ControlProperties = {
|
|
387
|
+
"elementProperties": {
|
|
388
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
389
|
+
"id": "container-cart---welcomeView--page"
|
|
390
|
+
}
|
|
391
|
+
},
|
|
392
|
+
"descendantProperties": {
|
|
393
|
+
"metadata": "sap.m.Text", "mProperties": {
|
|
394
|
+
"text": [{ "path": "welcomeCarouselShippings1" }]
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
};
|
|
398
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 1000))
|
|
399
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
400
|
+
});
|
|
401
|
+
|
|
402
|
+
it("step0v1: check Page has not direct childern text control", async function () {
|
|
403
|
+
var ui5ControlProperties = {
|
|
404
|
+
"elementProperties": {
|
|
405
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
406
|
+
"id": "container-cart---welcomeView--page"
|
|
407
|
+
}
|
|
408
|
+
},
|
|
409
|
+
"childProperties": {
|
|
410
|
+
"metadata": "sap.m.Text", "mProperties": {
|
|
411
|
+
"text": [{ "path": "i18n>welcomeCarouselShipping" }]
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
};
|
|
415
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 1000))
|
|
416
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
417
|
+
});
|
|
418
|
+
|
|
419
|
+
it("step0v1: check Page has not direct children button control", async function () {
|
|
420
|
+
var ui5ControlProperties = {
|
|
421
|
+
"elementProperties": {
|
|
422
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
423
|
+
"id": "container-cart---welcomeView--page"
|
|
424
|
+
}
|
|
425
|
+
},
|
|
426
|
+
"childProperties": {
|
|
427
|
+
"metadata": "sap.m.Button", "mProperties": {
|
|
428
|
+
"tooltip": [{ "path": "i18n>avatarButtonTooltip" }]
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 1000))
|
|
434
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
435
|
+
});
|
|
436
|
+
|
|
437
|
+
it("step0v1: check name is Accessories - check with dom properties", async function () {
|
|
438
|
+
var ui5ControlProperties = {
|
|
439
|
+
"elementProperties": {
|
|
440
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
441
|
+
"viewId": "cont*cart*",
|
|
442
|
+
"title": [{ "path": "CategoryName" }],
|
|
443
|
+
"bindingContextPath": "/ProductCategories*"
|
|
444
|
+
},
|
|
445
|
+
"domProperties": {
|
|
446
|
+
"nodeName": "li",
|
|
447
|
+
"data-sap-ui": "*categoryList*",
|
|
448
|
+
"role": "option",
|
|
449
|
+
"class": "*sapMLIB*sapMSLI"
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
};
|
|
453
|
+
const nameField = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
454
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
455
|
+
var compareValue = "Accessories"; //expected value
|
|
456
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
457
|
+
});
|
|
458
|
+
|
|
459
|
+
it("step0v1: check name is Accessories - check with dom properties nodename and id", async function () {
|
|
460
|
+
var ui5ControlProperties = {
|
|
461
|
+
"elementProperties": {
|
|
462
|
+
"metadata": "sap.m.StandardListItem",
|
|
463
|
+
"domProperties": {
|
|
464
|
+
"nodeName": "li",
|
|
465
|
+
"id": "*categoryList-0"
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
};
|
|
469
|
+
const nameField = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
470
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
471
|
+
var compareValue = "Accessories"; //expected value
|
|
472
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
473
|
+
});
|
|
474
|
+
|
|
475
|
+
it("step0v1: check name is Accessories - check with wrong dom properties", async function () {
|
|
476
|
+
var ui5ControlProperties = {
|
|
477
|
+
"elementProperties": {
|
|
478
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
479
|
+
"viewId": "cont*cart*",
|
|
480
|
+
"title": [{ "path": "CategoryName" }],
|
|
481
|
+
"bindingContextPath": "/ProductCategories*"
|
|
482
|
+
},
|
|
483
|
+
"domProperties": {
|
|
484
|
+
"nodeName": "li",
|
|
485
|
+
"data-sap-ui": "*categoryList-0",
|
|
486
|
+
"role": "option1",
|
|
487
|
+
"class": "*sapMLIB*sapMSLI",
|
|
488
|
+
"id": "__item1-container-cart---homeView--categoryList-0"
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
};
|
|
492
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 1000))
|
|
493
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
494
|
+
});
|
|
495
|
+
|
|
496
|
+
it("step0v1: check name is Accessories - check with wrong dom properties", async function () {
|
|
497
|
+
var ui5ControlProperties = {
|
|
498
|
+
"elementProperties": {
|
|
499
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
500
|
+
"viewId": "cont*cart*",
|
|
501
|
+
"title": [{"path": "CategoryName"}],
|
|
502
|
+
"bindingContextPath": "/ProductCategories*"
|
|
503
|
+
},
|
|
504
|
+
"domProperties": {
|
|
505
|
+
"nodeName": "li",
|
|
506
|
+
"data-sap-ui": "*categoryList-0",
|
|
507
|
+
"role": "option",
|
|
508
|
+
"class": "*sapMLIB1*sapMSLI",
|
|
509
|
+
"id": "__item1-container-cart---homeView--categoryList-0"
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
};
|
|
513
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 1000))
|
|
514
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
515
|
+
});
|
|
516
|
+
|
|
517
|
+
it("step0v1: check name is Accessories - use UI5 Control properties", async function () {
|
|
518
|
+
var ui5ControlProperties = {
|
|
519
|
+
"elementProperties": {
|
|
520
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
521
|
+
"viewId": "container-cart---app",
|
|
522
|
+
"title": [{ "path": "CategoryName" }],
|
|
523
|
+
"bindingContextPath": "/ProductCategories*"
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
};
|
|
527
|
+
var elem = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
528
|
+
var attribute = "title";
|
|
529
|
+
var compareValue = "Accessories";
|
|
530
|
+
var val = await browser.getUI5Property(attribute, elem);
|
|
531
|
+
await expect(val).toBe(compareValue);
|
|
532
|
+
});
|
|
533
|
+
|
|
534
|
+
it("step0v1: check name is Accessories - use UI5 Aggregation Control properties", async function () {
|
|
535
|
+
var ui5ControlProperties = {
|
|
536
|
+
"elementProperties": {
|
|
537
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
538
|
+
"viewId": "container-cart---app",
|
|
539
|
+
"title": [{ "path": "CategoryName" }],
|
|
540
|
+
"bindingContextPath": "/ProductCategories*"
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
};
|
|
544
|
+
var elem = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
545
|
+
var attribute = "tooltip";
|
|
546
|
+
var compareValue = "Open category Accessories";
|
|
547
|
+
var val = await browser.getUI5Aggregation(attribute, elem);
|
|
548
|
+
await expect(val).toBe(compareValue);
|
|
549
|
+
});
|
|
550
|
+
|
|
551
|
+
it("step0v1: check name is Accessories - use UI5 Control binding property path", async function () {
|
|
552
|
+
var ui5ControlProperties = {
|
|
553
|
+
"elementProperties": {
|
|
554
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
555
|
+
"viewId": "container-cart---app",
|
|
556
|
+
"title": [{ "path": "CategoryName" }],
|
|
557
|
+
"bindingContextPath": "/ProductCategories*"
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
};
|
|
561
|
+
var elem = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
562
|
+
var attribute = "title";
|
|
563
|
+
var aBindings = await browser.getBindingProperty(attribute, elem);
|
|
564
|
+
await expect(aBindings[0].path).toBe("CategoryName");
|
|
565
|
+
|
|
566
|
+
});
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
it("step0v1: check name is Accessories - use UI5 Control binding context path", async function () {
|
|
570
|
+
var ui5ControlProperties = {
|
|
571
|
+
"elementProperties": {
|
|
572
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
573
|
+
"viewId": "container-cart---app",
|
|
574
|
+
"title": [{ "path": "CategoryName" }],
|
|
575
|
+
"bindingContextPath": "/ProductCategories*"
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
};
|
|
579
|
+
var elem = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
580
|
+
var sContext = await browser.getBindingContextPath(elem);
|
|
581
|
+
await expect(sContext).toBe("/ProductCategories('AC')");
|
|
582
|
+
});
|
|
583
|
+
|
|
584
|
+
it("step0v1: check name is Accessories - view Id check", async function () {
|
|
585
|
+
|
|
586
|
+
var ui5ControlProperties = {
|
|
587
|
+
"elementProperties": {
|
|
588
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
589
|
+
"viewId": "container-cart---app",
|
|
590
|
+
"title": [{ "path": "CategoryName" }],
|
|
591
|
+
"bindingContextPath": "/ProductCategories*"
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
};
|
|
595
|
+
var nameField = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
596
|
+
var attribute = "title";
|
|
597
|
+
var compareValue = "Accessories";
|
|
598
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
599
|
+
|
|
600
|
+
});
|
|
601
|
+
|
|
602
|
+
it("step0v1: check name is Accessories - view Id wildcard check", async function () {
|
|
603
|
+
var ui5ControlProperties = {
|
|
604
|
+
"elementProperties": {
|
|
605
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
606
|
+
"viewId": "cont*cart*",
|
|
607
|
+
"title": [{ "path": "CategoryName" }],
|
|
608
|
+
"bindingContextPath": "/ProductCategories*"
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
};
|
|
612
|
+
const nameField = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
613
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
614
|
+
var compareValue = "Accessories"; //expected value
|
|
615
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
616
|
+
});
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
it("step0v1: check name is Accessories - view Id for ancestor check", async function () {
|
|
620
|
+
|
|
621
|
+
var ui5ControlProperties = {
|
|
622
|
+
"elementProperties": {
|
|
623
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
624
|
+
"title": [{ "path": "CategoryName" }],
|
|
625
|
+
"bindingContextPath": "/ProductCategories*"
|
|
626
|
+
}
|
|
627
|
+
},
|
|
628
|
+
"ancestorProperties": {
|
|
629
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
630
|
+
"items": [{ "path": "/ProductCategories" }],
|
|
631
|
+
"viewId": "cont*cart*"
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
};
|
|
635
|
+
const nameField = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
636
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
637
|
+
var compareValue = "Accessories"; //expected value
|
|
638
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
639
|
+
});
|
|
640
|
+
|
|
641
|
+
it("step0v1: check name is Accessories - view Id for ancestor check wrong", async function () {
|
|
642
|
+
|
|
643
|
+
var ui5ControlProperties = {
|
|
644
|
+
"elementProperties": {
|
|
645
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
646
|
+
"title": [{ "path": "CategoryName" }],
|
|
647
|
+
"bindingContextPath": "/ProductCategories*"
|
|
648
|
+
}
|
|
649
|
+
},
|
|
650
|
+
"ancestorProperties": {
|
|
651
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
652
|
+
"items": [{ "path": "/ProductCategories" }],
|
|
653
|
+
"viewId": "cont*cartes*"
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
};
|
|
657
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 1000))
|
|
658
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
659
|
+
});
|
|
660
|
+
|
|
661
|
+
it("step0v1: check name is Accessories - view Name check", async function () {
|
|
662
|
+
|
|
663
|
+
var ui5ControlProperties = {
|
|
664
|
+
"elementProperties": {
|
|
665
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
666
|
+
"viewName": "sap.ui.demo.cart.view.App",
|
|
667
|
+
"title": [{ "path": "CategoryName" }],
|
|
668
|
+
"bindingContextPath": "/ProductCategories*"
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
};
|
|
672
|
+
const nameField = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
673
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
674
|
+
var compareValue = "Accessories"; //expected value
|
|
675
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
676
|
+
|
|
677
|
+
});
|
|
678
|
+
|
|
679
|
+
it("step0v1: check name is Accessories - view name wildcard check", async function () {
|
|
680
|
+
|
|
681
|
+
var ui5ControlProperties = {
|
|
682
|
+
"elementProperties": {
|
|
683
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
684
|
+
"viewName": "*cart.view*",
|
|
685
|
+
"title": [{ "path": "CategoryName" }],
|
|
686
|
+
"bindingContextPath": "/ProductCategories*"
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
};
|
|
690
|
+
const nameField = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
691
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
692
|
+
var compareValue = "Accessories"; //expected value
|
|
693
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
694
|
+
|
|
695
|
+
});
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
it("step0v1: check name is Accessories - view name for ancestor check", async function () {
|
|
699
|
+
|
|
700
|
+
var ui5ControlProperties = {
|
|
701
|
+
"elementProperties": {
|
|
702
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
703
|
+
"title": [{ "path": "CategoryName" }],
|
|
704
|
+
"bindingContextPath": "/ProductCategories*"
|
|
705
|
+
}
|
|
706
|
+
},
|
|
707
|
+
"ancestorProperties": {
|
|
708
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
709
|
+
"items": [{ "path": "/ProductCategories" }],
|
|
710
|
+
"viewName": "*cart.view*"
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
};
|
|
714
|
+
const nameField = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
715
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
716
|
+
var compareValue = "Accessories"; //expected value
|
|
717
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
718
|
+
});
|
|
719
|
+
|
|
720
|
+
it("step0v1: check name is Accessories - view name for ancestor check wrong", async function () {
|
|
721
|
+
|
|
722
|
+
var ui5ControlProperties = {
|
|
723
|
+
"elementProperties": {
|
|
724
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
725
|
+
"title": [{ "path": "CategoryName" }],
|
|
726
|
+
"bindingContextPath": "/ProductCategories*"
|
|
727
|
+
}
|
|
728
|
+
},
|
|
729
|
+
"ancestorProperties": {
|
|
730
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
731
|
+
"items": [{ "path": "/ProductCategories" }],
|
|
732
|
+
"viewName": "*cart.views*asra"
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
};
|
|
736
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 1000))
|
|
737
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
738
|
+
});
|
|
739
|
+
|
|
740
|
+
it("step0ay:check name is Accessories - chaining assert with no index", async function () {
|
|
741
|
+
var ui5ControlProperties = {
|
|
742
|
+
"elementProperties": { "metadata": "sap.m.List", "mProperties": { "items": [{ "path": "/ProductCategories" }] } },
|
|
743
|
+
"parentProperties": { "metadata": "sap.m.Page", "mProperties": { "title": [{ "path": "i18n>homeTitle" }] } }
|
|
744
|
+
};
|
|
745
|
+
var list = await ui5.element.getDisplayed(ui5ControlProperties, 0);
|
|
746
|
+
|
|
747
|
+
var ui5ControlProperties2 = {
|
|
748
|
+
"elementProperties": { "metadata": "sap.m.StandardListItem", "mProperties": { "title": [{ "path": "CategoryName" }], "bindingContextPath": "/ProductCategories*" } },
|
|
749
|
+
};
|
|
750
|
+
|
|
751
|
+
const nameField = await list.uiControl(ui5ControlProperties2);
|
|
752
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
753
|
+
var compareValue = "Accessories"; //expected value
|
|
754
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
755
|
+
|
|
756
|
+
});
|
|
757
|
+
|
|
758
|
+
it("step0ay:check name is Accessories - chaining assert with index", async function () {
|
|
759
|
+
var ui5ControlProperties = {
|
|
760
|
+
"elementProperties": { "metadata": "sap.m.List", "mProperties": { "items": [{ "path": "/ProductCategories" }] } },
|
|
761
|
+
"parentProperties": { "metadata": "sap.m.Page", "mProperties": { "title": [{ "path": "i18n>homeTitle" }] } }
|
|
762
|
+
};
|
|
763
|
+
var list = await ui5.element.getDisplayed(ui5ControlProperties, 0);
|
|
764
|
+
|
|
765
|
+
var ui5ControlProperties2 = {
|
|
766
|
+
"elementProperties": { "metadata": "sap.m.StandardListItem", "mProperties": { "title": [{ "path": "CategoryName" }], "bindingContextPath": "/ProductCategories*" } },
|
|
767
|
+
};
|
|
768
|
+
|
|
769
|
+
});
|
|
770
|
+
|
|
771
|
+
it("step0ay:check name is Accessories - chaining assert with wrong index", async function () {
|
|
772
|
+
var ui5ControlProperties = {
|
|
773
|
+
"elementProperties": { "metadata": "sap.m.List", "mProperties": { "items": [{ "path": "/ProductCategories" }] } },
|
|
774
|
+
"parentProperties": { "metadata": "sap.m.Page", "mProperties": { "title": [{ "path": "i18n>homeTitle" }] } }
|
|
775
|
+
};
|
|
776
|
+
var list = await ui5.element.getDisplayed(ui5ControlProperties, 0);
|
|
777
|
+
|
|
778
|
+
var ui5ControlProperties2 = {
|
|
779
|
+
"elementProperties": { "metadata": "sap.m.StandardListItem", "mProperties": { "title": [{ "path": "CategoryName" }], "bindingContextPath": "/ProductCategories*" } },
|
|
780
|
+
};
|
|
781
|
+
const nameField = await list.uiControl(ui5ControlProperties2);
|
|
782
|
+
var attribute = "title";
|
|
783
|
+
var compareValue = "Computer System Accessories";
|
|
784
|
+
await expect(await nameField.getAttribute("data-" + attribute)).not.toBe(compareValue);
|
|
785
|
+
});
|
|
786
|
+
|
|
787
|
+
it("step0ax:check name is Computer System Accessories - chaining assert", async function () {
|
|
788
|
+
var ui5ControlProperties = {
|
|
789
|
+
"elementProperties": { "metadata": "sap.m.List", "mProperties": { "items": [{ "path": "/ProductCategories" }] } },
|
|
790
|
+
"parentProperties": { "metadata": "sap.m.Page", "mProperties": { "title": [{ "path": "i18n>homeTitle" }] } }
|
|
791
|
+
};
|
|
792
|
+
var list = await ui5.element.getDisplayed(ui5ControlProperties, 0);
|
|
793
|
+
|
|
794
|
+
var ui5ControlProperties2 = {
|
|
795
|
+
"elementProperties": { "metadata": "sap.m.StandardListItem", "mProperties": { "title": [{ "path": "CategoryName" }] } },
|
|
796
|
+
};
|
|
797
|
+
|
|
798
|
+
const nameField = await list.uiControl(ui5ControlProperties2, 1);
|
|
799
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
800
|
+
var compareValue = "Computer System Accessories"; //expected value
|
|
801
|
+
await expect(await nameField.getAttribute("data-" + attribute)).toBe(compareValue);
|
|
802
|
+
|
|
803
|
+
});
|
|
804
|
+
|
|
805
|
+
it("step0as:click on the first standard item check id with wildcard", async function () {
|
|
806
|
+
var ui5ControlProperties = {
|
|
807
|
+
"elementProperties": {
|
|
808
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
809
|
+
"id": "*categoryList-0",
|
|
810
|
+
"bindingContextPath": "/ProductCategories('AC')"
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
};
|
|
814
|
+
const nameField = await browser.uiControl(ui5ControlProperties);
|
|
815
|
+
await nameField.click();
|
|
816
|
+
});
|
|
817
|
+
|
|
818
|
+
it("step0ch1:check chaining in a objectlist item", async function () {
|
|
819
|
+
//----------------------- Block for sap.m.ObjectListItem - Get Element Reference
|
|
820
|
+
var objectListProp = {
|
|
821
|
+
"elementProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": { "title": [{ "path": "Name" }], "number": [{ "path": "Price" }], "bindingContextPath": "/Products('HT-2001')" } },
|
|
822
|
+
};
|
|
823
|
+
var elem = await browser.uiControl(objectListProp);
|
|
824
|
+
var objectNumber = {
|
|
825
|
+
"elementProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": {} },
|
|
826
|
+
};
|
|
827
|
+
var attribute = "number"; //eg: title, text, value etc.
|
|
828
|
+
var compareValue = "449,99"; //expected value
|
|
829
|
+
const innerElement = await elem.uiControl(objectNumber);
|
|
830
|
+
var expVal = await innerElement.getAttribute("data-" + attribute);
|
|
831
|
+
await expect(expVal).toBe(compareValue); // === expVal[0] in vyperForAll
|
|
832
|
+
});
|
|
833
|
+
|
|
834
|
+
it("step0ch2:check chaining in a objectlist item with index", async function () {
|
|
835
|
+
//----------------------- Block for sap.m.ObjectListItem - Get Element Reference
|
|
836
|
+
var objectListProp = {
|
|
837
|
+
"elementProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": { "title": [{ "path": "Name" }], "number": [{ "path": "Price" }], "bindingContextPath": "/Products('HT-2001')" } },
|
|
838
|
+
};
|
|
839
|
+
var elem = await browser.uiControl(objectListProp);
|
|
840
|
+
var objectNumber = {
|
|
841
|
+
"elementProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": {} },
|
|
842
|
+
};
|
|
843
|
+
var attribute = "number"; //eg: title, text, value etc.
|
|
844
|
+
var compareValue = "449,99"; //expected value
|
|
845
|
+
const innerElement = await elem.uiControl(objectNumber, 0);
|
|
846
|
+
var expVal = await innerElement.getAttribute("data-" + attribute);
|
|
847
|
+
await expect(expVal).toBe(compareValue); // === expVal[0] in vyperForAll
|
|
848
|
+
});
|
|
849
|
+
|
|
850
|
+
it("step0as:navigate back to main page", async function () {
|
|
851
|
+
var ui5ControlProperties = {
|
|
852
|
+
"elementProperties": { "metadata": "sap.m.Button", "mProperties": { "type": "Back" } },
|
|
853
|
+
"parentProperties": { "metadata": "sap.m.Bar", "mProperties": {} },
|
|
854
|
+
"prevSiblingProperties": {},
|
|
855
|
+
"nextSiblingProperties": { "metadata": "sap.m.Title", "mProperties": {} },
|
|
856
|
+
"childProperties": { "metadata": "sap.ui.core.Icon", "mProperties": { "src": "sap-icon://nav-back" } }
|
|
857
|
+
};
|
|
858
|
+
await ui5.userInteraction.click(ui5ControlProperties);
|
|
859
|
+
});
|
|
860
|
+
|
|
861
|
+
it("step0an:click on the first standard item check id only with wildcard", async function () {
|
|
862
|
+
var ui5ControlProperties = {
|
|
863
|
+
"elementProperties": {
|
|
864
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
865
|
+
"id": "*categoryList-0"
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
};
|
|
869
|
+
await ui5.userInteraction.click(ui5ControlProperties);
|
|
870
|
+
});
|
|
871
|
+
|
|
872
|
+
it("step0as:navigate back to main page", async function () {
|
|
873
|
+
var ui5ControlProperties = {
|
|
874
|
+
"elementProperties": { "metadata": "sap.m.Button", "mProperties": { "type": "Back" } },
|
|
875
|
+
"parentProperties": { "metadata": "sap.m.Bar", "mProperties": {} },
|
|
876
|
+
"prevSiblingProperties": {},
|
|
877
|
+
"nextSiblingProperties": { "metadata": "sap.m.Title", "mProperties": {} },
|
|
878
|
+
"childProperties": { "metadata": "sap.ui.core.Icon", "mProperties": { "src": "sap-icon://nav-back" } }
|
|
879
|
+
};
|
|
880
|
+
await ui5.userInteraction.click(ui5ControlProperties);
|
|
881
|
+
});
|
|
882
|
+
|
|
883
|
+
it("step0as:click on the first standard item check id with wildcard", async function () {
|
|
884
|
+
var ui5ControlProperties = {
|
|
885
|
+
"elementProperties": {
|
|
886
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
887
|
+
"id": "*categoryList-1",
|
|
888
|
+
"bindingContextPath": "/ProductCategories('AC')"
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
};
|
|
892
|
+
await expect(ui5.element.getDisplayed(ui5ControlProperties, 0, 1000))
|
|
893
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
894
|
+
});
|
|
895
|
+
|
|
896
|
+
it("step 0i: check first item with aggregation property", async function () {
|
|
897
|
+
//----------------------- Block for sap.m.StandardListItem - Perform Assert -----------------------
|
|
898
|
+
var ui5ControlProperties = {
|
|
899
|
+
"elementProperties": {
|
|
900
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
901
|
+
"title": "Accessories", "tooltip": "Open category Accessories"
|
|
902
|
+
}
|
|
903
|
+
},
|
|
904
|
+
"parentProperties": { "metadata": "sap.m.List", "mProperties": { "headerText": "Categories" } },
|
|
905
|
+
"prevSiblingProperties": {},
|
|
906
|
+
"nextSiblingProperties": { "metadata": "sap.m.StandardListItem", "mProperties": { "type": "Active", "title": "Computer System Accessories" } },
|
|
907
|
+
"childProperties": {}
|
|
908
|
+
};
|
|
909
|
+
var Index = 0;
|
|
910
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
911
|
+
var compareValue = "Accessories"; //expected value
|
|
912
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
913
|
+
});
|
|
914
|
+
|
|
915
|
+
it("step 0k: check first item with aggregation property wildcard", async function () {
|
|
916
|
+
//----------------------- Block for sap.m.StandardListItem - Perform Assert -----------------------
|
|
917
|
+
var ui5ControlProperties = {
|
|
918
|
+
"elementProperties": {
|
|
919
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
920
|
+
"title": "Accessories", "tooltip": "*category Acc*"
|
|
921
|
+
}
|
|
922
|
+
},
|
|
923
|
+
"parentProperties": { "metadata": "sap.m.List", "mProperties": { "headerText": "Categories" } },
|
|
924
|
+
"prevSiblingProperties": {},
|
|
925
|
+
"nextSiblingProperties": { "metadata": "sap.m.StandardListItem", "mProperties": { "type": "Active", "title": "Computer System Accessories" } },
|
|
926
|
+
"childProperties": {}
|
|
927
|
+
};
|
|
928
|
+
var Index = 0;
|
|
929
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
930
|
+
var compareValue = "Accessories"; //expected value
|
|
931
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
932
|
+
});
|
|
933
|
+
|
|
934
|
+
it("step 0y: check first item with aggregation property wildcard", async function () {
|
|
935
|
+
//----------------------- Block for sap.m.StandardListItem - Perform Assert -----------------------
|
|
936
|
+
var ui5ControlProperties = {
|
|
937
|
+
"elementProperties": {
|
|
938
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
939
|
+
"title": "Accessories"
|
|
940
|
+
}
|
|
941
|
+
},
|
|
942
|
+
"parentProperties": {"metadata": "sap.m.List", "mProperties": {"headerText": "Categories"}},
|
|
943
|
+
"nextSiblingProperties": {
|
|
944
|
+
"metadata": "sap.m.StandardListItem",
|
|
945
|
+
"mProperties": {"type": "Active", "title": "Computer System Accessories"}
|
|
946
|
+
},
|
|
947
|
+
};
|
|
948
|
+
var Index = 0;
|
|
949
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
950
|
+
var compareValue = "Accessories"; //expected value
|
|
951
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
952
|
+
});
|
|
953
|
+
|
|
954
|
+
it("step 0v: check first item with association property wrong", async function () {
|
|
955
|
+
//----------------------- Block for sap.m.StandardListItem - Perform Assert -----------------------
|
|
956
|
+
var ui5ControlProperties = {
|
|
957
|
+
"elementProperties": {
|
|
958
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
959
|
+
"title": "Accessories", "ariaLabelledBy": "test,test2"
|
|
960
|
+
}
|
|
961
|
+
},
|
|
962
|
+
"parentProperties": { "metadata": "sap.m.List", "mProperties": { "headerText": "Categories" } },
|
|
963
|
+
"prevSiblingProperties": {},
|
|
964
|
+
"nextSiblingProperties": { "metadata": "sap.m.StandardListItem", "mProperties": { "type": "Active", "title": "Computer System Accessories" } },
|
|
965
|
+
"childProperties": {}
|
|
966
|
+
};
|
|
967
|
+
var Index = 0;
|
|
968
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
969
|
+
var compareValue = "Accessories"; //expected value
|
|
970
|
+
await expect(ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index, 1000))
|
|
971
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
972
|
+
});
|
|
973
|
+
|
|
974
|
+
it("step0:check if product list aggregation bindingpath is correct", async function () {
|
|
975
|
+
var ui5ControlProperties = {
|
|
976
|
+
"elementProperties": {
|
|
977
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
978
|
+
"headerText": { "path": "homeCategoryListHeader" },
|
|
979
|
+
"items": { "path": "/ProductCategories" }
|
|
980
|
+
}
|
|
981
|
+
},
|
|
982
|
+
"parentProperties": {
|
|
983
|
+
"metadata": "sap.m.Page", "mProperties": {
|
|
984
|
+
"title": { "path": "homeTitle" }
|
|
985
|
+
}
|
|
986
|
+
},
|
|
987
|
+
"childProperties": {
|
|
988
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
989
|
+
"bindingContextPath": "/ProductCategories('AC')",
|
|
990
|
+
"counter": { "path": "NumberOfProducts" },
|
|
991
|
+
"title": { "path": "CategoryName" },
|
|
992
|
+
"tooltip": [{ "path": "i18n>openCategoryProducts" }, { "path": "CategoryName" }]
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
};
|
|
996
|
+
var Index = 0;
|
|
997
|
+
var attribute1 = "items"; //eg: title, text, value etc.
|
|
998
|
+
var comparePath1 = "/ProductCategories"; //expected value
|
|
999
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index, 100, 30000);
|
|
1000
|
+
});
|
|
1001
|
+
|
|
1002
|
+
it("step0a:click on the first standard item", async function () {
|
|
1003
|
+
var ui5ControlProperties = {
|
|
1004
|
+
"elementProperties": {
|
|
1005
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
1006
|
+
"bindingContextPath": "/ProductCategories('AC')"
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
};
|
|
1010
|
+
const nameField = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
1011
|
+
await nameField.click();
|
|
1012
|
+
});
|
|
1013
|
+
|
|
1014
|
+
it("step1t:check text for specific list item ancestor with * wildcard", async function () {
|
|
1015
|
+
//----------------------- Block for sap.m.Text - Perform Assert -----------------------
|
|
1016
|
+
var ui5ControlProperties = {
|
|
1017
|
+
"elementProperties": { "metadata": "sap.m.Text", "mProperties": { "text": "Audio/Video Cable Kit - 4m" } },
|
|
1018
|
+
"parentProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": {} },
|
|
1019
|
+
"ancestorProperties": {
|
|
1020
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
1021
|
+
"bindingContextPath": "*",
|
|
1022
|
+
"items": { "path": "Products" }
|
|
1023
|
+
}
|
|
1024
|
+
},
|
|
1025
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "number": "29*", "unit": "EUR", "state": "None" } },
|
|
1026
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "text": "Titanium" } },
|
|
1027
|
+
"childProperties": {}
|
|
1028
|
+
};
|
|
1029
|
+
var Index = 0;
|
|
1030
|
+
var attribute = "text"; //eg: title, text, value etc.
|
|
1031
|
+
var compareValue = "Audio/Video Cable Kit - 4m"; //expected value
|
|
1032
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
1033
|
+
});
|
|
1034
|
+
|
|
1035
|
+
it("step1e:check text for specific list item ancestor", async function () {
|
|
1036
|
+
//----------------------- Block for sap.m.Text - Perform Assert -----------------------
|
|
1037
|
+
var ui5ControlProperties = {
|
|
1038
|
+
"elementProperties": { "metadata": "sap.m.Text", "mProperties": { "text": "Audio/Video*" } },
|
|
1039
|
+
"parentProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": { "bindingContextPath": "/Products('HT-2026')" } },
|
|
1040
|
+
"ancestorProperties": {
|
|
1041
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
1042
|
+
"bindingContextPath": "/ProductCategories('AC')",
|
|
1043
|
+
"items": { "path": "Products" }
|
|
1044
|
+
}
|
|
1045
|
+
},
|
|
1046
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "number": "29,99", "unit": "EUR", "state": "None", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1047
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "text": "Titanium" } },
|
|
1048
|
+
"childProperties": {}
|
|
1049
|
+
};
|
|
1050
|
+
var Index = 0;
|
|
1051
|
+
var attribute = "text"; //eg: title, text, value etc.
|
|
1052
|
+
var compareValue = "Audio/Video Cable Kit - 4m"; //expected value
|
|
1053
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
1054
|
+
});
|
|
1055
|
+
|
|
1056
|
+
it("step1v:check text for specific list item ancestor with wild card", async function () {
|
|
1057
|
+
//----------------------- Block for sap.m.Text - Perform Assert -----------------------
|
|
1058
|
+
var ui5ControlProperties = {
|
|
1059
|
+
"elementProperties": { "metadata": "sap.m.Text", "mProperties": { "text": "Audio/Video Cable Kit - 4m" } },
|
|
1060
|
+
"parentProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": { "bindingContextPath": "/Products('HT-2026')" } },
|
|
1061
|
+
"ancestorProperties": {
|
|
1062
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
1063
|
+
"bindingContextPath": "*ProductCategories*('AC')",
|
|
1064
|
+
"items": { "path": "Products" }
|
|
1065
|
+
}
|
|
1066
|
+
},
|
|
1067
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "number": "29,99", "unit": "EUR", "state": "None", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1068
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "text": "Titanium" } },
|
|
1069
|
+
"childProperties": {}
|
|
1070
|
+
};
|
|
1071
|
+
var Index = 0;
|
|
1072
|
+
var attribute = "text"; //eg: title, text, value etc.
|
|
1073
|
+
var compareValue = "Audio/Video Cable Kit - 4m"; //expected value
|
|
1074
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
1075
|
+
});
|
|
1076
|
+
|
|
1077
|
+
it("step1x:check text for specific list item ancestor with wild card 2", async function () {
|
|
1078
|
+
//----------------------- Block for sap.m.Text - Perform Assert -----------------------
|
|
1079
|
+
var ui5ControlProperties = {
|
|
1080
|
+
"elementProperties": { "metadata": "sap.m.Text", "mProperties": { "text": "Audio/Video Cable Kit - 4m" } },
|
|
1081
|
+
"parentProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": { "bindingContextPath": "/Products('HT-2026')" } },
|
|
1082
|
+
"ancestorProperties": {
|
|
1083
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
1084
|
+
"bindingContextPath": "ProductCategories('AC')*",
|
|
1085
|
+
"items": { "path": "Products" }
|
|
1086
|
+
}
|
|
1087
|
+
},
|
|
1088
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "number": "29,99", "unit": "EUR", "state": "None", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1089
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "text": "Titanium" } },
|
|
1090
|
+
"childProperties": {}
|
|
1091
|
+
};
|
|
1092
|
+
var Index = 0;
|
|
1093
|
+
var attribute = "text"; //eg: title, text, value etc.
|
|
1094
|
+
var compareValue = "Audio/Video Cable Kit - 4m"; //expected value
|
|
1095
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
1096
|
+
});
|
|
1097
|
+
|
|
1098
|
+
it("step1y:check text for specific list item ancestor with wild card 2", async function () {
|
|
1099
|
+
//----------------------- Block for sap.m.Text - Perform Assert -----------------------
|
|
1100
|
+
var ui5ControlProperties = {
|
|
1101
|
+
"elementProperties": { "metadata": "sap.m.Text", "mProperties": { "text": "Audio/Video Cable Kit - 4m" } },
|
|
1102
|
+
"parentProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": { "bindingContextPath": "/Products('HT-2026')" } },
|
|
1103
|
+
"ancestorProperties": {
|
|
1104
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
1105
|
+
"bindingContextPath": "*('AC')**",
|
|
1106
|
+
"items": { "path": "Products" }
|
|
1107
|
+
}
|
|
1108
|
+
},
|
|
1109
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "number": "29,99", "unit": "EUR", "state": "None", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1110
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "text": "Titanium" } },
|
|
1111
|
+
"childProperties": {}
|
|
1112
|
+
};
|
|
1113
|
+
var Index = 0;
|
|
1114
|
+
var attribute = "text"; //eg: title, text, value etc.
|
|
1115
|
+
var compareValue = "Audio/Video Cable Kit - 4m"; //expected value
|
|
1116
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
1117
|
+
});
|
|
1118
|
+
|
|
1119
|
+
it("step1f:check text for specific list item ancestor", async function () {
|
|
1120
|
+
//----------------------- Block for sap.m.Text - Perform Assert -----------------------
|
|
1121
|
+
var ui5ControlProperties = {
|
|
1122
|
+
"elementProperties": { "metadata": "sap.m.Text", "mProperties": { "text": "Audio/Video Cable Kit - 4m" } },
|
|
1123
|
+
"parentProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": {} },
|
|
1124
|
+
"ancestorProperties": {
|
|
1125
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
1126
|
+
"bindingContextPath": "/ProductCategories('AC')",
|
|
1127
|
+
"items": { "path": "Products" }
|
|
1128
|
+
}
|
|
1129
|
+
},
|
|
1130
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "number": "29,99", "unit": "EUR", "state": "None" } },
|
|
1131
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "text": "Titanium" } },
|
|
1132
|
+
"childProperties": {}
|
|
1133
|
+
};
|
|
1134
|
+
var Index = 0;
|
|
1135
|
+
var attribute = "text"; //eg: title, text, value etc.
|
|
1136
|
+
var compareValue = "Audio/Video Cable Kit - 4m"; //expected value
|
|
1137
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
1138
|
+
});
|
|
1139
|
+
|
|
1140
|
+
it("step1s:check text for specific list item ancestor with wrong wildcard", async function () {
|
|
1141
|
+
//----------------------- Block for sap.m.Text - Perform Assert -----------------------
|
|
1142
|
+
var ui5ControlProperties = {
|
|
1143
|
+
"elementProperties": { "metadata": "sap.m.Text", "mProperties": { "text": "Audio/Video Cable Kit - 4m" } },
|
|
1144
|
+
"parentProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": {} },
|
|
1145
|
+
"ancestorProperties": {
|
|
1146
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
1147
|
+
"bindingContextPath": "*ProductCategories1*('AC')*",
|
|
1148
|
+
"items": { "path": "Products" }
|
|
1149
|
+
}
|
|
1150
|
+
},
|
|
1151
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "number": "29,99", "unit": "EUR", "state": "None" } },
|
|
1152
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "text": "Titanium" } },
|
|
1153
|
+
"childProperties": {}
|
|
1154
|
+
};
|
|
1155
|
+
var Index = 0;
|
|
1156
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
1157
|
+
var compareValue = "Audio/Video Cable Kit - 4m"; //expected value
|
|
1158
|
+
await expect(ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index, 1000))
|
|
1159
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1160
|
+
});
|
|
1161
|
+
|
|
1162
|
+
it("step1k:check text for specific list item sibling", async function () {
|
|
1163
|
+
//----------------------- Block for sap.m.Text - Perform Assert -----------------------
|
|
1164
|
+
var ui5ControlProperties = {
|
|
1165
|
+
"elementProperties": {
|
|
1166
|
+
"metadata": "sap.m.ObjectListItem", "mProperties": {
|
|
1167
|
+
"title": "Audio/Video Cable Kit - 4m", "number": "29,99", "numberUnit": "EUR"
|
|
1168
|
+
}
|
|
1169
|
+
},
|
|
1170
|
+
"ancestorProperties": {
|
|
1171
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
1172
|
+
"bindingContextPath": "/ProductCategories('AC')",
|
|
1173
|
+
"items": { "path": "Products" }
|
|
1174
|
+
}
|
|
1175
|
+
},
|
|
1176
|
+
"siblingProperties": {
|
|
1177
|
+
"metadata": "sap.m.ObjectListItem", "mProperties": {
|
|
1178
|
+
"title": "Beam Breaker B-1", "number": "469,00", "numberUnit": "EUR"
|
|
1179
|
+
}
|
|
1180
|
+
}
|
|
1181
|
+
};
|
|
1182
|
+
var Index = 0;
|
|
1183
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
1184
|
+
var compareValue = "Audio/Video Cable Kit - 4m"; //expected value
|
|
1185
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
1186
|
+
});
|
|
1187
|
+
|
|
1188
|
+
it("step1i:check text for specific list item sibling wrong property", async function () {
|
|
1189
|
+
//----------------------- Block for sap.m.Text - Perform Assert -----------------------
|
|
1190
|
+
var ui5ControlProperties = {
|
|
1191
|
+
"elementProperties": {
|
|
1192
|
+
"metadata": "sap.m.ObjectListItem", "mProperties": {
|
|
1193
|
+
"title": "Audio/Video Cable Kit - 4m", "number": "29,99", "numberUnit": "EUR"
|
|
1194
|
+
}
|
|
1195
|
+
},
|
|
1196
|
+
"ancestorProperties": {
|
|
1197
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
1198
|
+
"bindingContextPath": "/ProductCategories('AC')",
|
|
1199
|
+
"items": { "path": "Products" }
|
|
1200
|
+
}
|
|
1201
|
+
},
|
|
1202
|
+
"siblingProperties": {
|
|
1203
|
+
"metadata": "sap.m.ObjectListItem", "mProperties": {
|
|
1204
|
+
"title": "Beam Breaker B-2", "number": "469,00", "numberUnit": "EUR"
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
};
|
|
1208
|
+
var Index = 0;
|
|
1209
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
1210
|
+
var compareValue = "Audio/Video Cable Kit - 4m"; //expected value
|
|
1211
|
+
await expect(ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index, 1000))
|
|
1212
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1213
|
+
});
|
|
1214
|
+
|
|
1215
|
+
it("step1h:check text for specific list item ancestor wrong path", async function () {
|
|
1216
|
+
//----------------------- Block for sap.m.Text - Perform Assert -----------------------
|
|
1217
|
+
var ui5ControlProperties = {
|
|
1218
|
+
"elementProperties": { "metadata": "sap.m.Text", "mProperties": { "text": "Audio/Video Cable Kit - 4m" } },
|
|
1219
|
+
"parentProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": { "bindingContextPath": "/Products('HT-2026')" } },
|
|
1220
|
+
"ancestorProperties": {
|
|
1221
|
+
"metadata": "sap.m.List", "mProperties": {
|
|
1222
|
+
"bindingContextPath": "/ProductCategories('AC')",
|
|
1223
|
+
"items": { "path": "Products1" }
|
|
1224
|
+
}
|
|
1225
|
+
},
|
|
1226
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "number": "29,99", "unit": "EUR", "state": "None", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1227
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "text": "Titanium" } },
|
|
1228
|
+
"childProperties": {}
|
|
1229
|
+
};
|
|
1230
|
+
var Index = 0;
|
|
1231
|
+
var attribute = "text"; //eg: title, text, value etc.
|
|
1232
|
+
var compareValue = "Audio/Video Cable Kit - 4m"; //expected value
|
|
1233
|
+
await expect(ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index, 1000))
|
|
1234
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1235
|
+
});
|
|
1236
|
+
|
|
1237
|
+
it("step0b:navigate back to main page", async function () {
|
|
1238
|
+
var ui5ControlProperties = {
|
|
1239
|
+
"elementProperties": { "metadata": "sap.m.Button", "mProperties": { "type": "Back" } },
|
|
1240
|
+
"parentProperties": { "metadata": "sap.m.Bar", "mProperties": {} },
|
|
1241
|
+
"prevSiblingProperties": {},
|
|
1242
|
+
"nextSiblingProperties": { "metadata": "sap.m.Title", "mProperties": {} },
|
|
1243
|
+
"childProperties": { "metadata": "sap.ui.core.Icon", "mProperties": { "src": "sap-icon://nav-back" } }
|
|
1244
|
+
};
|
|
1245
|
+
await ui5.userInteraction.click(ui5ControlProperties);
|
|
1246
|
+
});
|
|
1247
|
+
|
|
1248
|
+
it("step0c:click on the second standard item", async function () {
|
|
1249
|
+
var ui5ControlProperties = {
|
|
1250
|
+
"elementProperties": {
|
|
1251
|
+
"metadata": "sap.m.StandardListItem", "mProperties": {
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
};
|
|
1255
|
+
const nameField = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
1256
|
+
await nameField.click();
|
|
1257
|
+
});
|
|
1258
|
+
|
|
1259
|
+
it("step0d:navigate back to main page", async function () {
|
|
1260
|
+
var ui5ControlProperties = {
|
|
1261
|
+
"elementProperties": { "metadata": "sap.m.Button", "mProperties": { "type": "Back" } },
|
|
1262
|
+
"parentProperties": { "metadata": "sap.m.Bar", "mProperties": {} },
|
|
1263
|
+
"prevSiblingProperties": {},
|
|
1264
|
+
"nextSiblingProperties": { "metadata": "sap.m.Title", "mProperties": {} },
|
|
1265
|
+
"childProperties": { "metadata": "sap.ui.core.Icon", "mProperties": { "src": "sap-icon://nav-back" } }
|
|
1266
|
+
};
|
|
1267
|
+
await ui5.userInteraction.click(ui5ControlProperties);
|
|
1268
|
+
});
|
|
1269
|
+
|
|
1270
|
+
it("step0c:expect main page visible", async function () {
|
|
1271
|
+
var ui5ControlProperties = {
|
|
1272
|
+
"elementProperties": { "metadata": "sap.m.SearchField", "mProperties": { "placeholder": "Search" } },
|
|
1273
|
+
"parentProperties": { "metadata": "sap.m.Toolbar", "mProperties": {} },
|
|
1274
|
+
"prevSiblingProperties": {},
|
|
1275
|
+
"nextSiblingProperties": {},
|
|
1276
|
+
"childProperties": {}
|
|
1277
|
+
};
|
|
1278
|
+
await ui5.assertion.expectToBeVisible(ui5ControlProperties, 0, 10, 30000);
|
|
1279
|
+
});
|
|
1280
|
+
|
|
1281
|
+
it("step1:enter on Accessories and search", async function () {
|
|
1282
|
+
var ui5ControlProperties = {
|
|
1283
|
+
"elementProperties": { "metadata": "sap.m.SearchField", "mProperties": { "placeholder": "Search" } },
|
|
1284
|
+
"parentProperties": { "metadata": "sap.m.Toolbar", "mProperties": {} },
|
|
1285
|
+
"prevSiblingProperties": {},
|
|
1286
|
+
"nextSiblingProperties": {},
|
|
1287
|
+
"childProperties": {}
|
|
1288
|
+
};
|
|
1289
|
+
var value = "Flat Basic"; //value to be entered by user
|
|
1290
|
+
await ui5.userInteraction.searchFor(ui5ControlProperties, value, 0, 30000, false);
|
|
1291
|
+
});
|
|
1292
|
+
|
|
1293
|
+
it("step1a:enter on Accessories and search wrong element value", async function () {
|
|
1294
|
+
// "placeholders": "Search1" - wring value for test
|
|
1295
|
+
var ui5ControlProperties = {
|
|
1296
|
+
"elementProperties": { "metadata": "sap.m.SearchField", "mProperties": { "placeholders": "Search1" } },
|
|
1297
|
+
"parentProperties": { "metadata": "sap.m.Toolbar", "mProperties": {} },
|
|
1298
|
+
"prevSiblingProperties": {},
|
|
1299
|
+
"nextSiblingProperties": {},
|
|
1300
|
+
"childProperties": {}
|
|
1301
|
+
};
|
|
1302
|
+
var value = "Flat Basic"; //value to be entered by user
|
|
1303
|
+
await expect(ui5.userInteraction.searchFor(ui5ControlProperties, value, 0, 1000, false))
|
|
1304
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1305
|
+
});
|
|
1306
|
+
|
|
1307
|
+
it("step1b:enter on Accessories and search with additional property", async function () {
|
|
1308
|
+
var ui5ControlProperties = {
|
|
1309
|
+
"elementProperties": { "metadata": "sap.m.SearchField", "mProperties": { "placeholder": "Search", "enableSuggestions": "false", "maxLength": "0" } },
|
|
1310
|
+
"parentProperties": { "metadata": "sap.m.Toolbar", "mProperties": {} },
|
|
1311
|
+
"prevSiblingProperties": {},
|
|
1312
|
+
"nextSiblingProperties": {},
|
|
1313
|
+
"childProperties": {}
|
|
1314
|
+
};
|
|
1315
|
+
var value = "Flat Basic"; //value to be entered by user
|
|
1316
|
+
await ui5.userInteraction.searchFor(ui5ControlProperties, value, 0, 30000, false);
|
|
1317
|
+
});
|
|
1318
|
+
|
|
1319
|
+
it("step1c:enter on Accessories and search with wrong boolean additional property", async function () {
|
|
1320
|
+
// "enableSuggestions": "true" - wrong property for test
|
|
1321
|
+
var ui5ControlProperties = {
|
|
1322
|
+
"elementProperties": { "metadata": "sap.m.SearchField", "mProperties": { "placeholder": "Search", "enableSuggestions": "true", "maxLength": "0" } },
|
|
1323
|
+
"parentProperties": { "metadata": "sap.m.Toolbar", "mProperties": {} },
|
|
1324
|
+
"prevSiblingProperties": {},
|
|
1325
|
+
"nextSiblingProperties": {},
|
|
1326
|
+
"childProperties": {}
|
|
1327
|
+
};
|
|
1328
|
+
var value = "Flat Basic"; //value to be entered by user
|
|
1329
|
+
await expect(ui5.userInteraction.searchFor(ui5ControlProperties, value, 0, 1000, false))
|
|
1330
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1331
|
+
});
|
|
1332
|
+
|
|
1333
|
+
it("step1c:enter on Accessories and search with wrong number additional property", async function () {
|
|
1334
|
+
// "maxLength": "1" - wrong value for test
|
|
1335
|
+
var ui5ControlProperties = {
|
|
1336
|
+
"elementProperties": { "metadata": "sap.m.SearchField", "mProperties": { "placeholder": "Search", "enableSuggestions": "false", "maxLength": "1" } },
|
|
1337
|
+
"parentProperties": { "metadata": "sap.m.Toolbar", "mProperties": {} },
|
|
1338
|
+
"prevSiblingProperties": {},
|
|
1339
|
+
"nextSiblingProperties": {},
|
|
1340
|
+
"childProperties": {}
|
|
1341
|
+
};
|
|
1342
|
+
var value = "Flat Basic"; //value to be entered by user
|
|
1343
|
+
await expect(ui5.userInteraction.searchFor(ui5ControlProperties, value, 0, 1000, false))
|
|
1344
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1345
|
+
});
|
|
1346
|
+
|
|
1347
|
+
it("step2:click on Object item", async function () {
|
|
1348
|
+
var ui5ControlProperties = {
|
|
1349
|
+
"elementProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": { "numberUnit": "EUR", "type": "Inactive", "title": "Flat Basic", "number": "399,00" } },
|
|
1350
|
+
"parentProperties": { "metadata": "sap.m.List", "mProperties": { "mode": "SingleSelectMaster", "noDataText": "No products found" } },
|
|
1351
|
+
"prevSiblingProperties": {},
|
|
1352
|
+
"nextSiblingProperties": {}
|
|
1353
|
+
};
|
|
1354
|
+
await ui5.userInteraction.click(ui5ControlProperties);
|
|
1355
|
+
});
|
|
1356
|
+
|
|
1357
|
+
it("step2b:click on Object item wrong child property", async function () {
|
|
1358
|
+
// "src": "./../../../../../../test-resources/sap/ui/documentation/sdk/images/HT-1036.jpg" - wrong value for test
|
|
1359
|
+
var ui5ControlProperties = {
|
|
1360
|
+
"elementProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": { "numberUnit": "EUR", "type": "Inactive", "title": "Flat Basic", "number": "399,00" } },
|
|
1361
|
+
"parentProperties": { "metadata": "sap.m.List", "mProperties": { "mode": "SingleSelectMaster", "noDataText": "No products found" } },
|
|
1362
|
+
"prevSiblingProperties": {},
|
|
1363
|
+
"nextSiblingProperties": {},
|
|
1364
|
+
"childProperties": { "metadata": "sap.m.Image", "mProperties": { "src": "./../../../../../../test-resources/sap/ui/documentation/sdk/images/HT-1036.jpg" } }
|
|
1365
|
+
};
|
|
1366
|
+
await expect(ui5.userInteraction.click(ui5ControlProperties, 0, 1000))
|
|
1367
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1368
|
+
});
|
|
1369
|
+
|
|
1370
|
+
it("step2c:click on Object item wrong element property", async function () {
|
|
1371
|
+
// "numberUnit": "EUV" - wrong value for test
|
|
1372
|
+
var ui5ControlProperties = {
|
|
1373
|
+
"elementProperties": { "metadata": "sap.m.ObjectListItem", "mProperties": { "numberUnit": "EUV", "type": "Inactive", "title": "Flat Basic", "number": "399,00" } },
|
|
1374
|
+
"parentProperties": { "metadata": "sap.m.List", "mProperties": { "mode": "SingleSelectMaster", "noDataText": "No products found" } },
|
|
1375
|
+
"prevSiblingProperties": {},
|
|
1376
|
+
"nextSiblingProperties": {}
|
|
1377
|
+
};
|
|
1378
|
+
await expect(ui5.userInteraction.click(ui5ControlProperties, 0, 1000))
|
|
1379
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1380
|
+
});
|
|
1381
|
+
|
|
1382
|
+
it("step3:check if Supplier text exists", async function () {
|
|
1383
|
+
var ui5ControlProperties = {
|
|
1384
|
+
"elementProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "title": "Supplier", "text": "Very Best Screens" } },
|
|
1385
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1386
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1387
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1388
|
+
"childProperties": {}
|
|
1389
|
+
};
|
|
1390
|
+
var Index = 0;
|
|
1391
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
1392
|
+
var compareValue = "Supplier"; //expected value
|
|
1393
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
1394
|
+
|
|
1395
|
+
});
|
|
1396
|
+
|
|
1397
|
+
it("step3a:check if Supplier text exists wrong parent property", async function () {
|
|
1398
|
+
// "title": "Flat Basics" - wrong value for test, should be 'Flat Basic'
|
|
1399
|
+
var ui5ControlProperties = {
|
|
1400
|
+
"elementProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "title": "Supplier", "text": "Very Best Screens" } },
|
|
1401
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basics", "number": "399,00" } },
|
|
1402
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1403
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1404
|
+
"childProperties": {}
|
|
1405
|
+
};
|
|
1406
|
+
var Index = 0;
|
|
1407
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
1408
|
+
var compareValue = "Supplier"; //expected value
|
|
1409
|
+
|
|
1410
|
+
await expect(ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index, 1000))
|
|
1411
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1412
|
+
});
|
|
1413
|
+
|
|
1414
|
+
it("step3b:check if Supplier text exists wrong prevSibiling property", async function () {
|
|
1415
|
+
// "number": "399" - wring value for test purposes, should be "number": "399,00",
|
|
1416
|
+
var ui5ControlProperties = {
|
|
1417
|
+
"elementProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "title": "Supplier", "text": "Very Best Screens" } },
|
|
1418
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1419
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1420
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1421
|
+
"childProperties": {}
|
|
1422
|
+
};
|
|
1423
|
+
var Index = 0;
|
|
1424
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
1425
|
+
var compareValue = "Supplier"; //expected value
|
|
1426
|
+
|
|
1427
|
+
await expect(ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index, 1000))
|
|
1428
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1429
|
+
});
|
|
1430
|
+
|
|
1431
|
+
it("step3c:check if Supplier text exists wrong nextSibiling property", async function () {
|
|
1432
|
+
// "state": "Suckscess" - wrong value for test purposes
|
|
1433
|
+
var ui5ControlProperties = {
|
|
1434
|
+
"elementProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "title": "Supplier", "text": "Very Best Screens" } },
|
|
1435
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1436
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1437
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Suckscess" } },
|
|
1438
|
+
"childProperties": {}
|
|
1439
|
+
};
|
|
1440
|
+
var Index = 0;
|
|
1441
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
1442
|
+
var compareValue = "Supplier"; //expected value
|
|
1443
|
+
|
|
1444
|
+
await expect(ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index, 1000))
|
|
1445
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1446
|
+
});
|
|
1447
|
+
|
|
1448
|
+
it("step3d:check if Supplier text exists remove childproperties", async function () {
|
|
1449
|
+
var ui5ControlProperties = {
|
|
1450
|
+
"elementProperties": { "metadata": "sap.m.ObjectAttribute", "mProperties": { "title": "Supplier", "text": "Very Best Screens" } },
|
|
1451
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1452
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1453
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } }
|
|
1454
|
+
};
|
|
1455
|
+
var Index = 0;
|
|
1456
|
+
var attribute = "title"; //eg: title, text, value etc.
|
|
1457
|
+
var compareValue = "Supplier"; //expected value
|
|
1458
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
1459
|
+
|
|
1460
|
+
});
|
|
1461
|
+
|
|
1462
|
+
it("step4:check if Supplier i18n path is correct", async function () {
|
|
1463
|
+
var ui5ControlProperties = {
|
|
1464
|
+
"elementProperties": {
|
|
1465
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1466
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1467
|
+
"title": [{ "path": "i18n>productSupplierAttributeText" }],
|
|
1468
|
+
"text": [{ "path": "SupplierName" }]
|
|
1469
|
+
}
|
|
1470
|
+
},
|
|
1471
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1472
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1473
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1474
|
+
"childProperties": {}
|
|
1475
|
+
};
|
|
1476
|
+
var Index = 0;
|
|
1477
|
+
var attribute1 = "title"; //eg: title, text, value etc.
|
|
1478
|
+
var comparePath1 = "i18n>productSupplierAttributeText"; //expected value
|
|
1479
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index);
|
|
1480
|
+
var attribute2 = "text"; //eg: title, text, value etc.
|
|
1481
|
+
var comparePath2 = "SupplierName"; //expected value
|
|
1482
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute2, comparePath2, Index);
|
|
1483
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index);
|
|
1484
|
+
});
|
|
1485
|
+
|
|
1486
|
+
it("step4:check if Supplier context path is correct", async function () {
|
|
1487
|
+
var ui5ControlProperties = {
|
|
1488
|
+
"elementProperties": {
|
|
1489
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1490
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1491
|
+
"title": [{ "path": "i18n>productSupplierAttributeText" }],
|
|
1492
|
+
"text": [{ "path": "SupplierName" }]
|
|
1493
|
+
}
|
|
1494
|
+
},
|
|
1495
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1496
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1497
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1498
|
+
"childProperties": {}
|
|
1499
|
+
};
|
|
1500
|
+
var Index = 0;
|
|
1501
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index, 0, 30000);
|
|
1502
|
+
});
|
|
1503
|
+
|
|
1504
|
+
it("step4a:check if Supplier i18n path is correct remove model name", async function () {
|
|
1505
|
+
var ui5ControlProperties = {
|
|
1506
|
+
"elementProperties": {
|
|
1507
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1508
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1509
|
+
"title": [{ "path": "i18n>productSupplierAttributeText" }],
|
|
1510
|
+
"text": [{ "path": "SupplierName" }]
|
|
1511
|
+
}
|
|
1512
|
+
},
|
|
1513
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1514
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1515
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1516
|
+
"childProperties": {}
|
|
1517
|
+
};
|
|
1518
|
+
var Index = 0;
|
|
1519
|
+
var attribute1 = "title"; //eg: title, text, value etc.
|
|
1520
|
+
var comparePath1 = "productSupplierAttributeText"; //expected value
|
|
1521
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index);
|
|
1522
|
+
var attribute2 = "text"; //eg: title, text, value etc.
|
|
1523
|
+
var comparePath2 = "SupplierName"; //expected value
|
|
1524
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute2, comparePath2, Index);
|
|
1525
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index);
|
|
1526
|
+
});
|
|
1527
|
+
|
|
1528
|
+
it("step4b:check if Supplier i18n path is correct wrong binding context", async function () {
|
|
1529
|
+
var ui5ControlProperties = {
|
|
1530
|
+
"elementProperties": {
|
|
1531
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1532
|
+
"bindingContextPath": "/Products('HT-1025')", // wrong value for test purposes
|
|
1533
|
+
"title": [{ "path": "i18n>productSupplierAttributeText" }],
|
|
1534
|
+
"text": [{ "path": "SupplierName" }]
|
|
1535
|
+
}
|
|
1536
|
+
},
|
|
1537
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1538
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1539
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1540
|
+
"childProperties": {}
|
|
1541
|
+
};
|
|
1542
|
+
var Index = 0;
|
|
1543
|
+
await expect(ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index, 1000))
|
|
1544
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1545
|
+
});
|
|
1546
|
+
|
|
1547
|
+
it("step4c:check if Supplier i18n path is correct wrong binding path name", async function () {
|
|
1548
|
+
var ui5ControlProperties = {
|
|
1549
|
+
"elementProperties": {
|
|
1550
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1551
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1552
|
+
"title": [{ "path": "i18n>productSupplierAttributeText" }],
|
|
1553
|
+
"text": [{ "path": "SupplierNames" }] // wrong value for tests purposes
|
|
1554
|
+
}
|
|
1555
|
+
},
|
|
1556
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1557
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1558
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1559
|
+
"childProperties": {}
|
|
1560
|
+
};
|
|
1561
|
+
var attribute2 = "text"; //eg: title, text, value etc.
|
|
1562
|
+
var comparePath2 = "SupplierName"; //expected value
|
|
1563
|
+
|
|
1564
|
+
await expect(ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute2, comparePath2, 0, 1000))
|
|
1565
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1566
|
+
});
|
|
1567
|
+
|
|
1568
|
+
it("step4d:check if Supplier i18n path is correct no model defined", async function () {
|
|
1569
|
+
var ui5ControlProperties = {
|
|
1570
|
+
"elementProperties": {
|
|
1571
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1572
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1573
|
+
"title": [{ "path": "i18n" }],
|
|
1574
|
+
"text": [{ "path": "SupplierName" }]
|
|
1575
|
+
}
|
|
1576
|
+
},
|
|
1577
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1578
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1579
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1580
|
+
"childProperties": {}
|
|
1581
|
+
};
|
|
1582
|
+
var attribute1 = "title"; //eg: title, text, value etc.
|
|
1583
|
+
var comparePath1 = "productSupplierAttributeText"; //expected value
|
|
1584
|
+
|
|
1585
|
+
|
|
1586
|
+
await expect(ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, 0, 1000))
|
|
1587
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1588
|
+
});
|
|
1589
|
+
|
|
1590
|
+
it("step4e:check if Supplier i18n path is correct not array", async function () {
|
|
1591
|
+
var ui5ControlProperties = {
|
|
1592
|
+
"elementProperties": {
|
|
1593
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1594
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1595
|
+
"title": { "path": "i18n>productSupplierAttributeText" },
|
|
1596
|
+
"text": [{ "path": "SupplierName" }]
|
|
1597
|
+
}
|
|
1598
|
+
},
|
|
1599
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1600
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1601
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1602
|
+
"childProperties": {}
|
|
1603
|
+
};
|
|
1604
|
+
var Index = 0;
|
|
1605
|
+
var attribute1 = "title"; //eg: title, text, value etc.
|
|
1606
|
+
var comparePath1 = "i18n>productSupplierAttributeText"; //expected value
|
|
1607
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index);
|
|
1608
|
+
var attribute2 = "text"; //eg: title, text, value etc.
|
|
1609
|
+
var comparePath2 = "SupplierName"; //expected value
|
|
1610
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute2, comparePath2, Index);
|
|
1611
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index);
|
|
1612
|
+
});
|
|
1613
|
+
|
|
1614
|
+
it("step4f:check if Supplier i18n path is correct only binding path", async function () {
|
|
1615
|
+
var ui5ControlProperties = {
|
|
1616
|
+
"elementProperties": {
|
|
1617
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1618
|
+
"text": [{ "path": "SupplierName" }]
|
|
1619
|
+
}
|
|
1620
|
+
}
|
|
1621
|
+
};
|
|
1622
|
+
var Index = 0;
|
|
1623
|
+
var attribute1 = "title"; //eg: title, text, value etc.
|
|
1624
|
+
var comparePath1 = "i18n>productSupplierAttributeText"; //expected value
|
|
1625
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index);
|
|
1626
|
+
var attribute2 = "text"; //eg: title, text, value etc.
|
|
1627
|
+
var comparePath2 = "SupplierName"; //expected value
|
|
1628
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute2, comparePath2, Index);
|
|
1629
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index);
|
|
1630
|
+
});
|
|
1631
|
+
|
|
1632
|
+
it("step4h:check if Supplier i18n path is correct only i18n text key", async function () {
|
|
1633
|
+
var ui5ControlProperties = {
|
|
1634
|
+
"elementProperties": {
|
|
1635
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1636
|
+
"title": { "path": "i18n>productSupplierAttributeText" }
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
};
|
|
1640
|
+
var Index = 0;
|
|
1641
|
+
var attribute1 = "title"; //eg: title, text, value etc.
|
|
1642
|
+
var comparePath1 = "i18n>productSupplierAttributeText"; //expected value
|
|
1643
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index);
|
|
1644
|
+
var attribute2 = "text"; //eg: title, text, value etc.
|
|
1645
|
+
var comparePath2 = "SupplierName"; //expected value
|
|
1646
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute2, comparePath2, Index);
|
|
1647
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index);
|
|
1648
|
+
});
|
|
1649
|
+
|
|
1650
|
+
it("step4k:check if Supplier i18n path is correct bindings as array", async function () {
|
|
1651
|
+
var ui5ControlProperties = {
|
|
1652
|
+
"elementProperties": {
|
|
1653
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1654
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1655
|
+
"title": [{ "path": "i18n>productSupplierAttributeText" }],
|
|
1656
|
+
"text": [{ "path": "SupplierName" }]
|
|
1657
|
+
}
|
|
1658
|
+
},
|
|
1659
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1660
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1661
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1662
|
+
"childProperties": {}
|
|
1663
|
+
};
|
|
1664
|
+
var Index = 0;
|
|
1665
|
+
var attribute1 = "title"; //eg: title, text, value etc.
|
|
1666
|
+
var comparePath1 = ["i18n>productSupplierAttributeText"]; //expected value
|
|
1667
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index);
|
|
1668
|
+
var attribute2 = "text"; //eg: title, text, value etc.
|
|
1669
|
+
var comparePath2 = ["SupplierName"]; //expected value
|
|
1670
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute2, comparePath2, Index);
|
|
1671
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index);
|
|
1672
|
+
});
|
|
1673
|
+
|
|
1674
|
+
it("step4l:check if Supplier i18n path is wrong bindings as array", async function () {
|
|
1675
|
+
var ui5ControlProperties = {
|
|
1676
|
+
"elementProperties": {
|
|
1677
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1678
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1679
|
+
"title": [{ "path": "i18n>productSupplierAttributeText" }],
|
|
1680
|
+
"text": [{ "path": "SupplierName" }]
|
|
1681
|
+
}
|
|
1682
|
+
},
|
|
1683
|
+
"parentProperties": { "metadata": "sap.m.ObjectHeader", "mProperties": { "titleLevel": "H3", "numberUnit": "EUR", "title": "Flat Basic", "number": "399,00" } },
|
|
1684
|
+
"prevSiblingProperties": { "metadata": "sap.m.ObjectNumber", "mProperties": { "unit": "EUR", "number": "399,00", "textDirection": "Inherit", "textAlign": "Right" } },
|
|
1685
|
+
"nextSiblingProperties": { "metadata": "sap.m.ObjectStatus", "mProperties": { "text": "Available", "state": "Success" } },
|
|
1686
|
+
"childProperties": {}
|
|
1687
|
+
};
|
|
1688
|
+
var Index = 0;
|
|
1689
|
+
var attribute1 = "title"; //eg: title, text, value etc.
|
|
1690
|
+
var comparePath1 = ["i18n>productSupplierAttributeText"]; //expected value
|
|
1691
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index);
|
|
1692
|
+
var attribute2 = "text"; //eg: title, text, value etc.
|
|
1693
|
+
//var comparePath2 = ["SupplierName", "SupplierNames"];
|
|
1694
|
+
//
|
|
1695
|
+
var elem = await ui5.element.getDisplayed(ui5ControlProperties);
|
|
1696
|
+
var value = await elem.getAttribute("data-" + attribute2 + "-path");
|
|
1697
|
+
await expect(value).not.toContain("SupplierNames");
|
|
1698
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index);
|
|
1699
|
+
});
|
|
1700
|
+
|
|
1701
|
+
it("step5:check if Weight i18n path is correct and previous or next is correct", async function () {
|
|
1702
|
+
var ui5ControlProperties = {
|
|
1703
|
+
"elementProperties": {
|
|
1704
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1705
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1706
|
+
"title": [{ "path": "i18n>productWeightAttributeText" }],
|
|
1707
|
+
"text": [
|
|
1708
|
+
{ "path": "Weight" },
|
|
1709
|
+
{ "path": "WeightUnit" },
|
|
1710
|
+
]
|
|
1711
|
+
}
|
|
1712
|
+
},
|
|
1713
|
+
"parentProperties": {
|
|
1714
|
+
"metadata": "sap.m.ObjectHeader", "mProperties": {
|
|
1715
|
+
"title": { "path": "Name" },
|
|
1716
|
+
"number": { "path": "Price" }
|
|
1717
|
+
}
|
|
1718
|
+
},
|
|
1719
|
+
"prevSiblingProperties": {
|
|
1720
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1721
|
+
"title": { "path": "productDescriptionAttributeText" },
|
|
1722
|
+
"text": { "path": "ShortDescription" }
|
|
1723
|
+
}
|
|
1724
|
+
},
|
|
1725
|
+
"nextSiblingProperties": {
|
|
1726
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1727
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1728
|
+
"title": { "path": "productMeasuresAttributeText" },
|
|
1729
|
+
"text": [
|
|
1730
|
+
{ "path": "DimensionWidth" },
|
|
1731
|
+
{ "path": "Unit" },
|
|
1732
|
+
{ "path": "DimensionDepth" },
|
|
1733
|
+
{ "path": "DimensionHeight" }
|
|
1734
|
+
]
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1737
|
+
};
|
|
1738
|
+
var Index = 0;
|
|
1739
|
+
var attribute1 = "title"; //eg: title, text, value etc.
|
|
1740
|
+
var comparePath1 = "productWeightAttributeText"; //expected value
|
|
1741
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index);
|
|
1742
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index);
|
|
1743
|
+
});
|
|
1744
|
+
|
|
1745
|
+
it("step6:check if product measure is correct", async function () {
|
|
1746
|
+
var ui5ControlProperties = {
|
|
1747
|
+
"elementProperties": {
|
|
1748
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1749
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1750
|
+
"title": { "path": "productMeasuresAttributeText" },
|
|
1751
|
+
"text": [
|
|
1752
|
+
{ "path": "DimensionWidth" },
|
|
1753
|
+
{ "path": "Unit" },
|
|
1754
|
+
{ "path": "DimensionDepth" },
|
|
1755
|
+
{ "path": "DimensionHeight" }
|
|
1756
|
+
]
|
|
1757
|
+
}
|
|
1758
|
+
}
|
|
1759
|
+
};
|
|
1760
|
+
var Index = 0;
|
|
1761
|
+
var attribute1 = "text"; //eg: title, text, value etc.
|
|
1762
|
+
var comparePath1 = ["DimensionHeight", "Unit"]; //expected value
|
|
1763
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index);
|
|
1764
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index);
|
|
1765
|
+
});
|
|
1766
|
+
|
|
1767
|
+
it("step6a:check if product measure is correct with bindingpath on children element", async function () {
|
|
1768
|
+
var ui5ControlProperties = {
|
|
1769
|
+
"elementProperties": {
|
|
1770
|
+
"metadata": "sap.m.ObjectHeader", "mProperties": {
|
|
1771
|
+
"numberUnit": "EUR", "title": "Flat Basic", "number": "399,00"
|
|
1772
|
+
}
|
|
1773
|
+
},
|
|
1774
|
+
"childProperties": {
|
|
1775
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1776
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1777
|
+
"title": { "path": "productMeasuresAttributeText" },
|
|
1778
|
+
"text": [
|
|
1779
|
+
{ "path": "DimensionWidth" },
|
|
1780
|
+
{ "path": "Unit" },
|
|
1781
|
+
{ "path": "DimensionDepth" },
|
|
1782
|
+
{ "path": "DimensionHeight" }
|
|
1783
|
+
]
|
|
1784
|
+
}
|
|
1785
|
+
}
|
|
1786
|
+
};
|
|
1787
|
+
var Index = 0;
|
|
1788
|
+
var attribute = "number"; //eg: title, text, value etc.
|
|
1789
|
+
var compareValue = "399,00"; //expected value
|
|
1790
|
+
await ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index);
|
|
1791
|
+
});
|
|
1792
|
+
|
|
1793
|
+
it("step6b:check if product measure is correct with wrong bindingpath on children element", async function () {
|
|
1794
|
+
var ui5ControlProperties = {
|
|
1795
|
+
"elementProperties": {
|
|
1796
|
+
"metadata": "sap.m.ObjectHeader", "mProperties": {
|
|
1797
|
+
"numberUnit": "EUR", "title": "Flat Basic", "number": "399,00"
|
|
1798
|
+
}
|
|
1799
|
+
},
|
|
1800
|
+
"childProperties": {
|
|
1801
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1802
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1803
|
+
"title": { "path": "productMeasuresAttributeText" },
|
|
1804
|
+
"text": [
|
|
1805
|
+
{ "path": "DimensionWidths" },
|
|
1806
|
+
{ "path": "Unit" },
|
|
1807
|
+
{ "path": "DimensionDepth" },
|
|
1808
|
+
{ "path": "DimensionHeight" }
|
|
1809
|
+
]
|
|
1810
|
+
}
|
|
1811
|
+
}
|
|
1812
|
+
};
|
|
1813
|
+
var Index = 0;
|
|
1814
|
+
var attribute = "number"; //eg: title, text, value etc.
|
|
1815
|
+
var compareValue = "399,00"; //expected value
|
|
1816
|
+
|
|
1817
|
+
await expect(ui5.assertion.expectAttributeToBe(ui5ControlProperties, attribute, compareValue, Index, 1000))
|
|
1818
|
+
.rejects.toThrow(/No visible elements found with selector/);
|
|
1819
|
+
});
|
|
1820
|
+
|
|
1821
|
+
it("step6c:check if product measure is correct with number bindingpath", async function () {
|
|
1822
|
+
var ui5ControlProperties = {
|
|
1823
|
+
"elementProperties": {
|
|
1824
|
+
"metadata": "sap.m.ObjectHeader", "mProperties": {
|
|
1825
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1826
|
+
"title": { "path": "Name" },
|
|
1827
|
+
"number": { "path": "Price" },
|
|
1828
|
+
}
|
|
1829
|
+
},
|
|
1830
|
+
"childProperties": {
|
|
1831
|
+
"metadata": "sap.m.ObjectAttribute", "mProperties": {
|
|
1832
|
+
"bindingContextPath": "/Products('HT-1035')",
|
|
1833
|
+
"title": { "path": "productMeasuresAttributeText" },
|
|
1834
|
+
"text": [
|
|
1835
|
+
{ "path": "DimensionWidth" },
|
|
1836
|
+
{ "path": "Unit" },
|
|
1837
|
+
{ "path": "DimensionDepth" },
|
|
1838
|
+
{ "path": "DimensionHeight" }
|
|
1839
|
+
]
|
|
1840
|
+
}
|
|
1841
|
+
}
|
|
1842
|
+
};
|
|
1843
|
+
var Index = 0;
|
|
1844
|
+
var attribute1 = "number"; //eg: title, text, value etc.
|
|
1845
|
+
var comparePath1 = "Price"; //expected value
|
|
1846
|
+
await ui5.assertion.expectBindingPathToBe(ui5ControlProperties, attribute1, comparePath1, Index);
|
|
1847
|
+
await ui5.assertion.expectBindingContextPathToBe(ui5ControlProperties, "/Products('HT-1035')", Index);
|
|
1848
|
+
});
|
|
1849
|
+
});
|