diff options
Diffstat (limited to 'ui-ci/src/main/java/org/openecomp/sdc/ci/tests/utilities/GeneralUIUtils.java')
-rw-r--r-- | ui-ci/src/main/java/org/openecomp/sdc/ci/tests/utilities/GeneralUIUtils.java | 1081 |
1 files changed, 0 insertions, 1081 deletions
diff --git a/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/utilities/GeneralUIUtils.java b/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/utilities/GeneralUIUtils.java deleted file mode 100644 index 4fd36955ae..0000000000 --- a/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/utilities/GeneralUIUtils.java +++ /dev/null @@ -1,1081 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 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.openecomp.sdc.ci.tests.utilities; - -import java.awt.AWTException; -import java.awt.Robot; -import java.awt.Toolkit; -import java.awt.datatransfer.StringSelection; -import java.awt.event.KeyEvent; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.lang.reflect.Method; -import java.net.MalformedURLException; -import java.net.URL; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.concurrent.TimeUnit; -import java.util.function.Supplier; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.time.StopWatch; -import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; -import org.openecomp.sdc.be.model.User; -import org.openecomp.sdc.ci.tests.datatypes.BreadCrumbsButtonsEnum; -import org.openecomp.sdc.ci.tests.datatypes.CatalogFilterTitlesEnum; -import org.openecomp.sdc.ci.tests.datatypes.CheckBoxStatusEnum; -import org.openecomp.sdc.ci.tests.datatypes.CreateAndImportButtonsEnum; -import org.openecomp.sdc.ci.tests.datatypes.DataTestIdEnum; -import org.openecomp.sdc.ci.tests.datatypes.MenuOptionsEnum; -import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; -import org.openecomp.sdc.ci.tests.datatypes.TypesEnum; -import org.openecomp.sdc.ci.tests.execute.setup.SetupCDTest; -import org.openqa.selenium.By; -import org.openqa.selenium.Keys; -import org.openqa.selenium.OutputType; -import org.openqa.selenium.Platform; -import org.openqa.selenium.TakesScreenshot; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.firefox.FirefoxDriver; -import org.openqa.selenium.interactions.Actions; -import org.openqa.selenium.remote.DesiredCapabilities; -import org.openqa.selenium.remote.RemoteWebDriver; -import org.openqa.selenium.support.ui.ExpectedConditions; -import org.openqa.selenium.support.ui.Select; -import org.openqa.selenium.support.ui.WebDriverWait; -import org.testng.Assert; -import org.testng.Reporter; - -import com.relevantcodes.extentreports.LogStatus; - -public final class GeneralUIUtils { - - private static int timeOut=60*3; - - public static final String FILE_NAME = "Valid_tosca_Mycompute.yml"; - - /**************** DRIVERS ****************/ - private static WebDriver driver; - - public static void findComponentAndClick(String componentName) throws Exception { - SetupCDTest.getExtendTest().log(LogStatus.INFO, "finding component " + componentName); - waitFordataTestIdVisibility("main-menu-input-search").sendKeys(componentName); - WebElement foundComp = null; - try { - foundComp = waitFordataTestIdVisibility(componentName); - foundComp.click(); - GeneralUIUtils.waitForLoader(); - waitFordataTestIdVisibility("formlifecyclestate"); - } catch (Exception e) { - String msg = String.format("DID NOT FIND A COMPONENT NAMED %s", componentName); - SetupCDTest.getExtendTest().log(LogStatus.FAIL, msg); - System.out.println(msg); - Assert.fail(msg); - } - } - - public static List<WebElement> getElemenetsFromTable(By by) { - return GeneralUIUtils.getDriver().findElements(by); - } - - private static List<WebElement> getNewButtonsList() { - WebElement createButtonsArea = driver.findElement(By.className("w-sdc-dashboard-card-new")); - createButtonsArea.click(); - List<WebElement> buttonsList = driver.findElements(By.className("w-sdc-dashboard-card-new-button")); - return buttonsList; - } - - public static final String FILE_PATH = System.getProperty("user.dir") + "\\src\\main\\resources\\Files\\"; - public static String fileName = "JDM_vfc.yml"; - public static final String toscaErrorMessage = "Invalid TOSCA template."; - public static final String yamlError = "Invalid YAML file."; - public static final String allReadyExistErro = "Imported resource already exists in ASDC Catalog."; - - public static WebElement hoverOnArea(String areaId) { - Actions actions = new Actions(driver); - WebElement area = getWebElementWaitForVisible(areaId); - actions.moveToElement(area).perform(); - return area; - } - - public static WebElement actionBuild(WebElement element) throws InterruptedException { - // make an action on page//hover on element - Actions build = new Actions(driver); // here you state ActionBuider - build.moveToElement(element).build().perform();// hover the element. - Thread.sleep(1000); - return element; - } - - public static File takeScreenshot(String zipFile, String dir, String testName) throws IOException { - if (zipFile == null) { - zipFile = testName; - } - try { - File scrFile = ((TakesScreenshot) GeneralUIUtils.getDriver()).getScreenshotAs(OutputType.FILE); - File filePath = new File(String.format("%s/%s.png", dir, zipFile)); - new File(dir).mkdirs(); - FileUtils.copyFile(scrFile, filePath); - return filePath; - } catch (IOException e1) { - e1.printStackTrace(); - } - return null; - } - - public static void errorMessagePopupHandle(@SuppressWarnings("rawtypes") Supplier func) throws Exception { - try { - WebElement errorMessagePopupHeader = getDriver().findElement(By.className("w-sdc-modal-head-text")); - if (errorMessagePopupHeader.getText().equals("Error")) { - WebElement okButton = getWebButton("OK"); - if (okButton.isDisplayed()) { - okButton.click(); - func.get(); - } - } - } catch (Exception e) { - throw new Exception("something went wrong, can't do anything"); - } - } - - public static void waitForLoader() { - waitForElements(By.className("tlv-loader"), 200, 3 * 60 * 1000); - } - - public static void waitForLoaderOnboarding() { - waitForElements(By.className("tlv-loader"), 200, 13 * 60 * 1000); - } - - public static List<WebElement> waitForElements(By by, int napPeriod, int maxWaitMS) { - boolean isKeepWaiting = true; - int currentWaitTimeMS = 0; - List<WebElement> elements = null; - while (isKeepWaiting) { - elements = getDriver().findElements(by); - isKeepWaiting = elements.size() > 0; - if (isKeepWaiting) { - sleep(napPeriod); - currentWaitTimeMS += napPeriod; - if (currentWaitTimeMS > maxWaitMS) { - isKeepWaiting = false; - } - } - } - - return elements; - - } - - public static WebDriver getDriver() { - return driver; - } - - public static WebElement rihtPanelAPI() { - return getWebElementWaitForVisible("tab-api"); - } - - public static void scrollDown() throws AWTException { - Robot robot = new Robot(); - robot.keyPress(KeyEvent.VK_DOWN); - robot.keyRelease(KeyEvent.VK_DOWN); - } - - // solution for "element not attached to the DOM anymore" - public static List<WebElement> getWorkspaceElements() throws InterruptedException { - Thread.sleep(1000); - List<WebElement> assets = GeneralUIUtils.getEelementsByClassName("w-sdc-dashboard-card-body"); - return assets; - } - - public static String getMethodName(Method method) { - return method.getName(); - } - - public static FileWriter InitializeprintToTxt(String testName) { - String idForTxtFile = new SimpleDateFormat("dd.MM.yyyy_HH.mm.ss").format(new Date()); - File file = new File(testName + idForTxtFile); - FileWriter fw = null; - try { - fw = new FileWriter(file, true); - - } catch (IOException e) { - e.printStackTrace(); - System.out.println(e.getLocalizedMessage()); - } - return fw; - } - - public static void closeFileWriter(FileWriter file) throws IOException { - file.flush(); - file.close(); - } - - public static WebElement createAndImportButtons(CreateAndImportButtonsEnum type, WebDriver driver) - throws InterruptedException { - switch (type) { - case IMPORT_CP: - case IMPORT_VFC: - case IMPORT_VL: - hoverOnArea("importButtonsArea"); - return GeneralUIUtils.getWebElementWaitForVisible("importVFCbutton"); - - case IMPORT_VF: - hoverOnArea("importButtonsArea"); - return GeneralUIUtils.getWebElement(driver, "importVFbutton"); - case CREATE_SERVICE: - hoverOnArea("AddButtonsArea", driver); - GeneralUIUtils.getWebElementWaitForVisible("createServiceButton").click(); - ; - break; - - case CREATE_PRODUCT: - GeneralUIUtils.getWebElement(driver, "createServiceButton").click(); - GeneralUIUtils.getWebElementWaitForVisible("createServiceButton").click(); - break; - - default: - hoverOnArea("AddButtonsArea"); - driver.findElement(By.xpath("//*[@data-tests-id='createResourceButton']")).click(); - break; - } - return null; - - } - - public static String checkBoxLifeCyclestate(CheckBoxStatusEnum lifeCycle) { - String Status = "IN DESIGN CHECK OUT"; - switch (lifeCycle) { - case CHECKIN: - Status = "IN DESIGN CHECK IN"; - if (GeneralUIUtils.getWebElementWaitForVisible(lifeCycle.getValue()).isDisplayed()) { - GeneralUIUtils.getWebElementWaitForVisible(lifeCycle.getValue()).click(); - } - break; - case CHECKOUT: - GeneralUIUtils.getWebElementWaitForVisible(lifeCycle.getValue()).click(); - Status = "IN DESIGN CHECK OUT"; - break; - case IN_TESTING: - GeneralUIUtils.getWebElementWaitForVisible(lifeCycle.getValue()).click(); - Status = "IN TESTING"; - break; - case READY_FOR_TESTING: - GeneralUIUtils.getWebElementWaitForVisible(lifeCycle.getValue()).click(); - Status = "READY FOR TESTING"; - break; - case CERTIFIED: - GeneralUIUtils.getWebElementWaitForVisible(lifeCycle.getValue()).click(); - Status = "CERTIFIED"; - break; - } - return Status; - } - - public static String setFileTypeAndGetUniqId(ResourceTypeEnum fileType, ResourceReqDetails resourceDetails, - User user) throws IOException, Exception { - resourceDetails.setResourceType(fileType.toString()); - RestCDUtils.getResource(resourceDetails, user); - return resourceDetails.getUniqueId(); - } - - public static void minimizeCatalogFilterByTitle(CatalogFilterTitlesEnum titlesEnum) { - - switch (titlesEnum) { - case CATEGORIES: - GeneralUIUtils.getWebElementWaitForVisible(titlesEnum.getValue()).click(); - break; - case STATUS: - GeneralUIUtils.getWebElementWaitForVisible(titlesEnum.getValue()).click(); - break; - case TYPE: - GeneralUIUtils.getWebElementWaitForVisible(titlesEnum.getValue()).click(); - break; - default: - break; - } - // webElementWaitForVisible.get(0).click(); - // } - } - - public static WebElement getWebElementWaitForVisible(String dataTestId) { - // try{ - return waitFordataTestIdVisibility(dataTestId); - // } - // catch(Exception e){ - // try{ - // WebElement errorMessagePopupHeader = - // GeneralUIUtils.getDriver().findElement(By.className("w-sdc-modal-head-text")); - // if (errorMessagePopupHeader.getText().equals("Error")){ - // WebElement okButton = GeneralUIUtils.getWebButton("OK"); - // if (okButton.isDisplayed()){ - //// takeScreenshot(LocalDateTime.now().toString().replaceAll(":", ""), - // SetupCDTest.SCREENSHOT_LOG_DIR); - // okButton.click(); - // return getWebElementWaitForVisible(dataTestId); - // } - // } - // } - // catch(Exception exception){ - // System.out.println(String.format("didn't find element with - // data-tests-id of %s", dataTestId)); - // } - // } - // return null; - - } - - public static WebElement getWebElementById(String id) { - WebDriverWait wait = new WebDriverWait(driver, 5); - return wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='" + id + "']"))); - } - - public static WebElement getWebElementByName(String name) { - return driver.findElement(By.name(name)); - } - - // New tedy , this function will get the web elements by The new attribute - // value(data-tests-id) - public static List<WebElement> getWebElements(String dataTestId) { - return waitForElementsListVisibility(dataTestId); - } - - // New tedy , this function will get the web element Button by The new - // attribute value(data-tests-id) - public static WebElement getWebButton(String dataTestId) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait - .until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@data-tests-id='" + dataTestId + "']"))); - } - - // New tedy , this function will wait till the web element be - // visible(data-tests-id) - public static Boolean waitForInvisibileElement(String dataTestId) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until( - ExpectedConditions.invisibilityOfElementLocated(By.xpath("//*[@data-tests-id='" + dataTestId + "']"))); - } - - public static WebElement waitFordataTestIdVisibility(String dataTestId) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until( - ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@data-tests-id='" + dataTestId + "']"))); - } - - public static boolean clickcheckbox(String category) { - try { - - } catch (Exception e) { - return false; - } - return true; - } - - public static WebElement waitForContainsdataTestIdVisibility2(String dataTestId) { - WebDriverWait wait = new WebDriverWait(driver, 5); - return wait.until(ExpectedConditions - .visibilityOfElementLocated(By.xpath("//*[contains (@data-tests-id, '" + dataTestId + "'])"))); - } - - public static List<WebElement> waitForContainsdataTestIdVisibility(String dataTestId) { - WebDriverWait wait = new WebDriverWait(driver, 5); - return wait.until(ExpectedConditions - .visibilityOfAllElementsLocatedBy(By.xpath("//*[contains (@data-tests-id, '" + dataTestId + "'])"))); - } - - public static WebElement waitForClassNameVisibility(String className) { - return waitForElementVisibility(By.className(className)); - } - - public static WebElement waitForElementVisibility(By by) { - return waitForElementVisibility(by, 3 * 60); - } - - public static WebElement waitForElementVisibility(By by, int duration) { - WebDriverWait wait = new WebDriverWait(driver, duration); - return wait.until(ExpectedConditions.visibilityOf(driver.findElement(by))); - } - - public static List<WebElement> waitForElementsListVisibility(By by) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until(ExpectedConditions.visibilityOfAllElements(driver.findElements(by))); - } - - public static boolean waitForElementsListInvisibility(By by) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until(ExpectedConditions.invisibilityOfElementLocated(by)); - } - - // New tedy , this function will wait till the web elements be - // visible(data-tests-id) - public static List<WebElement> waitForElementsListVisibility(String dataTestId) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - List<WebElement> findElements = wait.until(ExpectedConditions - .visibilityOfAllElementsLocatedBy(By.xpath("//*[@data-tests-id='" + dataTestId + "']"))); - if (findElements.size() > 0) { - return findElements; - } - System.out.println("Elements not Exist!"); - return null; - } - - public static List<WebElement> waitForElementsListVisibilityTestMethod(String dataTestId) { - return driver.findElements(By.xpath("//*[@data-tests-id='" + dataTestId + "']")); - } - - public static WebElement waitForBrowseButton(String dataTestId) { - - return driver.findElement(By.xpath("//*[@data-tests-id='" + dataTestId + "']")); - } - - public static List<WebElement> getWebElementsListByDataTestId(String dataTestId) { - return driver.findElements(By.xpath("//*[@data-tests-id='" + dataTestId + "']")); - - } - - public static WebElement getWebElementByDataTestId(String dataTestId) { - return driver.findElement(By.xpath("//*[@data-tests-id='" + dataTestId + "']")); - } - - public static WebElement waitUntilClickableButton(String dataTestId) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until(ExpectedConditions - .elementToBeClickable(driver.findElement(By.xpath("//*[@data-tests-id='" + dataTestId + "']")))); - } - - // interface Throws { - // <T,R, E extends Exception> R apply(T t) throws E; - // } - // public static <R> R swallowException(Throws<T,R,E> supplier){ - // R returnValue; - // try{ - // returnValue = supplier.get(); - // } - // catch(Exception e){ - // returnValue = null; - // } - // return returnValue; - // } - // Use this method only for special cases, otherwise use - // org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils.getWebElementWaitForVisible(WebDriver, - // String) - - public static boolean isElementPresent(String dataTestId) { - try { - driver.findElement(By.xpath("//*[@data-tests-id='" + dataTestId + "']")); - return true; - } catch (org.openqa.selenium.NoSuchElementException e) { - return false; - } - } - - public static <R> R retryMethodOnException(Supplier<R> supplier) { - boolean stopSearch = false; - R ret = null; - Exception throwMe = null; - int timeElapsed = 0; - while (!stopSearch) { - try { - ret = supplier.get(); - } catch (Exception e) { - throwMe = e; - GeneralUIUtils.sleep(250); - timeElapsed += 250; - if (timeElapsed > 5000) { - stopSearch = true; - } - - } finally { - if (ret != null) { - stopSearch = true; - } - } - } - if (ret == null) { - throw new RuntimeException(throwMe); - } else { - return ret; - } - - } - - // this method will login as tester and start test or accept Assets. - public static void testerUser(Boolean startTest, Boolean accept, ResourceReqDetails resource) throws Exception { - // GeneralUIUtils.getWebElement(ResourceUIUtils.getName()).click(); - String url = "http://localhost:8181/sdc1/proxy-tester1#/dashboard"; - sleep(2000); - SetupCDTest.navigateToUrl(url); - GeneralUIUtils.getWebElementWaitForVisible(resource.getName()).click(); - - if (startTest) { - clickStartTesting(); - } - - if (accept) { - clickAccept(); - } - } - - public static void governorUser(Boolean reject, Boolean approve, ResourceReqDetails resource) throws Exception { - // GeneralUIUtils.getWebElement(ResourceUIUtils.getName()).click(); - String url = "http://localhost:8181/sdc1/proxy-governor1#/dashboard"; - sleep(2000); - SetupCDTest.navigateToUrl(url); - GeneralUIUtils.getWebElementWaitForVisible("w-sdc-dashboard-card-info"); - GeneralUIUtils.getWebElementWaitForVisible(resource.getName()).click(); - if (reject) { - clickReject(); - } - if (approve) { - clickApprove(); - } - sleep(1000); - } - - public static void opsUser(Boolean disribute, Boolean reDisribute, ResourceReqDetails resource) throws Exception { - // GeneralUIUtils.getWebElement(ResourceUIUtils.getName()).click(); - String url = "http://localhost:8181/sdc1/proxy-ops1#/dashboard"; - sleep(2000); - SetupCDTest.navigateToUrl(url); - sleep(2000); - GeneralUIUtils.getWebElementWaitForVisible("w-sdc-dashboard-card-info"); - GeneralUIUtils.getWebElementWaitForVisible(resource.getName()).click(); - if (reDisribute) { - clickReDistribute(); - } - if (disribute) { - clickDistribute(); - } - sleep(1000); - } - - // this function located select list by the data-test-id value and the item - // to be selected.. - public static Select getSelectList(String item, String datatestsid) { - Select selectlist = new Select(waitFordataTestIdVisibility(datatestsid)); - if (item != null) { - selectlist.selectByVisibleText(item); - } - return selectlist; - } - - // Define description area . - public static String defineDescription(String descriptionText) { - - WebElement resourceDescriptionTextbox = GeneralUIUtils.getWebElementWaitForVisible("description"); - resourceDescriptionTextbox.clear(); - resourceDescriptionTextbox.sendKeys(descriptionText); - return descriptionText; - } - - public static WebElement catalogSearchBox(String searchText) { - WebElement searchBox = GeneralUIUtils.getWebElementWaitForVisible("main-menu-input-search"); - searchBox.clear(); - searchBox.sendKeys(searchText); - return searchBox; - } - - // enum - public static void selectMenuOptionbyname(List<WebElement> options, MenuOptionsEnum optionName) - throws InterruptedException { - - for (WebElement webElement : options) { - if (webElement.getText().equals(optionName.getValue())) { - actionBuild(webElement).click(); - } else { - System.out.println("No such element!"); - } - } - - } - - // back to workspace by Clicking the ASDC Logo.! - public static void clickASDCLogo() { - WebDriverWait wait = new WebDriverWait(driver, 15); - wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("ASDC"))); - WebElement ClickASDCLogo = driver.findElement(By.linkText("ASDC")); - ClickASDCLogo.click(); - GeneralUIUtils.waitForLoader(); - } - - public static void clickExitSign() throws InterruptedException { - WebElement exitSign = driver.findElement(By.xpath("//*[contains(@class, 'x-btn')]")); - actionBuild(exitSign); - Thread.sleep(1000); - driver.findElement(By.xpath("//*[contains(@class, 'x-btn')]")).click(); - } - - public static void clickCreateButton() throws Exception { - getWebButton("create/save").click(); - GeneralUIUtils.waitForLoader(); - getWebElementWaitForVisible(DataTestIdEnum.LifeCyleChangeButtons.CHECK_IN.getValue()); - } - - public static void clickUpdateButton() throws Exception { - GeneralUIUtils.sleep(500); - clickCreateButton(); - } - - public static void checkOut() throws InterruptedException, AWTException { - actionBuild(getWebButton("check_out")); - getWebButton("check_out").click(); - waitForInvisibileElement("check_out"); - } - - public static void clickStartTesting() throws InterruptedException { - actionBuild(getWebButton("start_testing")); - getWebButton("start_testing").click(); - waitForInvisibileElement("start_testing"); - getWebButton("create/save").click(); - } - - public static void clickAccept() throws InterruptedException { - actionBuild(getWebButton("accept")); - getWebButton("accept").click(); - getWebElementWaitForVisible("checkindialog").sendKeys("Accept!"); - clickOkButton(); - sleep(1000); - } - - public static void clickReject() throws InterruptedException { - actionBuild(getWebButton("reject")); - getWebButton("reject").click(); - waitForInvisibileElement("reject"); - } - - public static void clickApprove() throws InterruptedException { - actionBuild(getWebButton("approve")); - getWebButton("approve").click(); - waitForInvisibileElement("approve"); - } - - public static void clickDistribute() throws InterruptedException { - actionBuild(getWebButton("distribute")); - getWebButton("distribute").click(); - waitForInvisibileElement("redistribute"); - } - - public static void clickReDistribute() throws InterruptedException { - actionBuild(getWebButton("redistribute")); - getWebButton("redistribute").click(); - } - - public static void clickCancel() { - getWebButton("cancel").click(); - waitForInvisibileElement("cancel"); - } - - public static void checkIn() throws InterruptedException { - actionBuild(getWebButton("check_in")); - getWebButton("check_in").click(); - getWebElementWaitForVisible("checkindialog").sendKeys("Check in!"); - clickOkButton(); - waitForInvisibileElement("checkindialog"); - } - - public static void clickSaveIcon() throws InterruptedException { - actionBuild(GeneralUIUtils.waitFordataTestIdVisibility("create/save")); - GeneralUIUtils.getWebButton(/* "delete_version" */"create/save").click(); - Thread.sleep(1000); - - } - - // Open menu of Created Object and select option. - public static void openObjectMenuAndSelectOption(String uniqid, MenuOptionsEnum optionName) - throws InterruptedException, AWTException { - WebElement hoverOnMenu = actionBuild(getWebElementWaitForVisible(uniqid)); - List<WebElement> menuOptions = hoverOnMenu.findElement(By.xpath("./following-sibling::*[1]")) - .findElements(By.xpath(".//*")); - selectMenuOptionbyname(menuOptions, optionName); - } - - // Get elements by className. - public static WebElement getEelementByClassName(String element) { - try { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@class='" + element + "']"))); - } catch (Exception e) { - return null; - } - } - - public static List<WebElement> getEelementsByClassName(String element) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait - .until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//*[@class='" + element + "']"))); - } - - public static WebElement getEelementByContainsdatatestsid(String datatestId) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until(ExpectedConditions - .visibilityOfElementLocated(By.xpath("//*[contains(@data-tests-id, '" + datatestId + "')]"))); - } - - // list - public static List<WebElement> getEelementsByContainsDataTestsId(String datatestId) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until(ExpectedConditions - .visibilityOfAllElementsLocatedBy(By.xpath("//*[contains(@data-tests-id, '" + datatestId + "')]"))); - } - - public static WebElement getEelementBycontainsClassName(String classname) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until( - ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[contains(@class, '" + classname + "')]"))); - } - - public static WebElement getEelementByLinkText(String linkText) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@text='" + linkText + "']"))); - } - - public static List<WebElement> getEelementsBycontainsClassName(String classname) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until(ExpectedConditions - .visibilityOfAllElementsLocatedBy(By.xpath("//*[contains(@class, '" + classname + "')]"))); - } - - public static WebElement getButtonByClassName(String element) { - WebDriverWait wait = new WebDriverWait(driver, 3 * 60); - return wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class='" + element + "']"))); - } - - public static void checkinCheckout(String elementName) throws Exception, Exception { - checkIn(); - getWebElementWaitForVisible(elementName).click(); - ; - checkOut(); - - } - - public static void moveToStep(DataTestIdEnum.StepsEnum Stepname) { - moveToStep(Stepname.getValue()); - } - - public static void moveToStep(String dataTestId) { - getWebButton(dataTestId).click(); - waitForLoader(); - } - - public static void editFile(String name) { - WebElement editfilebutton = driver.findElement(By.id("edit" + name + "")); - editfilebutton.click(); - } - - public static void deleteFile(String name) { - WebElement deletebutton = driver.findElement(By.id("delete" + name + "")); - deletebutton.click(); - } - - public static void downloadFile(String name) { - WebElement downloadbutton = driver.findElement(By.id("download" + name + "")); - downloadbutton.click(); - } - - public static void sleep(int duration) { - try { - Thread.sleep(duration); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - } - - public static void hasDriver() { - try { - driver.getCurrentUrl(); - driver.quit(); - } catch (NullPointerException e) { - } - } - - public static void initDriver() { - try { - boolean remoteTesting = SetupCDTest.config.isRemoteTesting(); - if (!remoteTesting) { - System.out.println("opening LOCAL browser"); - driver = new FirefoxDriver(); - - } else { - System.out.println("opening REMOTE browser"); - String remoteEnvIP = SetupCDTest.config.getRemoteTestingMachineIP(); - String remoteEnvPort = SetupCDTest.config.getRemoteTestingMachinePort(); - DesiredCapabilities cap = new DesiredCapabilities(); - cap = DesiredCapabilities.firefox(); - cap.setPlatform(Platform.WINDOWS); - cap.setBrowserName("firefox"); - - String remoteNodeUrl = String.format(SetupCDTest.SELENIUM_NODE_URL, remoteEnvIP, remoteEnvPort); - driver = new RemoteWebDriver(new URL(remoteNodeUrl), cap); - } - - - } catch (MalformedURLException e) { - throw new RuntimeException(e); - } - - } - - public static void windowZoomOut() { - final int zoomOutFactor = 2; - for (int i = 0; i < zoomOutFactor; i++) { - driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL, Keys.SUBTRACT)); - } - } - - public static void defineTagsList(ResourceReqDetails resource, String[] resourceTags) { - List<String> taglist = new ArrayList<String>(); - ; - WebElement resourceTagsTextbox = getWebElementWaitForVisible("i-sdc-tag-input"); - for (String tag : resourceTags) { - resourceTagsTextbox.clear(); - resourceTagsTextbox.sendKeys(tag); - resourceTagsTextbox.sendKeys(Keys.ENTER); - taglist.add(tag); - // waitForElements(By.className("sdc-loader"), 250, 15000); - } - } - - // public static List<WebElement> waitForElements(By by, int napPeriod, int - // maxWaitMS){ - // List<WebElement> elements = null; - // - // elements = getDriver().findElements(by); - // if( currentWaitTimeMS > maxWaitMS){ - // } - // resource.setTags(taglist); - // return elements; - // } - public static void selectTabInRightPallete(String className) throws Exception { - WebElement tab = getEelementBycontainsClassName(className); - tab.click(); - } - - public static WebElement getWebElement(WebDriver driver, String dataTestId) { - return waitForElementVisibility(dataTestId); - } - - public static void clickOkButton() throws InterruptedException { - // actionBuild(getWebButton("OK")); - // sleep(2000); - getWebButton("OK").click(); - } - - public static WebElement waitForElementVisibility(String dataTestId) { - WebDriverWait wait = new WebDriverWait(GeneralUIUtils.getDriver(), 30); - return wait.until( - ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@data-tests-id='" + dataTestId + "']"))); - } - - public static WebElement deleteVersion() { - return GeneralUIUtils.waitFordataTestIdVisibility("delete_version"); - } - - // public static List<WebElement> getFilterTitles() throws Exception { - // - // return - // GeneralUIUtils.getEelementsByClassName("i-sdc-designer-leftbar-section-title-text"); - // - // } - - public static void deleteVersionInUI() throws Exception { - - actionBuild(deleteVersion()); - deleteVersion().click(); - GeneralUIUtils.clickOkButton(); - } - - public static void uploadFileWithJavaRobot(String FilePath, String FileName) throws Exception { - StringSelection sel = new StringSelection(FilePath + FileName); - Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sel, null); - Thread.sleep(1000); - Robot robot = new Robot(); - robot.delay(1000); - - // Release Enter - robot.keyRelease(KeyEvent.VK_ENTER); - - // Press CTRL+V - robot.keyPress(KeyEvent.VK_CONTROL); - robot.keyPress(KeyEvent.VK_V); - - // Release CTRL+V - robot.keyRelease(KeyEvent.VK_CONTROL); - robot.keyRelease(KeyEvent.VK_V); - Thread.sleep(1000); - - // Press Enter - robot.keyPress(KeyEvent.VK_ENTER); - robot.keyRelease(KeyEvent.VK_ENTER); - Thread.sleep(3000); - } - - public static String catalogFilterTypeChecBox(TypesEnum enumtype) throws Exception { - String Type = enumtype.toString().toLowerCase(); - getWebElementWaitForVisible(enumtype.getValue()).click(); - return Type; - } - - public static List<String> catalogFilterStatusChecBox(CheckBoxStatusEnum statusEnum) throws Exception { - List<String> status = null; - switch (statusEnum) { - case IN_DESIGN: - status = Arrays.asList("NOT_CERTIFIED_CHECKIN", "NOT_CERTIFIED_CHECKOUT"); - getWebElementWaitForVisible(statusEnum.getCatalogValue()).click(); - break; - case READY_FOR_TESTING: - status = Arrays.asList("READY_FOR_CERTIFICATION"); - getWebElementWaitForVisible(statusEnum.getCatalogValue()).click(); - break; - case IN_TESTING: - status = Arrays.asList("CERTIFICATION_IN_PROGRESS"); - getWebElementWaitForVisible(statusEnum.getCatalogValue()).click(); - break; - case CERTIFIED: - status = Arrays.asList("CERTIFIED"); - getWebElementWaitForVisible(statusEnum.getCatalogValue()).click(); - break; - case DISTRIBUTED: - status = Arrays.asList("CERTIFIED"); - getWebElementWaitForVisible(statusEnum.getCatalogValue()).click(); - break; - } - return status; - } - - public static void clickBreadCrumbs(BreadCrumbsButtonsEnum button) { - switch (button) { - case CATALOG: - GeneralUIUtils.getWebButton(button.getButton()).click(); - break; - case HOME: - GeneralUIUtils.getWebButton(button.getButton()).click(); - break; - case ON_BOARDING: - GeneralUIUtils.getWebButton(button.getButton()).click(); - break; - default: - break; - } - } - - public static void clickPrintScreen() { - getEelementByClassName("e-sdc-small-print-screen").click(); - } - - public static void clickSubmitForTest() throws InterruptedException { - getWebButton("submit_for_testing").click(); - WebElement commentText = getDriver().findElement(By.className("w-sdc-modal-body-email")); - commentText.sendKeys("Submit For Test"); - sleep(3000); - clickOkButton(); - } - - public static WebElement hoverOnArea(String areaId, WebDriver driver) { - Actions actions = new Actions(driver); - WebElement area = getWebElement(driver, areaId); - actions.moveToElement(area).perform(); - return area; - } - - public static WebElement moveToNextStep(DataTestIdEnum.StepsEnum Stepname) { - return getWebButton(Stepname.getValue()); - } - - public static String getComponentVersion(String componentName) { - return GeneralUIUtils.getWebElementWaitForVisible(componentName + "Version").getText(); - } - - public static void clickOnHTMLElementByDataTestId(String dataTestId) throws Exception { - WebDriverWait wait = new WebDriverWait(GeneralUIUtils.getDriver(), 20); - StopWatch performanceMesuring = new StopWatch(); - performanceMesuring.start(); - WebElement element = wait - .until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@data-tests-id='" + dataTestId + "']"))); - performanceMesuring.stop(); - element.click(); - performanceMesuring(dataTestId, performanceMesuring); - - } - - private static void performanceMesuring(String dataTestId, StopWatch performanceMesuring) { - Reporter.log("click on: " + dataTestId); - System.out.println("click on: " + dataTestId); - Reporter.log("Total Load Time Until click on button : " + dataTestId + " " - + (((double) performanceMesuring.getTime()) / 1000) + " seconds"); - System.out.println("Total Load Time Until click on button : " + dataTestId + " " - + (((double) performanceMesuring.getTime()) / 1000) + " seconds"); - performanceMesuring.reset(); - performanceMesuring.start(); - Boolean waitForElementInVisibilityByClassName = GeneralUIUtils.waitForElementInVisibilityByClassName(driver, - "tlv-loader"); - performanceMesuring.stop(); - Reporter.log("Total time before loader disappear: " + (((double) performanceMesuring.getTime()) / 1000) - + " seconds"); - System.out.println("Total time before loader disappear: " + (((double) performanceMesuring.getTime()) / 1000) - + " seconds"); - } - - public static Boolean waitForElementInVisibilityByClassName(WebDriver driver, String className) { - WebDriverWait wait = new WebDriverWait(driver, 30); - return wait.until(ExpectedConditions.invisibilityOfElementLocated(By.className(className))); - } - - public static void findComponentAndClick(ResourceReqDetails resource) throws Exception { - - WebElement searchTextbox = GeneralUIUtils.getWebElementWaitForVisible("main-menu-input-search"); - searchTextbox.clear(); - searchTextbox.sendKeys(resource.getName()); - clickOnHTMLElementByDataTestId(resource.getName()); - } - - public static void clickOnHTMLElementBylinkText(String linkText) throws Exception { - WebDriverWait wait = new WebDriverWait(GeneralUIUtils.getDriver(), 20); - StopWatch performanceMesuring = new StopWatch(); - performanceMesuring.start(); - WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.linkText(linkText))); - performanceMesuring.stop(); - element.click(); - performanceMesuring(linkText, performanceMesuring); - } - - public static void ultimateWait(){ - long startTime = System.nanoTime(); - - GeneralUIUtils.waitForLoader(); - GeneralUIUtils.waitForAngular(); - - long estimateTime = System.nanoTime(); - long duration = TimeUnit.NANOSECONDS.toSeconds(estimateTime - startTime); - if(duration > timeOut){ - SetupCDTest.getExtendTest().log(LogStatus.WARNING, String.format("Delays on page, %d seconds", duration)); - } - } - - public static void waitForAngular(){ - WebDriverWait wait = new WebDriverWait(getDriver(), 90, 100); - wait.until(AdditionalConditions.pageLoadWait()); - wait.until(AdditionalConditions.angularHasFinishedProcessing()); - } - -} |