diff options
Diffstat (limited to 'vid-automation/src/main/java/vid/automation/test/infra')
7 files changed, 161 insertions, 16 deletions
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Click.java b/vid-automation/src/main/java/vid/automation/test/infra/Click.java index 8c6bf4831..0b5f40b84 100644 --- a/vid-automation/src/main/java/vid/automation/test/infra/Click.java +++ b/vid-automation/src/main/java/vid/automation/test/infra/Click.java @@ -1,10 +1,8 @@ package vid.automation.test.infra; import org.junit.Assert; -import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import org.onap.sdc.ci.tests.utilities.GeneralUIUtils; import org.openqa.selenium.Alert; -import org.openqa.selenium.By; -import org.openqa.selenium.Keys; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.Select; @@ -12,38 +10,40 @@ import org.openqa.selenium.support.ui.WebDriverWait; import java.util.List; +import static org.onap.sdc.ci.tests.utilities.GeneralUIUtils.getDriver; + public class Click { public static void byText(String text) { WebElement element = GeneralUIUtils.findByText(text); Assert.assertTrue(element != null); - element.click(); + clickWhenClickable(element); } public static void byId(String id) { WebElement element = Get.byId(id); Assert.assertTrue(element != null); - element.click(); + clickWhenClickable(element); } public static void byTestId(String testId) { WebElement element = Get.byTestId(testId); Assert.assertTrue(element != null); - element.click(); + clickWhenClickable(element); } public static void byClass(String className) { List<WebElement> elements = Get.byClass(className); Assert.assertTrue(elements != null && elements.size() > 0); - elements.get(0).click(); + clickWhenClickable(elements.get(0)); } public static void byXpath(String xpath) { WebElement element = Get.byXpath(xpath); Assert.assertNotNull(element); - element.click(); + clickWhenClickable(element); } @@ -73,7 +73,7 @@ public class Click { public static void byClassAndVisibleText(String className, String text ) { WebElement element = Get.byClassAndText(className, text); - element.click(); + clickWhenClickable(element); } @@ -83,4 +83,11 @@ public class Click { Assert.assertTrue(alert != null); alert.accept(); } + + private static void clickWhenClickable(WebElement element) { + new WebDriverWait(getDriver(), 1) + .until(ExpectedConditions.elementToBeClickable(element)) + .click(); + } + } diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Features.java b/vid-automation/src/main/java/vid/automation/test/infra/Features.java index 37698fe36..cd632ff12 100644 --- a/vid-automation/src/main/java/vid/automation/test/infra/Features.java +++ b/vid-automation/src/main/java/vid/automation/test/infra/Features.java @@ -7,7 +7,6 @@ public enum Features implements Feature { CREATE_INSTANCE_TEST, EMPTY_DRAWING_BOARD_TEST, - FLAG_REGION_ID_FROM_REMOTE, FLAG_ASYNC_JOBS, FLAG_ADD_MSO_TESTAPI_FIELD, FLAG_ASYNC_INSTANTIATION, @@ -16,8 +15,32 @@ public enum Features implements Feature { FLAG_NETWORK_TO_ASYNC_INSTANTIATION, FLAG_COLLECTION_RESOURCE_SUPPORT, FLAG_SHOW_ASSIGNMENTS, + FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS, FLAG_SHOW_VERIFY_SERVICE, - FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD; + FLAG_DUPLICATE_VNF, + FLAG_DEFAULT_VNF, + FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD, + FLAG_RESTRICTED_SELECT, + FLAG_5G_IN_NEW_INSTANTIATION_UI, + FLAG_ASYNC_ALACARTE_VNF, + FLAG_A_LA_CARTE_AUDIT_INFO, + FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS, + FLAG_ASYNC_ALACARTE_VFMODULE, + FLAG_SUPPLEMENTARY_FILE, + FLAG_SHIFT_VFMODULE_PARAMS_TO_VNF, + FLAG_EXP_ANY_ALACARTE_NEW_INSTANTIATION_UI, + FLAG_1810_CR_LET_SELECTING_COLLECTOR_TYPE_UNCONDITIONALLY, + FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST, + FLAG_1810_CR_SOFT_DELETE_ALACARTE_VF_MODULE, + FLAG_1810_IDENTIFY_SERVICE_FOR_NEW_UI, + FLAG_1902_NEW_VIEW_EDIT, + FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER, + FLAG_1902_VNF_GROUPING, + FLAG_1902_RETRY_JOB, + FLAG_VF_MODULE_RESUME_STATUS_CREATE, + FLAG_EXP_CREATE_RESOURCES_IN_PARALLEL, + FLAG_1906_INSTANTIATION_API_USER_VALIDATION, + ; public boolean isActive() { return FeatureContext.getFeatureManager().isActive(this); diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Get.java b/vid-automation/src/main/java/vid/automation/test/infra/Get.java index fc1d06070..9bcad7b64 100644 --- a/vid-automation/src/main/java/vid/automation/test/infra/Get.java +++ b/vid-automation/src/main/java/vid/automation/test/infra/Get.java @@ -1,7 +1,7 @@ package vid.automation.test.infra; import org.junit.Assert; -import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import org.onap.sdc.ci.tests.utilities.GeneralUIUtils; import org.openqa.selenium.*; import org.openqa.selenium.support.ui.WebDriverWait; @@ -20,7 +20,7 @@ public class Get { public static WebElement byTestId(String dataTestId) { try { - return GeneralUIUtils.getDriver().findElement(By.xpath("//*[@data-tests-id='" + dataTestId + "']")); + return GeneralUIUtils.getDriver().findElement(getXpathForDataTestId(dataTestId)); } catch (Exception var2) { return null; } @@ -34,6 +34,14 @@ public class Get { } } + public static WebElement byXpath(WebElement context, String xpath) { + try { + return context.findElement(By.xpath(xpath)); + } catch (Exception var2) { + return null; + } + } + public static WebElement byXpath(String xpath, int timeout) { try { return GeneralUIUtils.getWebElementBy(By.xpath(xpath), timeout); @@ -152,4 +160,16 @@ public class Get { } }; } + + public static List<WebElement> listByTestId(String dataTestId) { + try { + return GeneralUIUtils.getDriver().findElements(getXpathForDataTestId(dataTestId)); + } catch (Exception var2) { + return null; + } + } + + public static By getXpathForDataTestId(String dataTestId) { + return By.xpath("//*[@data-tests-id='" + dataTestId + "']"); + } } diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Input.java b/vid-automation/src/main/java/vid/automation/test/infra/Input.java index 896ceae56..b937a9d42 100644 --- a/vid-automation/src/main/java/vid/automation/test/infra/Input.java +++ b/vid-automation/src/main/java/vid/automation/test/infra/Input.java @@ -1,6 +1,6 @@ package vid.automation.test.infra; -import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import org.onap.sdc.ci.tests.utilities.GeneralUIUtils; import org.openqa.selenium.WebElement; import vid.automation.test.utils.ReadFile; diff --git a/vid-automation/src/main/java/vid/automation/test/infra/ModelInfo.java b/vid-automation/src/main/java/vid/automation/test/infra/ModelInfo.java new file mode 100644 index 000000000..1284a8b42 --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/infra/ModelInfo.java @@ -0,0 +1,81 @@ +package vid.automation.test.infra; + +import com.google.common.collect.ImmutableList; + +public class ModelInfo { + public final String modelVersionId; //aka model uuid + public final String modelInvariantId; + public final String zipFileName; + + public static class ModelInfoWithMultipleVersions { + public final String modelInvariantId; + public final String modelVersionId1; + public final String modelVersionId2; + public final String modelVersionId3; + public final String modelName; + + + ModelInfoWithMultipleVersions(String modelInvariantId, String modelVersionId1, String modelVersionId2, String modelVersionId3, String modelName) { + this.modelInvariantId = modelInvariantId; + this.modelVersionId1 = modelVersionId1; + this.modelVersionId2 = modelVersionId2; + this.modelVersionId3 = modelVersionId3; + this.modelName = modelName; + } + + public static final ModelInfoWithMultipleVersions modelInfoWithMultipleVersions = new ModelInfoWithMultipleVersions( + "5d353b28-e5b7-419b-98e8-cad5d258be13", + "5e7970bc-a292-4955-8a1b-8a44f586f527", + "04743c62-ab58-41a0-bc53-1052ef1c094a", + "d2415de6-dde3-4737-b9b0-4f9fa02fab68", + "serviceWithGreatNameForMultiple"); + } + + public ModelInfo(String modelVersionId, String modelInvariantId, String zipFileName) { + this.modelVersionId = modelVersionId; + this.modelInvariantId = modelInvariantId; + this.zipFileName = zipFileName; + } + + public ModelInfo(String modelVersionId, String modelInvariantId) { + this(modelVersionId, modelInvariantId, "fakeCsarName.zip"); + } + + public static final ModelInfo macroForBrowseSdc = new ModelInfo("4d71990b-d8ad-4510-ac61-496288d9078e","d27e42cf-087e-4d31-88ac-6c4b7585f800"); + public static final ModelInfo aLaCarteForBrowseSdc = new ModelInfo("4d71990b-d8ad-4510-ac61-496288d9078e","a8dcd72d-d44d-44f2-aa85-53aa9ca99cba"); + public static final ModelInfo serviceWithOneVersion = new ModelInfo("16a3133f-cd29-44df-aa3c-79a75e40802a", "a313c1fb-b8ce-4e5f-abfa-ad6611203350"); + + public static final ModelInfo instantiationTypeAlacarte_vidNotionsInstantiationUIByUUID = new ModelInfo ("95eb2c44-bff2-4e8b-ad5d-8266870b7717", "31a229a2-71d0-48e1-9003-850c2696d6d4", "csar15782222_instantiationTypeAlacarte_vidNotionsInstantiationUIByUUID.zip"); + public static final ModelInfo macroSriovWithDynamicFieldsEcompNamingTruePartialModelDetails = new ModelInfo ("2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd", "45aee87d-883b-4644-9006-e0ca48d33cbf", "csar-withDynamicFields-ecompNamingTrue-partialModelDetails.zip"); + public static final ModelInfo macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetails = new ModelInfo ("1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd", "cdb90b57-ed78-4d44-a5b4-7f43a02ec632", "csar-noDynamicFields-ecompNamingFalse-fullModelDetails-1a80c596.zip"); + public static final ModelInfo macroSriovWithDynamicFieldsEcompNamingFalsePartialModelDetailsVnfEcompNamingFalse = new ModelInfo("6b528779-44a3-4472-bdff-9cd15ec93450", "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0" , "csar-withDynamicFields-ecompNamingFalse-partialModelDetails-vnfEcompNamingFalse.zip"); + public static final ModelInfo macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetailsVnfEcompNamingFalse = new ModelInfo("4a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd", "4140a873-00bb-4f57-ac46-0494cc9e674a", "csar-noDynamicFields-ecompNamingFalse-fullModelDetails-1a80c596-vnfEcompNamingFalse.zip"); + public static final ModelInfo aLaCarteNetworkProvider5G = new ModelInfo("4659e8bd-0920-4eed-8ec5-550b4c8dceeb", "16e56d12-40b3-4db1-a40e-d48c36679e2e", "service-SrIovProvider1-csar.zip"); + public static final ModelInfo PASQUALEVmxVpeBvService488Annotations = new ModelInfo("f4d84bb4-a416-4b4e-997e-0059973630b9", "598e3f9e-3244-4d8f-a8e0-0e5d7a29eda9", "service-PASQUALEVmxVpeBvService488-csar-annotations.zip"); + public static final ModelInfo macroDrawingBoardComplexService = new ModelInfo("6e59c5de-f052-46fa-aa7e-2fca9d674c44","cfef8302-d90f-475f-87cc-3f49a62ef14c", "service-Complexservice-csar.zip" ); + public static final ModelInfo aLaCarteServiceCreationTest = new ModelInfo("f913c5d0-206e-45c2-9284-1c68f4e67dc7", "45e61192-876c-4e28-9139-5a0c47410379", "serviceCreationTest.zip"); + public static final ModelInfo aLaCarteVnfGroupingService = new ModelInfo("4117a0b6-e234-467d-b5b9-fe2f68c8b0fc", "7ee41ce4-4827-44b0-a48e-2707a59905d2", "csar15782222_instantiationTypeAlacarte_VnfGrouping.zip"); + public static final ModelInfo serviceFabricSriovService = new ModelInfo("253f1467-fe68-4e80-ba71-308000caec31", "c15fe228-7d40-4f99-afa7-10abeedf9aac", "service-fabric-SriovService-csar.zip"); + + public static final ImmutableList<ModelInfo> superSetOfModelInfos = buildModelInfos(); + + public static ImmutableList<ModelInfo> buildModelInfos() { + return new ImmutableList.Builder<ModelInfo>() + .add(macroForBrowseSdc) + .add(aLaCarteForBrowseSdc) + .add(serviceWithOneVersion) + .add(instantiationTypeAlacarte_vidNotionsInstantiationUIByUUID) + .add(macroSriovWithDynamicFieldsEcompNamingTruePartialModelDetails) + .add(macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetails) + .add(macroSriovWithDynamicFieldsEcompNamingFalsePartialModelDetailsVnfEcompNamingFalse) + .add(macroSriovNoDynamicFieldsEcompNamingFalseFullModelDetailsVnfEcompNamingFalse) + .add(aLaCarteNetworkProvider5G) + .add(PASQUALEVmxVpeBvService488Annotations) + .add(macroDrawingBoardComplexService) + .add(aLaCarteServiceCreationTest) + .add(aLaCarteVnfGroupingService) + .build(); + } +} + + diff --git a/vid-automation/src/main/java/vid/automation/test/infra/SelectOption.java b/vid-automation/src/main/java/vid/automation/test/infra/SelectOption.java index dc792cfc3..cd766c5bf 100644 --- a/vid-automation/src/main/java/vid/automation/test/infra/SelectOption.java +++ b/vid-automation/src/main/java/vid/automation/test/infra/SelectOption.java @@ -1,11 +1,14 @@ package vid.automation.test.infra; -import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import com.google.common.collect.ImmutableList; +import org.apache.commons.lang3.ObjectUtils; +import org.onap.sdc.ci.tests.utilities.GeneralUIUtils; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.Select; import vid.automation.test.Constants; import java.util.List; +import java.util.concurrent.TimeUnit; /** * Created by itzikliderman on 18/07/2017. @@ -56,6 +59,13 @@ public class SelectOption { } + public static void waitForOptionInSelect(String option, String selectTestId) { + Wait.waitFor(foo -> + ObjectUtils.defaultIfNull(SelectOption.getList(selectTestId), ImmutableList.<WebElement>of()) + .stream().map(o -> o.getText()).filter(o -> option.equals(o)).findAny().isPresent(), + "", 10, 200, TimeUnit.MILLISECONDS); + } + public static void selectOptionsFromMultiselectById(String multiSelectId, List<String> options) { Click.byId(multiSelectId); try { diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Wait.java b/vid-automation/src/main/java/vid/automation/test/infra/Wait.java index 848107c83..cab3a2d5b 100644 --- a/vid-automation/src/main/java/vid/automation/test/infra/Wait.java +++ b/vid-automation/src/main/java/vid/automation/test/infra/Wait.java @@ -1,7 +1,7 @@ package vid.automation.test.infra; import org.apache.commons.collections.CollectionUtils; -import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils; +import org.onap.sdc.ci.tests.utilities.GeneralUIUtils; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.NoSuchElementException; import vid.automation.test.Constants; @@ -58,6 +58,10 @@ public class Wait { return waitFor((x->Get.byTestId(dataTestId)!=null),null, timeoutInSeconds, 1); } + public static boolean waitByIdAndText(String id, String text, int timeoutInSeconds) { + return waitFor((x->Get.byId(id).getText().equals(text)),null, timeoutInSeconds, 1); + } + public static void angularHttpRequestsLoaded() { JavascriptExecutor js = (JavascriptExecutor) GeneralUIUtils.getDriver(); for (int i=0; i<Constants.generalRetries; i++) { |