diff options
author | Ofir Sonsino <os0695@att.com> | 2018-01-31 17:19:00 +0200 |
---|---|---|
committer | Ofir Sonsino <os0695@att.com> | 2018-01-31 17:19:00 +0200 |
commit | 1cfb08779ea0e00be69e072a940b3063e049fe6b (patch) | |
tree | 6602a900387c8393ed0dcd81c0539381632903c6 /vid-automation/src/main/java/vid/automation/test/sections | |
parent | 2f20b001b9243e0f8b44aecc768ec265fd538732 (diff) |
org.onap migration
Change-Id: I52f0b2851f2c765752b6d21f49b32136d7d72a3d
Issue-ID: VID-86
Signed-off-by: Ofir Sonsino <os0695@att.com>
Diffstat (limited to 'vid-automation/src/main/java/vid/automation/test/sections')
11 files changed, 471 insertions, 0 deletions
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java b/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java new file mode 100644 index 00000000..f9a2e43a --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java @@ -0,0 +1,12 @@ +package vid.automation.test.sections; + +import vid.automation.test.Constants; + +/** + * Created by itzikliderman on 13/06/2017. + */ +public class BrowseASDCPage extends VidBasePage { + public String generateInstanceName() { + return generateInstanceName(Constants.BrowseASDC.SERVICE_INSTANCE_NAME_PREFIX); + } +} diff --git a/vid-automation/src/main/java/vid/automation/test/sections/ChangeManagementPage.java b/vid-automation/src/main/java/vid/automation/test/sections/ChangeManagementPage.java new file mode 100644 index 00000000..bcf035c0 --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/ChangeManagementPage.java @@ -0,0 +1,15 @@ +package vid.automation.test.sections; + +import vid.automation.test.Constants; +import vid.automation.test.infra.Click; + +public class ChangeManagementPage extends VidBasePage { + public static void openChangeManagementPage() { + Click.byText(Constants.SideMenu.VNF_CHANGES); + } + + public static void openNewChangeManagementModal() { + ChangeManagementPage.openChangeManagementPage(); + Click.byId(Constants.ChangeManagement.headlineNewButtonId); + } +} diff --git a/vid-automation/src/main/java/vid/automation/test/sections/CreateNewInstancePage.java b/vid-automation/src/main/java/vid/automation/test/sections/CreateNewInstancePage.java new file mode 100644 index 00000000..2eef9b3a --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/CreateNewInstancePage.java @@ -0,0 +1,21 @@ +package vid.automation.test.sections; + +import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import vid.automation.test.Constants; +import vid.automation.test.model.Service; + +/** + * Created by itzikliderman on 13/06/2017. + */ +public class CreateNewInstancePage extends VidBasePage { + + public CreateNewInstancePage clickCloseButton() { + GeneralUIUtils.clickOnElementByTestId(Constants.BrowseASDC.MSO_COMMIT_DIALOG_CLOSE_BUTTON, 30); + return this; + } + + public String generateInstanceName() { + return generateInstanceName(Constants.CreateNewInstance.SERVICE_INSTANCE_NAME_PREFIX); + } + +} diff --git a/vid-automation/src/main/java/vid/automation/test/sections/CreationDialog.java b/vid-automation/src/main/java/vid/automation/test/sections/CreationDialog.java new file mode 100644 index 00000000..fdc78d2e --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/CreationDialog.java @@ -0,0 +1,8 @@ +package vid.automation.test.sections; + +/** + * Created by itzikliderman on 31/07/2017. + */ +public class CreationDialog extends VidBasePage{ + +} diff --git a/vid-automation/src/main/java/vid/automation/test/sections/LoginExternalPage.java b/vid-automation/src/main/java/vid/automation/test/sections/LoginExternalPage.java new file mode 100644 index 00000000..c1053d2a --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/LoginExternalPage.java @@ -0,0 +1,29 @@ +package vid.automation.test.sections; + +import org.openecomp.sdc.ci.tests.datatypes.UserCredentials; +import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import static org.junit.Assert.*; + + +public class LoginExternalPage { + + + static private final String SUCCESSFUL_LOGIN_STRING_SEARCH = "Welcome to VID"; + + static void sendUserAndPasswordKeys(UserCredentials userCredentials) { + WebElement loginIdInputElem = GeneralUIUtils.getWebElementBy(By.name("loginId")); + loginIdInputElem.sendKeys(userCredentials.getUserId()); + WebElement passwordInputElem = GeneralUIUtils.getWebElementBy(By.name("password")); + passwordInputElem.sendKeys(userCredentials.getPassword()); + } + + static public void performLoginExternal(UserCredentials userCredentials) { + sendUserAndPasswordKeys(userCredentials); + WebElement loginButton = GeneralUIUtils.getWebElementBy(By.id("loginBtn"), 30); + loginButton.click(); + boolean isLoginSuccess = GeneralUIUtils.findAndWaitByText(SUCCESSFUL_LOGIN_STRING_SEARCH, 30); + assertTrue(isLoginSuccess); + } +} diff --git a/vid-automation/src/main/java/vid/automation/test/sections/PnfSearchAssociationPage.java b/vid-automation/src/main/java/vid/automation/test/sections/PnfSearchAssociationPage.java new file mode 100644 index 00000000..3f8061a7 --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/PnfSearchAssociationPage.java @@ -0,0 +1,24 @@ +package vid.automation.test.sections; + +import org.junit.Assert; +import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import org.openqa.selenium.WebElement; +import vid.automation.test.Constants; + +public class PnfSearchAssociationPage extends VidBasePage { + public PnfSearchAssociationPage setPnfName(String pnfName){ + setInputText(Constants.PnfAssociation.PNF_NAME_TEST_ID, pnfName); + return this; + } + public PnfSearchAssociationPage clickSearchButton() { + GeneralUIUtils.clickOnElementByTestId(Constants.PnfAssociation.SEARCH_PNF_TEST_ID, 60); + return this; + } + public PnfSearchAssociationPage clickAssociateButton() { + GeneralUIUtils.clickOnElementByTestId(Constants.PnfAssociation.ASSOCIATE_PNF_TEST_ID, 100); + return this; + } + + + +} diff --git a/vid-automation/src/main/java/vid/automation/test/sections/SearchExistingPage.java b/vid-automation/src/main/java/vid/automation/test/sections/SearchExistingPage.java new file mode 100644 index 00000000..5fc4894e --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/SearchExistingPage.java @@ -0,0 +1,77 @@ +package vid.automation.test.sections; + +import org.junit.Assert; +import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import org.openqa.selenium.WebElement; +import vid.automation.test.Constants; + + +/** + * Created by pickjonathan on 10/07/2017. + */ + +public class SearchExistingPage extends VidBasePage { + + public SearchExistingPage() {} + + public void selectSearchById(){ + selectSearchBy(Constants.EditExistingInstance.SERVICE_INSTANCE_ID); + } + + public void selectSearchByName(){ + selectSearchBy(Constants.EditExistingInstance.SERVICE_INSTANCE_NAME); + } + + public void selectSearchBy(String searchTypeOptionText) { + boolean findAndWaitByText = GeneralUIUtils.findAndWaitByText(Constants.EditExistingInstance.SELECT_SERVICE_INSTANCE, 30); + Assert.assertTrue(findAndWaitByText); + GeneralUIUtils.clickOnElementByText(Constants.EditExistingInstance.SELECT_SERVICE_INSTANCE, 30); + + boolean isSearchByIdAvailable = GeneralUIUtils.findAndWaitByText(searchTypeOptionText, 30); + Assert.assertTrue(isSearchByIdAvailable); + GeneralUIUtils.clickOnElementByText(searchTypeOptionText, 30); + } + + public void searchForInstanceByUuid(String uuid) { + selectSearchById(); + startSearchByInstanceIdentifier(uuid); + } + + private void startSearchByInstanceIdentifier(String text) { + WebElement textInputWebElement = GeneralUIUtils.getWebElementByTestID(Constants.EditExistingInstance.SEARCH_FOR_EXISTING_INSTANCES_INPUT, 30); + Assert.assertTrue(textInputWebElement != null); + textInputWebElement.sendKeys(text); + clickSubmitButton(); + } + + public void searchForInstanceByName(String name) { + selectSearchByName(); + startSearchByInstanceIdentifier(name); + } + + public void checkForEditButtons() { + boolean isDeleteVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.DELETE_VNF_BTN, 30); + Assert.assertFalse(isDeleteVisible); + + boolean isAddVnfModuleVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.ADD_VNF_MODULE_DROPDOWN, 30); + Assert.assertFalse(isAddVnfModuleVisible); + + boolean isAddCustomVnfModuleVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.ADD_CUSTOM_VNF_MODULE_DROPDOWN, 30); + Assert.assertFalse(isAddCustomVnfModuleVisible); + + boolean isAddCustomVolumeGroupVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.ADD_CUSTOM_VOLUME_GROUP, 30); + Assert.assertFalse(isAddCustomVolumeGroupVisible); + + boolean isAddVolumeGroupVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.ADD_VOLUME_GROUP, 30); + Assert.assertFalse(isAddVolumeGroupVisible); + + boolean isDeleteVfModuleVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.DELETE_VF_MODULE, 30); + Assert.assertFalse(isDeleteVfModuleVisible); + + boolean isDeleteVnfGroupVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.DELETE_VNF_VOLUME_GROUP, 30); + Assert.assertFalse(isDeleteVnfGroupVisible); + + boolean isDeleteNetworkVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.DELETE_NETWORK); + Assert.assertFalse(isDeleteNetworkVisible); + } +} diff --git a/vid-automation/src/main/java/vid/automation/test/sections/SideMenu.java b/vid-automation/src/main/java/vid/automation/test/sections/SideMenu.java new file mode 100644 index 00000000..8745001d --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/SideMenu.java @@ -0,0 +1,30 @@ +package vid.automation.test.sections; + +import org.junit.Assert; +import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import vid.automation.test.Constants; + +public class SideMenu { + public static void navigateToBrowseASDCPage() { + navigateToPage(Constants.SideMenu.BROWSE_ASDC_SERVICE_MODELS); + } + + public static void navigateToSearchExistingPage() { + navigateToPage(Constants.SideMenu.SEARCH_EXISTING_SERVICE); + } + + public static void navigateToCreateNewServicePage() { + navigateToPage(Constants.SideMenu.CREATE_NEW_SERVICE); + } + + public static void navigateToTestEnvironmentsPage() { + navigateToPage(Constants.SideMenu.TEST_ENVIRONMENTS); + } + + private static void navigateToPage(String PageName) { + boolean findAndWaitByText = GeneralUIUtils.findAndWaitByText(PageName, 30); + Assert.assertTrue(findAndWaitByText); + GeneralUIUtils.clickOnElementByText(PageName, 150); + GeneralUIUtils.ultimateWait(); + } +} diff --git a/vid-automation/src/main/java/vid/automation/test/sections/TestEnvironmentPage.java b/vid-automation/src/main/java/vid/automation/test/sections/TestEnvironmentPage.java new file mode 100644 index 00000000..f6390632 --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/TestEnvironmentPage.java @@ -0,0 +1,39 @@ +package vid.automation.test.sections; + +import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.testng.Assert; +import vid.automation.test.Constants; +import vid.automation.test.infra.Click; +import vid.automation.test.infra.Get; + +import java.util.List; + +import static org.junit.Assert.assertEquals; + +public class TestEnvironmentPage extends VidBasePage { + + public static void clickTestEnvironmentActivate(String envId) { + getTestEnvironmentActivationButton(envId).click(); + } + + public static void clickTestEnvironmentDeactivate(String envId) { + getTestEnvironmentDeactivationButton(envId).click(); + } + + public static WebElement getTestEnvironmentActivationButton(String envId) { + WebElement webElement = Get.byId(Constants.TestEnvironments.activateButtonIdPrefix + envId); + return webElement; + } + + public static WebElement getTestEnvironmentDeactivationButton(String envId) { + WebElement webElement = Get.byId(Constants.TestEnvironments.deactivateButtonIdPrefix + envId); + return webElement; + } + + public static WebElement getTestEnvironmentAttachButton(String envId) { + WebElement webElement = Get.byId(Constants.TestEnvironments.attachButtonIdPrefix + envId); + return webElement; + } +} diff --git a/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java b/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java new file mode 100644 index 00000000..6e0367ed --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java @@ -0,0 +1,132 @@ +package vid.automation.test.sections; + +import org.junit.Assert; +import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import org.openqa.selenium.WebElement; +import vid.automation.test.Constants; +import vid.automation.test.infra.Click; +import vid.automation.test.infra.SelectOption; +import vid.automation.test.infra.Wait; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +public class VidBasePage { + + public VidBasePage setInstanceName(String name) { + setInputText(Constants.INSTANCE_NAME_SELECT_TESTS_ID, name); + return this; + } + + public void generateAndSetInstanceName(String prefix) { + String instanceName = generateInstanceName(prefix); + setInstanceName(instanceName); + } + + public VidBasePage setInputText(String inputTestsId, String text) { + WebElement instanceNameInput = GeneralUIUtils.getInputElement(inputTestsId); + instanceNameInput.sendKeys(text); + return this; + } + + public String generateInstanceName(String prefix) { + SimpleDateFormat sdf = new SimpleDateFormat(Constants.BrowseASDC.DATE_FORMAT); + Date now = Calendar.getInstance().getTime(); + return prefix + sdf.format(now); + } + + public VidBasePage selectServiceTypeByName(String serviceType) { + SelectOption.byTestIdAndVisibleText(serviceType, Constants.SERVICE_TYPE_SELECT_TESTS_ID); + return this; + } + + public static void selectSubscriberById(String subscriberId) { + SelectOption.byValue(subscriberId, Constants.SUBSCRIBER_NAME_SELECT_TESTS_ID); + } + + public VidBasePage selectProductFamily(String productFamily) { + SelectOption.byValue(productFamily, Constants.ViewEdit.PRODUCT_FAMILY_SELECT_TESTS_ID); + return this; + } + + public VidBasePage selectSuppressRollback(String shouldSuppress) { + SelectOption.byTestIdAndVisibleText(shouldSuppress, Constants.SUPPRESS_ROLLBACK_SELECT_TESTS_ID); + return this; + } + + public VidBasePage clickDeployServiceButtonByServiceUUID(String serviceUUID) { + setInputText(Constants.BROWSE_SEARCH, serviceUUID); + String elementTestId = Constants.DEPLOY_BUTTON_TESTS_ID_PREFIX + serviceUUID; + GeneralUIUtils.clickOnElementByTestId(elementTestId, 30); + GeneralUIUtils.ultimateWait(); + return this; + } + + public VidBasePage clickEditViewByInstanceId(String instanceId) { + String elementTestId = Constants.VIEW_EDIT_TEST_ID_PREFIX + instanceId; + GeneralUIUtils.clickOnElementByTestId(elementTestId, 100); + GeneralUIUtils.ultimateWait(); + return this; + } + + public VidBasePage clickSubmitButton() { + GeneralUIUtils.clickOnElementByText(Constants.SUBMIT_BUTTON_TEXT, 30); + return this; + } + + public VidBasePage clickCancelButton() { + Click.byId(Constants.generalCancelButtonId); + return this; + } + + + public VidBasePage clickConfirmButton() { + GeneralUIUtils.clickOnElementByTestId(Constants.CONFIRM_BUTTON_TESTS_ID, 30); + return this; + } + + public VidBasePage clickCloseButton() { + GeneralUIUtils.clickOnElementByText(Constants.CLOSE_BUTTON_TEXT, 30); + return this; + } + + public VidBasePage selectLcpRegion(String lcpRegion) { + SelectOption.byValue(lcpRegion, Constants.ViewEdit.LCP_REGION_SELECT_TESTS_ID); + return this; + } + + public VidBasePage selectTenant(String tenant) { + SelectOption.byValue(tenant, Constants.ViewEdit.TENANT_SELECT_TESTS_ID); + return this; + } + + public VidBasePage selectAicZone(String aicZone) { + SelectOption.byValue(aicZone, Constants.ViewEdit.AIC_ZONE_TEST_ID); + return this; + } + + public void assertButtonState(String dataTestId, boolean shouldBeEnabled) { + GeneralUIUtils.ultimateWait(); + WebElement webElement = GeneralUIUtils.getWebElementByTestID(dataTestId, 60); + boolean enabledElement= webElement.getAttribute("disabled")==null?true:false; + if(shouldBeEnabled) { + Assert.assertTrue(String.format(Constants.ViewEdit.ENABLE_ERROR_MESSAGE,dataTestId), enabledElement); + }else{ + Assert.assertFalse(String.format(Constants.ViewEdit.DISABLE_ERROR_MESSAGE,dataTestId),enabledElement); + } + + } + public VidBasePage assertMsoRequestModal(String statusMsg) { + boolean waitForTextResult = Wait.waitByClassAndText("status", statusMsg, 60); + Assert.assertTrue(statusMsg + " message didn't appear on time", waitForTextResult); + + return this; + } + + public VidBasePage refreshPage() { + GeneralUIUtils.getDriver().navigate().refresh(); + return this; + } + +} diff --git a/vid-automation/src/main/java/vid/automation/test/sections/ViewEditPage.java b/vid-automation/src/main/java/vid/automation/test/sections/ViewEditPage.java new file mode 100644 index 00000000..5f532d22 --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/sections/ViewEditPage.java @@ -0,0 +1,84 @@ +package vid.automation.test.sections; + +import org.junit.Assert; +import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import vid.automation.test.Constants; +import vid.automation.test.infra.Get; +import vid.automation.test.infra.SelectOption; +import vid.automation.test.infra.Wait; + +/** + * Created by itzikliderman on 13/06/2017. + */ +public class ViewEditPage extends VidBasePage { + public ViewEditPage selectNodeInstanceToAdd(String vnfName) { + selectFromDropdownByTestId(Constants.ViewEdit.VNF_OPTION_TEST_ID_PREFIX + vnfName, + Constants.ViewEdit.ADD_VNF_BUTTON_TEST_ID); + return this; + } + + public ViewEditPage selectVolumeGroupToAdd(String volumeGroupName) { + selectFromDropdownByTestId(Constants.ViewEdit.VOLUME_GROUP_OPTION_TEST_ID_PREFIX + volumeGroupName, + Constants.ViewEdit.ADD_VOLUME_GROUP_BUTTON_TEST_ID); + return this; + } + + public ViewEditPage selectFromDropdownByText(String itemText, String dropdownButtonTestId) { + GeneralUIUtils.clickOnElementByTestId(dropdownButtonTestId, 30); + GeneralUIUtils.clickOnElementByText(itemText, 30); + return this; + } + + public ViewEditPage selectFromDropdownByTestId(String itemTestId, String dropdownButtonTestId) { + GeneralUIUtils.clickOnElementByTestId(dropdownButtonTestId, 60); + Assert.assertTrue(String.format(Constants.ViewEdit.OPTION_IN_DROPDOWN_NOT_EXISTS,dropdownButtonTestId,"Add network instance"),GeneralUIUtils.getWebElementByTestID(itemTestId) != null ); + GeneralUIUtils.clickOnElementByTestId(itemTestId, 60); + return this; + } + + public ViewEditPage selectProductFamily(String productFamily){ + SelectOption.byValue(productFamily, Constants.ViewEdit.PRODUCT_FAMILY_SELECT_TESTS_ID); + return this; + } + + public ViewEditPage selectLCPRegion(String lcpRegion){ + SelectOption.byValue(lcpRegion, Constants.ViewEdit.LCP_REGION_SELECT_TESTS_ID); + return this; + } + + public ViewEditPage setLegacyRegion(String legacyRegionName){ + setInputText(Constants.ViewEdit.LEGACY_REGION_INPUT_TESTS_ID, legacyRegionName); + return this; + } + + public ViewEditPage selectTenant(String tenant){ + SelectOption.byValue(tenant, Constants.ViewEdit.TENANT_SELECT_TESTS_ID); + return this; + } + + public VidBasePage clickActivateButton() { + GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.ACTIVATE_BUTTON_TEST_ID, 60); + return this; + } + + public WebElement getPnf(String pnfName) { + WebElement pnfElement = Get.byClassAndText("tree-node", "PNF: " + pnfName); + Assert.assertNotNull("Pnf "+ pnfName +" not found under service instance", pnfElement); + return pnfElement; + } + + public ViewEditPage clickDissociatePnfButton(String pnfName) { + WebElement pnfToDissociate = getPnf(pnfName); + WebElement dissociateBtn = pnfToDissociate.findElement(By.className(Constants.ViewEdit.DISSOCIATE_BTN_CLASS)); + Assert.assertNotNull("Dissociate button not found for pnf " + pnfName, dissociateBtn); + dissociateBtn.click(); + return this; + } + + public VidBasePage clickDeactivateButton() { + GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.DEACTIVATE_BUTTON_TEST_ID, 30); + return this; + } +} |