summaryrefslogtreecommitdiffstats
path: root/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/PropertiesAssignmentPage.java
diff options
context:
space:
mode:
Diffstat (limited to 'integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/PropertiesAssignmentPage.java')
-rw-r--r--integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/PropertiesAssignmentPage.java317
1 files changed, 317 insertions, 0 deletions
diff --git a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/PropertiesAssignmentPage.java b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/PropertiesAssignmentPage.java
new file mode 100644
index 0000000000..89806e202f
--- /dev/null
+++ b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/PropertiesAssignmentPage.java
@@ -0,0 +1,317 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdc.frontend.ci.tests.pages;
+
+
+import com.aventstack.extentreports.Status;
+import org.onap.sdc.frontend.ci.tests.datatypes.DataTestIdEnum;
+import org.onap.sdc.frontend.ci.tests.datatypes.DataTestIdEnum.PropertiesAssignmentScreen;
+import org.onap.sdc.frontend.ci.tests.exception.PropertiesAssignmentPageException;
+import org.onap.sdc.frontend.ci.tests.execute.setup.SetupCDTest;
+import org.onap.sdc.frontend.ci.tests.utilities.GeneralUIUtils;
+import org.openqa.selenium.Keys;
+import org.openqa.selenium.NoSuchElementException;
+import org.openqa.selenium.WebElement;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class PropertiesAssignmentPage {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(PropertiesAssignmentPage.class);
+
+ private PropertiesAssignmentPage() {
+
+ }
+
+ public static void clickOnInputTab() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Input Tab");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.INPUTS_TAB.getValue());
+ }
+
+ public static void clickOnPropertiesTab() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Properties Tab");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.PROPERTIES_TAB.getValue());
+ }
+
+ public static void clickOnCompositionRightTab() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Composition Right Tab");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.COMPOSITION_TAB.getValue());
+ }
+
+ public static void clickOnPropertyStructureRightTab() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Property Structure Right Tab");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.PROPERTY_STRUCTURE_TAB.getValue());
+ }
+
+ public static void clickOnDeclareButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Declare Button");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.DECLARE_BUTTON.getValue());
+ }
+
+ public static void clickOnSaveButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Save Button");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.SAVE_BUTTON.getValue());
+ }
+
+ public static void clickOnDiscardButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Discard Button");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.DISCARD_BUTTON.getValue());
+ }
+
+ public static void clickOnDialogSaveButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Save Button in Dialog Popup");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.SAVE_DIALOG_SAVE.getValue());
+ }
+
+ public static void clickOnDialogDiscardButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Discard Button in Dialog Popup");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.SAVE_DIALOG_DISCARD.getValue());
+ }
+
+ public static void clickOnDialogCancelButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Cancel Button in Dialog Popup");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.SAVE_DIALOG_CANCEL.getValue());
+ }
+
+ public static void clickOnEditButton(String propertyName) {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Edit button ");
+ GeneralUIUtils.clickOnElementByTestId(PropertyNameBuilder.buildPopupField(propertyName));
+ }
+
+ public static void clickOnSetButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Set button in a property popup ");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.FILTER_SET_BUTTON.getValue());
+ }
+
+ public static void clickOnExpandButton(String propertyName, int index) {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Expand Complex Property Button");
+ GeneralUIUtils.clickOnElementByTestId(PropertyNameBuilder.buildIExpandButton(propertyName, index));
+ }
+
+ public static void findSearchBoxAndClick(final String resourceName) throws PropertiesAssignmentPageException {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Searching for " + resourceName + " in Properties");
+ try {
+ final WebElement searchTextbox = GeneralUIUtils
+ .getWebElementByTestID(DataTestIdEnum.PropertiesAssignmentScreen.SEARCH_BOX.getValue());
+ searchTextbox.clear();
+ searchTextbox.sendKeys(resourceName);
+ GeneralUIUtils.ultimateWait();
+ } catch (final Exception e) {
+ final String errorMsg = String.format("Could not interact with search bar, test id '%s'",
+ PropertiesAssignmentScreen.SEARCH_BOX.getValue());
+ LOGGER.error(errorMsg, e);
+ SetupCDTest.getExtendTest().log(Status.ERROR, errorMsg);
+ throw new PropertiesAssignmentPageException(errorMsg, e);
+ }
+
+ try {
+ SetupCDTest.getExtendTest().log(Status.INFO, String.format("Clicking on the %s component in Properties", resourceName));
+ GeneralUIUtils.clickOnElementByInputTestIdWithoutWait(resourceName);
+ GeneralUIUtils.ultimateWait();
+ GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.GeneralElementsEnum.LIFECYCLE_STATE.getValue());
+ } catch (final Exception e) {
+ final String errorMsg = String.format("Could not click on component named '%s'", resourceName);
+ LOGGER.error(errorMsg, e);
+ SetupCDTest.getExtendTest().log(Status.ERROR, errorMsg);
+ throw new PropertiesAssignmentPageException(errorMsg, e);
+ }
+ }
+
+ private static void clickOnProperty(String propertyName) {
+ SetupCDTest.getExtendTest().log(Status.INFO, String.format("Clicking on the %s component in Properties", propertyName));
+ GeneralUIUtils.clickOnElementByTestId(propertyName);
+ GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.GeneralElementsEnum.LIFECYCLE_STATE.getValue());
+ }
+
+ public static void clickOnAddValueToList(String propertyName) throws Exception {
+ try {
+ SetupCDTest.getExtendTest().log(Status.INFO, String.format("Clicking on the Add To List button of %s component in Properties", propertyName));
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.ADD_TO_LIST_BUTTON.getValue() + propertyName);
+ GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.GeneralElementsEnum.LIFECYCLE_STATE.getValue());
+ } catch (Exception e) {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Can't click on Add To List button of component named " + propertyName);
+ e.printStackTrace();
+ }
+ }
+
+ public static void clickODeleteValueFromList(String propertyName, int index) throws Exception {
+ try {
+ SetupCDTest.getExtendTest().log(Status.INFO, String.format("Clicking on the Delete From List button of %s component in Properties", propertyName));
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.DELETE_FROM_LIST_BUTTON.getValue() + propertyName + "." + index);
+ GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.GeneralElementsEnum.LIFECYCLE_STATE.getValue());
+ } catch (Exception e) {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Can't click on Delete From List button of component named " + propertyName);
+ e.printStackTrace();
+ }
+ }
+
+ public static void clickOnDeleteInputButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Delete Input Button");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.INPUT_DELETE_BUTTON.getValue());
+ }
+
+ public static void clickOnDeleteInputDialogConfirmationButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Delete Input Dialog Confirmation Button");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.INPUT_DELETE_DIALOG_DELETE.getValue());
+ }
+
+ public static void clickOnComponentInComposition(final String resourceName) throws Exception {
+ SetupCDTest.getExtendTest()
+ .log(Status.INFO, String.format("Clicking on the %s component on Properties screen", resourceName));
+ try {
+ GeneralUIUtils.clickOnElementByTestId(resourceName);
+ } catch (final Exception e) {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Can't click on component named " + resourceName);
+ throw e;
+ }
+ }
+
+ public static void findInput(String componentName, String resourceName) throws Exception {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Searching for " + componentName + "_" + resourceName + " on Inputs screen");
+ WebElement searchTextbox = GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.PropertiesAssignmentScreen.SEARCH_BOX.getValue());
+ String searchPattern = componentName + "_" + resourceName;
+
+ searchTextbox.clear();
+ searchTextbox.sendKeys(searchPattern);
+ GeneralUIUtils.ultimateWait();
+ }
+
+ public static void findProperty(String resourceName) throws Exception {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Searching for " + resourceName + " property on Properties screen");
+ WebElement searchTextbox = GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.PropertiesAssignmentScreen.SEARCH_BOX.getValue());
+
+ searchTextbox.clear();
+ searchTextbox.sendKeys(resourceName);
+ GeneralUIUtils.ultimateWait();
+ }
+
+ public static void editPropertyValue(String resourceName, String value) throws Exception {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Searching for " + resourceName + " property on Properties screen");
+ WebElement valueTextbox = GeneralUIUtils.getWebElementByTestID(resourceName);
+
+ clickOnProperty(resourceName);
+ valueTextbox.clear();
+ SetupCDTest.getExtendTest().log(Status.INFO, "Editing " + resourceName + " property on Properties screen");
+ valueTextbox.sendKeys(value);
+ GeneralUIUtils.ultimateWait();
+
+ }
+
+ public static void deletePropertyValue(String resourceName) throws Exception {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Searching for " + resourceName + " property on Properties screen");
+ WebElement valueTextbox = GeneralUIUtils.getWebElementByTestID(resourceName);
+
+ clickOnProperty(resourceName);
+ SetupCDTest.getExtendTest().log(Status.INFO, "Deleting " + resourceName + " property on Properties screen");
+ valueTextbox.sendKeys(Keys.chord(Keys.CONTROL, "a"));
+ valueTextbox.sendKeys(Keys.BACK_SPACE);
+ GeneralUIUtils.ultimateWait();
+
+ }
+
+
+ public static Boolean isPropertyChecked(String resourceName) {
+// TODO add better implementation for css string
+ GeneralUIUtils.ultimateWait();
+ Boolean isDisabled = GeneralUIUtils.checkForDisabledAttributeInHiddenElement("checkbox[data-tests-id='" + resourceName + "'] input");
+ SetupCDTest.getExtendTest().log(Status.INFO, "Is property checkbox disabled? " + isDisabled);
+ return isDisabled;
+ }
+
+ public static boolean isButtonDisabled(String dataTestId) {
+ return GeneralUIUtils.checkForDisabledAttribute(dataTestId);
+ }
+
+ public static String selectBooleanPropertyValue(String propertyName, String propertyValue) {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Searching for " + propertyName + " property on Properties screen");
+ String actualPropertyValue = null;
+ try {
+ actualPropertyValue = GeneralUIUtils.getSelectedElementFromDropDown(propertyName).getText();
+ } catch (NoSuchElementException e) {
+ SetupCDTest.getExtendTest().log(Status.INFO, "#selectBooleanPropertyValue - Failed to get selected boolean property value ");
+ SetupCDTest.getExtendTest().log(Status.INFO, e);
+ }
+ try {
+ GeneralUIUtils.getSelectList(propertyValue, propertyName);
+ } catch (NoSuchElementException e) {
+ e.printStackTrace();
+ }
+ return actualPropertyValue;
+ }
+
+
+ //Filter Actions
+ public static void clickOnFilterButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Filter button ");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.FILTER_BUTTON.getValue());
+ }
+
+ public static void clickOnFilterAllCheckbox() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Filter All Checkbox ");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.FILTER_CHECKBOX_ALL.getValue());
+ }
+
+ public static void clickOnFilterCPCheckbox() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Filter CP Checkbox ");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.FILTER_CHECKBOX_CP.getValue());
+ }
+
+ public static void clickOnFilterVfcCheckbox() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Filter VFC Checkbox ");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.FILTER_CHECKBOX_VFC.getValue());
+ }
+
+ public static void clickOnFilterVlCheckbox() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Filter VL Checkbox ");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.FILTER_CHECKBOX_VL.getValue());
+ }
+
+ public static void clickOnFilterApplyButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Filter Apply Button");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.FILTER_APPLY_BUTTON.getValue());
+ }
+
+ public static void clickOnFilterCloseButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Filter Close Button");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.FILTER_CLOSE_BUTTON.getValue());
+ }
+
+ public static void clickOnFilterClearAllButton() {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Clicking on Filter Clear All Button");
+ GeneralUIUtils.clickOnElementByTestId(PropertiesAssignmentScreen.CLEAR_FILTER_BUTTON.getValue());
+ }
+
+ public static void findFilterBoxAndClick(String resourceName) throws Exception {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Searching for " + resourceName + " property in Properties table");
+ WebElement searchTextbox = GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.PropertiesAssignmentScreen.FILTER_BOX.getValue());
+ try {
+ searchTextbox.clear();
+ searchTextbox.sendKeys(resourceName);
+ GeneralUIUtils.ultimateWait();
+ } catch (Exception e) {
+ SetupCDTest.getExtendTest().log(Status.INFO, "Can't interact with search bar");
+ e.printStackTrace();
+ }
+
+ }
+
+
+}