From ae24e28cda8247fdce38330356b63db1377be58f Mon Sep 17 00:00:00 2001 From: vasraz Date: Mon, 22 Aug 2022 19:43:16 +0100 Subject: Fix 'Wrong Inputs creation on (Add Service)' Signed-off-by: Vasyl Razinkov Change-Id: Iadfe03718066dafe5a438020c488f5b242fe6a41 Issue-ID: SDC-4097 --- .../execute/sanity/EtsiNetworkServiceUiTests.java | 62 +++++++++--------- .../execute/sanity/ModelToscaTypeImportTest.java | 18 +++--- .../ci/tests/flow/EditComponentInputsFlow.java | 67 ++++++++++++++++++++ .../ResourcePropertiesAssignmentInputTab.java | 74 ++++++++++++++++++---- .../pages/ResourcePropertiesAssignmentPage.java | 22 ++++--- 5 files changed, 179 insertions(+), 64 deletions(-) create mode 100644 integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/EditComponentInputsFlow.java (limited to 'integration-tests') diff --git a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/sanity/EtsiNetworkServiceUiTests.java b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/sanity/EtsiNetworkServiceUiTests.java index 061fb183f3..38f0d37c21 100644 --- a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/sanity/EtsiNetworkServiceUiTests.java +++ b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/sanity/EtsiNetworkServiceUiTests.java @@ -60,7 +60,7 @@ import org.onap.sdc.frontend.ci.tests.flow.CreateServiceFlow; import org.onap.sdc.frontend.ci.tests.flow.CreateVlmFlow; import org.onap.sdc.frontend.ci.tests.flow.CreateVspFlow; import org.onap.sdc.frontend.ci.tests.flow.DownloadCsarArtifactFlow; -import org.onap.sdc.frontend.ci.tests.flow.EditComponentPropertiesFlow; +import org.onap.sdc.frontend.ci.tests.flow.EditComponentInputsFlow; import org.onap.sdc.frontend.ci.tests.flow.ImportVspFlow; import org.onap.sdc.frontend.ci.tests.flow.composition.CreateRelationshipFlow; import org.onap.sdc.frontend.ci.tests.flow.exception.UiTestFlowRuntimeException; @@ -113,8 +113,8 @@ public class EtsiNetworkServiceUiTests extends SetupCDTest { //adding node componentPage = addNodesAndCreateRelationships(resourceName, serviceCreateData, componentPage); - final Map propertyMap = createPropertyToEditMap(); - editProperties(componentPage, propertyMap); + final Map inputToEditMap = createInputToEditMap(); + editInputs(componentPage, inputToEditMap); final DownloadCsarArtifactFlow downloadCsarArtifactFlow = downloadCsarArtifact(componentPage); final ToscaArtifactsPage toscaArtifactsPage = downloadCsarArtifactFlow.getLandedPage() @@ -123,8 +123,7 @@ public class EtsiNetworkServiceUiTests extends SetupCDTest { assertThat("No artifact download was found", toscaArtifactsPage.getDownloadedArtifactList(), not(empty())); final String downloadedCsarName = toscaArtifactsPage.getDownloadedArtifactList().get(0); - propertyMap.entrySet().removeIf(e -> e.getValue() == null); - checkEtsiNsPackage(createServiceFlow.getServiceCreateData().getName(), downloadedCsarName, propertyMap); + checkEtsiNsPackage(createServiceFlow.getServiceCreateData().getName(), downloadedCsarName, inputToEditMap); } private ServiceComponentPage addNodesAndCreateRelationships(final String resourceName, final ServiceCreateData serviceCreateData, @@ -268,29 +267,27 @@ public class EtsiNetworkServiceUiTests extends SetupCDTest { return checkVfPropertiesFlow; } - private void editProperties(final ComponentPage componentPage, final Map propertyMap) { - final EditComponentPropertiesFlow editComponentPropertiesFlow = new EditComponentPropertiesFlow(webDriver, propertyMap); - editComponentPropertiesFlow.run(componentPage); - } - private DownloadCsarArtifactFlow downloadCsarArtifact(final ComponentPage componentPage) { final DownloadCsarArtifactFlow downloadCsarArtifactFlow = new DownloadCsarArtifactFlow(webDriver); downloadCsarArtifactFlow.run(componentPage); return downloadCsarArtifactFlow; } - private Map createPropertyToEditMap() { - final Map propertyMap = new HashMap<>(); - propertyMap.put("designer", "designer1"); - propertyMap.put("descriptor_id", "descriptor_id1"); - propertyMap.put("flavour_id", "flavour_id1"); - propertyMap.put("invariant_id", "invariant_id1"); - propertyMap.put("name", "name1"); - propertyMap.put("version", "version1"); - propertyMap.put("service_availability_level", 1); - //does not work yet with TOSCA complex types - propertyMap.put("ns_profile", null); - return propertyMap; + private Map createInputToEditMap() { + final Map inputsMap = new HashMap<>(); + inputsMap.put("descriptor_id", "new descriptor_id"); + inputsMap.put("designer", "new designer"); + inputsMap.put("flavour_id", "new flavour_id"); + inputsMap.put("invariant_id", "new invariant_id"); + inputsMap.put("name", "new name"); + inputsMap.put("service_availability_level", 123); + inputsMap.put("version", "new version"); + return inputsMap; + } + + private void editInputs(final ComponentPage componentPage, final Map inputsMap) { + final EditComponentInputsFlow editComponentInputsFlow = new EditComponentInputsFlow(webDriver, inputsMap); + editComponentInputsFlow.run(componentPage); } private ServiceCreateData createServiceFormData() { @@ -303,8 +300,8 @@ public class EtsiNetworkServiceUiTests extends SetupCDTest { return serviceCreateData; } - private void checkEtsiNsPackage(final String serviceName, final String downloadedCsarName, - final Map expectedPropertyMap) throws UnzipException { + private void checkEtsiNsPackage(final String serviceName, final String downloadedCsarName, final Map expectedInputMap) + throws UnzipException { final String downloadFolderPath = getConfig().getDownloadAutomationFolder(); final Map filesFromZip = FileHandling.getFilesFromZip(downloadFolderPath, downloadedCsarName); final Optional etsiPackageEntryOpt = @@ -327,19 +324,19 @@ public class EtsiNetworkServiceUiTests extends SetupCDTest { assertThat("Expecting the NSD CSAR signature " + nsdCsarSignature, nsPackageFileMap, hasKey(nsdCsarSignature)); final String nsdCertificate = nsdPackageBaseName + ".cert"; assertThat("Expecting the NSD CSAR certificate " + nsdCertificate, nsPackageFileMap, hasKey(nsdCertificate)); - checkNsCsar(nsdPackageBaseName, nodeType, expectedPropertyMap, nsPackageFileMap.get(nsdCsarFile)); + checkNsCsar(nsdPackageBaseName, nodeType, nsPackageFileMap.get(nsdCsarFile), expectedInputMap); return; } if (etsiPackageEntry.endsWith(".csar")) { final Map nsPackageFileMap = FileHandling.getFilesFromZip(etsiPackageBytes); - checkNsCsar(nsdPackageBaseName, nodeType, expectedPropertyMap, nsPackageFileMap.get(nsdCsarFile)); + checkNsCsar(nsdPackageBaseName, nodeType, nsPackageFileMap.get(nsdCsarFile), expectedInputMap); return; } fail(String.format("Unexpected ETSI NS PACKAGE entry '%s'. Expecting a '.csar' or '.zip'", etsiPackageEntry)); } - private void checkNsCsar(final String expectedServiceName, final String expectedServiceNodeType, final Map expectedPropertiesMap, - final byte[] nsCsar) throws UnzipException { + private void checkNsCsar(final String expectedServiceName, final String expectedServiceNodeType, + final byte[] nsCsar, final Map expectedInputMap) throws UnzipException { final Map csarFileMap = FileHandling.getFilesFromZip(nsCsar); final String mainDefinitionFile = String.format("Definitions/%s.yaml", expectedServiceName); @@ -375,9 +372,9 @@ public class EtsiNetworkServiceUiTests extends SetupCDTest { final Map properties = getMapEntry(serviceNodeTemplate, "properties"); assertThat(String.format("'%s' node template in '%s' should contain a properties entry", expectedServiceNodeType, mainDefinitionFile), properties, notNullValue()); - assertThat(String.format("'%s' node template should contain '%s' properties", expectedServiceNodeType, expectedPropertiesMap.size()), - properties.size(), is(expectedPropertiesMap.size())); - for (final Entry expectedPropertyEntry : expectedPropertiesMap.entrySet()) { + assertThat(String.format("'%s' node template should contain '%s' properties", expectedServiceNodeType, expectedInputMap.size()), + properties.size(), is(expectedInputMap.size())); + for (final Entry expectedPropertyEntry : expectedInputMap.entrySet()) { final String expectedPropertyName = expectedPropertyEntry.getKey(); assertThat(String.format("'%s' node template should contain the property '%s'", expectedServiceNodeType, expectedPropertyName), properties, hasKey(expectedPropertyName)); @@ -385,7 +382,7 @@ public class EtsiNetworkServiceUiTests extends SetupCDTest { if (expectedPropertyValue != null) { final Object actualPropertyValue = properties.get(expectedPropertyName); final String msg = String.format("The property '%s', in '%s' node template should have the expected value '%s'", - expectedPropertyName, expectedServiceNodeType, actualPropertyValue); + expectedPropertyName, expectedServiceNodeType, expectedPropertyValue); assertThat(msg, actualPropertyValue, is(expectedPropertyValue)); } } @@ -435,4 +432,3 @@ public class EtsiNetworkServiceUiTests extends SetupCDTest { } } - diff --git a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/sanity/ModelToscaTypeImportTest.java b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/sanity/ModelToscaTypeImportTest.java index 3e8b0297a2..1e57bb426a 100644 --- a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/sanity/ModelToscaTypeImportTest.java +++ b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/sanity/ModelToscaTypeImportTest.java @@ -27,7 +27,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -104,7 +104,7 @@ public class ModelToscaTypeImportTest extends SetupCDTest { final var vf = new ResourceCreateData(); vf.setRandomName(ElementFactory.getResourcePrefix() + "-VF"); vf.setCategory(ResourceCategoryEnum.GENERIC_ABSTRACT.getSubCategory()); - vf.setTagList(Arrays.asList(vf.getName())); + vf.setTagList(Collections.singletonList(vf.getName())); vf.setDescription("Test"); vf.setVendorName("EST"); vf.setVendorRelease("2.5.1"); @@ -149,13 +149,13 @@ public class ModelToscaTypeImportTest extends SetupCDTest { final Map csarFiles = FileHandling.getFilesFromZip(downloadFolderPath, toscaArtifactsPage.getDownloadedArtifactList().get(0)); assertEquals(8, csarFiles.size()); - assertTrue(csarFiles.keySet().stream().filter(filename -> filename.contains(NODE_TYPE_TO_ADD.concat("-template.yml"))).findAny().isPresent()); - assertTrue(csarFiles.keySet().stream().filter(filename -> filename.contains(MODEL_VNFD_TYPES.concat(".yaml"))).findAny().isPresent()); - assertTrue(csarFiles.keySet().stream().filter(filename -> filename.contains(MODEL_NSD_TYPES.concat(".yaml"))).findAny().isPresent()); - assertTrue(csarFiles.keySet().stream().filter(filename -> filename.contains("-template-interface".concat(".yml"))).findAny().isPresent()); - assertTrue(csarFiles.keySet().stream().filter(filename -> filename.contains(ADDITIONAL_TYPE_DEFINITIONS.concat(".yaml"))).findAny().isPresent()); - assertTrue(csarFiles.values().stream().filter(bytes -> new String(bytes).contains(TOSCA_CAPABILITIES_NETWORK_LINK)).findAny().isPresent()); - assertTrue(csarFiles.values().stream().filter(bytes -> new String(bytes).contains(ADDITIONAL_SERVICE_DATA)).findAny().isPresent()); + assertTrue(csarFiles.keySet().stream().anyMatch(filename -> filename.contains(NODE_TYPE_TO_ADD.concat("-template.yml")))); + assertTrue(csarFiles.keySet().stream().anyMatch(filename -> filename.contains(MODEL_VNFD_TYPES.concat(".yaml")))); + assertTrue(csarFiles.keySet().stream().anyMatch(filename -> filename.contains(MODEL_NSD_TYPES.concat(".yaml")))); + assertTrue(csarFiles.keySet().stream().anyMatch(filename -> filename.contains("-template-interface".concat(".yml")))); + assertTrue(csarFiles.keySet().stream().anyMatch(filename -> filename.contains(ADDITIONAL_TYPE_DEFINITIONS.concat(".yaml")))); + assertTrue(csarFiles.values().stream().anyMatch(bytes -> new String(bytes).contains(TOSCA_CAPABILITIES_NETWORK_LINK))); + assertTrue(csarFiles.values().stream().anyMatch(bytes -> new String(bytes).contains(ADDITIONAL_SERVICE_DATA))); } private ComponentPage addProperty(ComponentPage serviceComponentPage, final Map propertyMap, String name) { diff --git a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/EditComponentInputsFlow.java b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/EditComponentInputsFlow.java new file mode 100644 index 0000000000..0eac3d9339 --- /dev/null +++ b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/EditComponentInputsFlow.java @@ -0,0 +1,67 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2022 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.sdc.frontend.ci.tests.flow; + +import com.aventstack.extentreports.Status; +import java.util.Map; +import java.util.Optional; +import org.apache.commons.collections4.MapUtils; +import org.onap.sdc.frontend.ci.tests.execute.setup.ExtentTestActions; +import org.onap.sdc.frontend.ci.tests.pages.ComponentPage; +import org.onap.sdc.frontend.ci.tests.pages.PageObject; +import org.onap.sdc.frontend.ci.tests.pages.ResourcePropertiesAssignmentPage; +import org.openqa.selenium.WebDriver; + +public class EditComponentInputsFlow extends AbstractUiTestFlow { + + private final Map inputsMap; + private ComponentPage componentPage; + + public EditComponentInputsFlow(final WebDriver webDriver, final Map inputsMap) { + super(webDriver); + this.inputsMap = inputsMap; + } + + @Override + public Optional run(final PageObject... pageObjects) { + componentPage = getParameter(pageObjects, ComponentPage.class).orElseGet(() -> new ComponentPage(webDriver)); + componentPage.isLoaded(); + if (MapUtils.isEmpty(inputsMap)) { + return Optional.of(componentPage); + } + final ResourcePropertiesAssignmentPage resourcePropertiesAssignmentPage = componentPage.goToPropertiesAssignment(); + resourcePropertiesAssignmentPage.isLoaded(); + resourcePropertiesAssignmentPage.selectInputTab(); + final String inputNames = String.join(", ", inputsMap.keySet()); + ExtentTestActions.takeScreenshot(Status.INFO, "etsi-ns-edited-properties", String.format("Before editing inputs: %s", inputNames)); + extendTest.log(Status.INFO, "Editing inputs " + inputNames); + + inputsMap.forEach(resourcePropertiesAssignmentPage::setInputValue); + resourcePropertiesAssignmentPage.saveInputs(); + ExtentTestActions.takeScreenshot(Status.INFO, "etsi-ns-edited-properties", String.format("Inputs edited: %s", inputNames)); + resourcePropertiesAssignmentPage.selectPropertiesTab(); + return Optional.of(componentPage); + } + + @Override + public Optional getLandedPage() { + return Optional.ofNullable(componentPage); + } +} diff --git a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/ResourcePropertiesAssignmentInputTab.java b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/ResourcePropertiesAssignmentInputTab.java index a46e9a9bee..75f54167ba 100644 --- a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/ResourcePropertiesAssignmentInputTab.java +++ b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/ResourcePropertiesAssignmentInputTab.java @@ -20,28 +20,35 @@ package org.onap.sdc.frontend.ci.tests.pages; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.onap.sdc.frontend.ci.tests.pages.PropertyNameBuilder.buildInputField; +import com.aventstack.extentreports.Status; import java.util.List; import java.util.Map; import java.util.stream.Collectors; - +import lombok.AllArgsConstructor; +import lombok.Getter; import org.onap.sdc.frontend.ci.tests.execute.setup.ExtentTestActions; +import org.onap.sdc.frontend.ci.tests.utilities.LoaderHelper; +import org.onap.sdc.frontend.ci.tests.utilities.NotificationComponent; +import org.onap.sdc.frontend.ci.tests.utilities.NotificationComponent.NotificationType; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; - -import com.aventstack.extentreports.Status; - -import lombok.AllArgsConstructor; -import lombok.Getter; +import org.openqa.selenium.support.ui.Select; /** * Handles the Resource Properties Assignment Input Tab UI actions */ public class ResourcePropertiesAssignmentInputTab extends AbstractPageObject { + private LoaderHelper loaderHelper; + private NotificationComponent notificationComponent; + public ResourcePropertiesAssignmentInputTab(final WebDriver webDriver) { super(webDriver); + notificationComponent = new NotificationComponent(webDriver); + loaderHelper = new LoaderHelper(webDriver); } @Override @@ -61,8 +68,9 @@ public class ResourcePropertiesAssignmentInputTab extends AbstractPageObject { /** * Adds metadata to a property within the inputs tab based on a property name - * @param name used to determine which property to add metadata - * @param key the metadata key to add + * + * @param name used to determine which property to add metadata + * @param key the metadata key to add * @param value the metadata value to add */ public void setInputPropertyMetadata(String name, String key, String value) { @@ -83,12 +91,13 @@ public class ResourcePropertiesAssignmentInputTab extends AbstractPageObject { public void saveInputProperties() { findElement(By.xpath(XpathSelector.PROPERTY_SAVE_BTN.getXpath())).click(); - waitForElementVisibility(XpathSelector.PROPERTY_SAVE_MESSAGE.getXpath()); - waitForElementInvisibility(By.xpath(XpathSelector.PROPERTY_SAVE_MESSAGE.getXpath())); + loaderHelper.waitForLoaderInvisibility(20); + notificationComponent.waitForNotification(NotificationType.SUCCESS, 20); } /** - * Adds a input + * Adds an input + * * @param inputsMap the inputs map to be added */ public void addInputs(final Map inputsMap) { @@ -106,6 +115,7 @@ public class ResourcePropertiesAssignmentInputTab extends AbstractPageObject { /** * Fills the creation input modal. + * * @param inputName the input name to be created * @param inputType the input type to be selected */ @@ -118,9 +128,10 @@ public class ResourcePropertiesAssignmentInputTab extends AbstractPageObject { /** * Verifies if the added input is displayed on the UI. + * * @param inputsMap the input name to be found */ - public void verifyInputs(final Map inputsMap ) { + public void verifyInputs(final Map inputsMap) { for (Map.Entry input : inputsMap.entrySet()) { assertTrue(this.getInputPropertyNames().contains(input.getKey()), String.format("%s Input should be listed but found %s", input.getKey(), @@ -129,7 +140,8 @@ public class ResourcePropertiesAssignmentInputTab extends AbstractPageObject { } /** - * Checks if a input exists. + * Checks if an input exists. + * * @param inputName the input name * @return the value of the input */ @@ -143,6 +155,40 @@ public class ResourcePropertiesAssignmentInputTab extends AbstractPageObject { return true; } + public void setInputValue(final String inputName, final Object value) { + if (value == null) { + return; + } + + if (value instanceof String) { + setStringInputValue(inputName, (String) value); + return; + } + + if (value instanceof Integer) { + setStringInputValue(inputName, ((Integer) value).toString()); + return; + } + + if (value instanceof Boolean) { + setBooleanPropertyValue(inputName, ((Boolean) value).toString()); + return; + } + + throw new UnsupportedOperationException("Cannot set input value of type: " + value.getClass()); + } + + private void setStringInputValue(final String inputName, final String value) { + isInputPropertiesTableLoaded(); + findElement(By.xpath(XpathSelector.INPUT_VALUE.formatXpath(buildInputField(inputName)))).sendKeys(value); + } + + private void setBooleanPropertyValue(final String inputName, final String value) { + isInputPropertiesTableLoaded(); + new Select(findElement(By.xpath(XpathSelector.INPUT_VALUE_BOOLEAN.formatXpath(buildInputField(inputName))))) + .selectByVisibleText(value.toUpperCase()); + } + /** * Enum that contains identifiers and xpath expressions to elements related to the enclosing page object. */ @@ -160,6 +206,8 @@ public class ResourcePropertiesAssignmentInputTab extends AbstractPageObject { INPUT_PROPERTY_ADD_METADATA_BUTTON(INPUT_PROPERTY_TABLE_ROW.getXpath().concat("//a")), INPUT_PROPERTY_METADATA_KEY_VALUE_PAIR(INPUT_PROPERTY_TABLE_ROW.getXpath().concat("//input")), INPUT_ADD_BTN("//div[contains(@class,'add-btn')]"), + INPUT_VALUE("//input[contains(@class,'value-input') and @data-tests-id='%s']"), + INPUT_VALUE_BOOLEAN("//select[@data-tests-id='%s']"), MODAL_BACKGROUND("//div[@class='modal-background']"); @Getter diff --git a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/ResourcePropertiesAssignmentPage.java b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/ResourcePropertiesAssignmentPage.java index cb4345c7cc..81c46a7907 100644 --- a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/ResourcePropertiesAssignmentPage.java +++ b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/ResourcePropertiesAssignmentPage.java @@ -45,8 +45,8 @@ public class ResourcePropertiesAssignmentPage extends ComponentPage { @Override public void isLoaded() { super.isLoaded(); - waitForElementVisibility((By.xpath(XpathSelector.MAIN_DIV.getXpath()))); - waitForElementVisibility(By.xpath(XpathSelector.TITLE_DIV.getXpath())); + waitForElementVisibility(XpathSelector.MAIN_DIV.getXpath()); + waitForElementVisibility(XpathSelector.TITLE_DIV.getXpath()); resourcePropertiesAssignmentTab.isLoaded(); } @@ -54,7 +54,7 @@ public class ResourcePropertiesAssignmentPage extends ComponentPage { * Select the Properties Tab to be displayed */ public void selectPropertiesTab() { - findElement(By.xpath(XpathSelector.PROPERTIES_TAB.getXpath())).click(); + findElement(XpathSelector.PROPERTIES_TAB.getXpath()).click(); resourcePropertiesAssignmentTab.isLoaded(); } @@ -62,7 +62,7 @@ public class ResourcePropertiesAssignmentPage extends ComponentPage { * Select the Input Tab to be displayed */ public void selectInputTab() { - findElement(By.xpath(XpathSelector.INPUT_TAB.getXpath())).click(); + findElement(XpathSelector.INPUT_TAB.getXpath()).click(); resourcePropertiesAssignmentInputTab.isLoaded(); } @@ -74,6 +74,10 @@ public class ResourcePropertiesAssignmentPage extends ComponentPage { resourcePropertiesAssignmentTab.setPropertyValue(propertyName, value); } + public void setInputValue(final String inputName, final Object value) { + resourcePropertiesAssignmentInputTab.setInputValue(inputName, value); + } + /** * Retrieves a property value. * @@ -130,23 +134,23 @@ public class ResourcePropertiesAssignmentPage extends ComponentPage { /** * select property */ - public void selectProperty(String propertyName){ + public void selectProperty(String propertyName) { resourcePropertiesAssignmentTab.selectProperty(propertyName); } - public void loadComponentInstanceProperties(final String instanceName){ + public void loadComponentInstanceProperties(final String instanceName) { resourcePropertiesAssignmentTab.loadComponentInstanceProperties(instanceName); } - public void clickOnDeclareInput(){ + public void clickOnDeclareInput() { resourcePropertiesAssignmentTab.clickOnDeclareInput(); } - public void loadCompositionTab(){ + public void loadCompositionTab() { resourcePropertiesAssignmentTab.loadCompositionTab(); } - public void clickInputTab(String propertyName){ + public void clickInputTab(String propertyName) { waitForElementVisibility(By.xpath(XpathSelector.DECLARE_NOTIFIFICATION.getXpath())); ExtentTestActions.takeScreenshot(Status.INFO, "Declare-Input", String.format("Added declared input for property %s", propertyName)); selectInputTab(); -- cgit 1.2.3-korg