Advertisement
Guest User

Untitled

a guest
Feb 4th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.25 KB | None | 0 0
  1. package ui.pages;
  2.  
  3. import org.apache.log4j.Logger;
  4. import org.openqa.selenium.*;
  5. import org.openqa.selenium.support.ui.ExpectedConditions;
  6. import org.openqa.selenium.support.ui.WebDriverWait;
  7. import ui.utils.RemoteDriverManager;
  8. import utils.ListenerTest;
  9.  
  10. public class BasePage {
  11.  
  12.     final static Logger logger = Logger.getLogger(BasePage.class); // initialization of logger
  13.  
  14.     // protected String baseURL = "http://soft.it-hillel.com.ua:8080";
  15.     protected String baseURL = "http://jira.hillel.it:8080";
  16.     protected WebDriver driver;
  17.     private int defaultExplicitWaitInSeconds = 10;
  18.     public static int defaultImplicitWaitInSeconds = 10;
  19.     protected String username = ListenerTest.properties.get("username");
  20.     protected String password = ListenerTest.properties.get("password");
  21.  
  22.     protected BasePage() {
  23.         this.driver = RemoteDriverManager.getDriver();
  24.     }
  25.  
  26.     protected void waitToBePresent(By locator) {
  27.         logger.info("WAIT ELEMENT TO BE PRESENT: " + locator);
  28.         (new WebDriverWait(driver, defaultExplicitWaitInSeconds))
  29.                 .until(ExpectedConditions.presenceOfElementLocated(locator));
  30.     }
  31.  
  32.     protected boolean waitToBeMissing(By locator) {
  33.         logger.info("WAIT ELEMENT TO BE MISSING: " + locator);
  34.         (new WebDriverWait(driver, defaultExplicitWaitInSeconds))
  35.                 .until(ExpectedConditions.invisibilityOfElementLocated(locator));
  36.  
  37.         return true;
  38.     }
  39.  
  40.     /**
  41.      * @param locator
  42.      * @param timeOutInSeconds
  43.      */
  44.     protected void waitToBePresentIn(By locator, int timeOutInSeconds) {
  45.         logger.info("WAIT ELEMENT TO BE PRESENT: " + locator + " in " + timeOutInSeconds + " seconds");
  46.         (new WebDriverWait(driver, timeOutInSeconds))
  47.                 .until(ExpectedConditions.presenceOfElementLocated(locator));
  48.     }
  49.  
  50.     /**
  51.      * @param locator
  52.      */
  53.  
  54.     protected void waitToBePresentAndClick(By locator) {
  55.         logger.info("WAIT ELEMENT TO BE PRESENT AND CLICK: " + locator);
  56.         WebElement element = null;
  57.  
  58.         try {
  59.             element = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  60.                     until(ExpectedConditions.presenceOfElementLocated(locator));
  61.             element.click();
  62.         } catch (StaleElementReferenceException ignored) {
  63.             element = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  64.                     until(ExpectedConditions.presenceOfElementLocated(locator));
  65.             element.click();
  66.         }
  67.  
  68.     }
  69.  
  70.     protected void waitToBePresentAndSendKeys(By locator, String keys) {
  71.         logger.info("WAIT ELEMENT TO BE PRESENT AND SEND KEYS: SEND " + keys + " TO "+ locator);
  72.  
  73.         WebElement element = null;
  74.  
  75.         try {
  76.             element = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  77.                     until(ExpectedConditions.presenceOfElementLocated(locator));
  78.             element.sendKeys(keys);
  79.         } catch (StaleElementReferenceException ignored) {
  80.             element = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  81.                     until(ExpectedConditions.presenceOfElementLocated(locator));
  82.             element.sendKeys(keys);
  83.         }
  84.  
  85.     }
  86.  
  87.     protected void waitTillBeAbleToClick(By locator) {
  88.         logger.info("WAIT ELEMENT TO BE CLICKABLE: " + locator);
  89.  
  90.         WebElement element = null;
  91.  
  92.         try {
  93.             element = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  94.                     until(ExpectedConditions.elementToBeClickable(locator));
  95.             element.click();
  96.         } catch (StaleElementReferenceException ignored) {
  97.             element = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  98.                     until(ExpectedConditions.elementToBeClickable(locator));
  99.             element.click();
  100.         }
  101.  
  102.     }
  103.  
  104.     protected void waitToBePresentAndSendSubmit(By locator) {
  105.         logger.info("WAIT ELEMENT TO BE PRESENT AND SUBMIT: " + locator);
  106.         WebElement element = null;
  107.  
  108.         try {
  109.             element = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  110.                     until(ExpectedConditions.presenceOfElementLocated(locator));
  111.             element.submit();
  112.         } catch (StaleElementReferenceException ignored) {
  113.             element = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  114.                     until(ExpectedConditions.presenceOfElementLocated(locator));
  115.             element.submit();
  116.         }
  117.  
  118.     }
  119.  
  120.     protected boolean waitToBePresentAndContainsText(By locator, String text) {
  121.         logger.info("WAIT ELEMENT TO BE PRESENT AND CONTAINS TEXT: " + locator);
  122.         WebElement element = null;
  123.  
  124.         try {
  125.             element = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  126.                     until(ExpectedConditions.presenceOfElementLocated(locator));
  127.  
  128.             String result = element.getText();
  129.  
  130.             // TODO doe we really need to check text if we alredy found element using xpath and contains?
  131.  
  132.             if (result.contains(text)) {
  133.                 return true;
  134.             } else {
  135.                 logger.info("!---FAILED---! THE ELEMENT DOESN'T CONTAIN TEXT: " + locator);
  136.                 return false;
  137.             }
  138.  
  139.         } catch (StaleElementReferenceException ignored) {
  140.             element = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  141.                     until(ExpectedConditions.presenceOfElementLocated(locator));
  142.             String result = element.getText();
  143.  
  144.             if (result.contains(text)) {
  145.                 return true;
  146.             } else {
  147.                 logger.info("!---FAILED---! THE ELEMENT DOESN'T CONTAIN TEXT: " + locator);
  148.                 return false;
  149.             }
  150.         }
  151.  
  152.     }
  153.  
  154.  
  155.     protected void scrollDown() {
  156.  
  157.     }
  158.  
  159.     protected void scrollUp() {
  160.  
  161.     }
  162.  
  163.     protected void scrollUpOn(int x) {
  164.         logger.info("SCROLL UP ON: " + x + " pixels");
  165.         ((JavascriptExecutor) driver).executeScript("window.scrollBy(0,-" + x + ")", "");
  166.     }
  167.  
  168.     protected void scrollDownOn(int x) {
  169.         ((JavascriptExecutor) driver).executeScript("window.scrollBy(0," + x + ")", "");
  170.     }
  171.  
  172. //    protected WebElement findElement(By locator) {
  173. //        return driver.findElement(locator);
  174. //    }
  175.  
  176.  
  177.     protected boolean isOnThePage(String expectedURL) {
  178. // added timer to wait for page loading.
  179.         boolean result;
  180.         result = (new WebDriverWait(driver, defaultExplicitWaitInSeconds)).
  181.                     until(ExpectedConditions.urlToBe(expectedURL));
  182.  
  183.         // -- old realization
  184. //        String currentURL = driver.getCurrentUrl();
  185. //        boolean result = expectedURL.equals(currentURL);
  186.         if (result == true) {
  187.             logger.info("IS ON THE PAGE: " + expectedURL);
  188.         } else {
  189.             logger.info("YOU ARE NOT ON THE PAGE: " + expectedURL);
  190.             logger.info("YOU ARE ON THE PAGE: " + driver.getCurrentUrl());
  191.         }
  192.         return result;
  193.  
  194.     }
  195.     protected void SelectDropDownItem(By dropDownSelector, By itemSelector){
  196.         waitToBePresentAndClick(dropDownSelector);
  197.         waitToBePresentAndClick(itemSelector);
  198.     }
  199.  
  200.     protected void openExistingIssue(String url){
  201.         driver.get(url);
  202.     }
  203.  
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement