Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
dev.galasa.selenium.internal.WebPageImpl Maven / Gradle / Ivy
/*
* Licensed Materials - Property of IBM
*
* (c) Copyright IBM Corp. 2020.
*/
package dev.galasa.selenium.internal;
import java.util.List;
import java.util.Set;
import com.google.common.base.Function;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriver.Navigation;
import org.openqa.selenium.WebDriver.Options;
import org.openqa.selenium.WebDriver.TargetLocator;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import dev.galasa.selenium.IWebPage;
public class WebPageImpl implements IWebPage {
private WebDriver driver;
private List webPages;
public static final int DEFAULT_SECONDS_TIMEOUT = 30;
public WebPageImpl(WebDriver driver, List webPages) {
this.driver = driver;
this.webPages = webPages;
}
@Override
public void close() {
driver.close();
}
@Override
public IWebPage clearElementByClassName(String className) {
return clearElement(By.className(className), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clearElementByClassName(String className, int secondsTimeout) {
return clearElement(By.className(className), secondsTimeout);
}
@Override
public IWebPage clearElementByCssSelector(String selector) {
return clearElement(By.cssSelector(selector), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clearElementByCssSelector(String selector, int secondsTimeout) {
return clearElement(By.cssSelector(selector), secondsTimeout);
}
@Override
public IWebPage clearElementById(String id) {
return clearElement(By.id(id), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clearElementById(String id, int secondsTimeout) {
return clearElement(By.id(id), secondsTimeout);
}
@Override
public IWebPage clearElementByLinkText(String linkText) {
return clearElement(By.linkText(linkText), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clearElementByLinkText(String linkText, int secondsTimeout) {
return clearElement(By.linkText(linkText), secondsTimeout);
}
@Override
public IWebPage clearElementByName(String name) {
return clearElement(By.name(name), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clearElementByName(String name, int secondsTimeout) {
return clearElement(By.name(name), secondsTimeout);
}
@Override
public IWebPage clearElementByPartialLinkText(String linkText) {
return clearElement(By.partialLinkText(linkText), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clearElementByPartialLinkText(String linkText, int secondsTimeout) {
return clearElement(By.partialLinkText(linkText), secondsTimeout);
}
@Override
public IWebPage clearElementByTagName(String name) {
return clearElement(By.tagName(name), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clearElementByTagName(String name, int secondsTimeout) {
return clearElement(By.tagName(name), secondsTimeout);
}
@Override
public IWebPage clearElementByXpath(String xpathExpression) {
return clearElement(By.xpath(xpathExpression), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clearElementByXpath(String xpathExpression, int secondsTimeout) {
return clearElement(By.xpath(xpathExpression), secondsTimeout);
}
@Override
public IWebPage clearElement(By by) {
return clearElement(by, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clearElement(By by, int secondsTimeout) {
waitForElement(by, secondsTimeout).clear();
return this;
}
@Override
public IWebPage clickElementByClassName(String className) {
return clickElement(By.className(className), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clickElementByClassName(String className, int secondsTimeout) {
return clickElement(By.className(className), secondsTimeout);
}
@Override
public IWebPage clickElementByCssSelector(String selector) {
return clickElement(By.cssSelector(selector), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clickElementByCssSelector(String selector, int secondsTimeout) {
return clickElement(By.cssSelector(selector), secondsTimeout);
}
@Override
public IWebPage clickElementById(String id) {
return clickElement(By.id(id), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clickElementById(String id, int secondsTimeout) {
return clickElement(By.id(id), secondsTimeout);
}
@Override
public IWebPage clickElementByLinkText(String linkText) {
return clickElement(By.linkText(linkText), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clickElementByLinkText(String linkText, int secondsTimeout) {
return clickElement(By.linkText(linkText), secondsTimeout);
}
@Override
public IWebPage clickElementByName(String name) {
return clickElement(By.name(name), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clickElementByName(String name, int secondsTimeout) {
return clickElement(By.name(name), secondsTimeout);
}
@Override
public IWebPage clickElementByPartialLinkText(String linkText) {
return clickElement(By.partialLinkText(linkText), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clickElementByPartialLinkText(String linkText, int secondsTimeout) {
return clickElement(By.partialLinkText(linkText), secondsTimeout);
}
@Override
public IWebPage clickElementByTagName(String name) {
return clickElement(By.tagName(name), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clickElementByTagName(String name, int secondsTimeout) {
return clickElement(By.tagName(name), secondsTimeout);
}
@Override
public IWebPage clickElementByXpath(String xpathExpression) {
return clickElement(By.xpath(xpathExpression), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clickElementByXpath(String xpathExpression, int secondsTimeout) {
return clickElement(By.xpath(xpathExpression), secondsTimeout);
}
@Override
public IWebPage clickElement(By by) {
return clickElement(by, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage clickElement(By by, int secondsTimeout) {
waitForElement(by, secondsTimeout).click();
return this;
}
@Override
public IWebPage sendKeysToElementByClassName(String className, CharSequence keysToSend) {
return sendKeysToElement(By.className(className), keysToSend, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage sendKeysToElementByClassName(String className, CharSequence keysToSend, int secondsTimeout) {
return sendKeysToElement(By.className(className), keysToSend, secondsTimeout);
}
@Override
public IWebPage sendKeysToElementByCssSelector(String selector, CharSequence keysToSend) {
return sendKeysToElement(By.cssSelector(selector), keysToSend, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage sendKeysToElementByCssSelector(String selector, CharSequence keysToSend, int secondsTimeout) {
return sendKeysToElement(By.cssSelector(selector), keysToSend, secondsTimeout);
}
@Override
public IWebPage sendKeysToElementById(String id, CharSequence keysToSend) {
return sendKeysToElement(By.id(id), keysToSend, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage sendKeysToElementById(String id, CharSequence keysToSend, int secondsTimeout) {
return sendKeysToElement(By.id(id), keysToSend, secondsTimeout);
}
@Override
public IWebPage sendKeysToElementByLinkText(String linkText, CharSequence keysToSend) {
return sendKeysToElement(By.linkText(linkText), keysToSend, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage sendKeysToElementByLinkText(String linkText, CharSequence keysToSend, int secondsTimeout) {
return sendKeysToElement(By.linkText(linkText), keysToSend, secondsTimeout);
}
@Override
public IWebPage sendKeysToElementByName(String name, CharSequence keysToSend) {
return sendKeysToElement(By.name(name), keysToSend, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage sendKeysToElementByName(String name, CharSequence keysToSend, int secondsTimeout) {
return sendKeysToElement(By.name(name), keysToSend, secondsTimeout);
}
@Override
public IWebPage sendKeysToElementByPartialLinkText(String linkText, CharSequence keysToSend) {
return sendKeysToElement(By.partialLinkText(linkText), keysToSend, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage sendKeysToElementByPartialLinkText(String linkText, CharSequence keysToSend, int secondsTimeout) {
return sendKeysToElement(By.partialLinkText(linkText), keysToSend, secondsTimeout);
}
@Override
public IWebPage sendKeysToElementByTagName(String name, CharSequence keysToSend) {
return sendKeysToElement(By.tagName(name), keysToSend, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage sendKeysToElementByTagName(String name, CharSequence keysToSend, int secondsTimeout) {
return sendKeysToElement(By.tagName(name), keysToSend, secondsTimeout);
}
@Override
public IWebPage sendKeysToElementByXpath(String xpathExpression, CharSequence keysToSend) {
return sendKeysToElement(By.xpath(xpathExpression), keysToSend, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage sendKeysToElementByXpath(String xpathExpression, CharSequence keysToSend, int secondsTimeout) {
return sendKeysToElement(By.xpath(xpathExpression), keysToSend, secondsTimeout);
}
@Override
public IWebPage sendKeysToElement(By by, CharSequence keysToSend) {
return sendKeysToElement(by, keysToSend, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage sendKeysToElement(By by, CharSequence keysToSend, int secondsTimeout) {
waitForElement(by, secondsTimeout).sendKeys(keysToSend);
return this;
}
@Override
public WebElement findElementByClassName(String className) {
return findElement(By.className(className));
}
@Override
public List findElementsByClassName(String className) {
return findElements(By.className(className));
}
@Override
public WebElement findElementByCssSelector(String selector) {
return findElement(By.cssSelector(selector));
}
@Override
public List findElementsByCssSelector(String selector) {
return findElements(By.cssSelector(selector));
}
@Override
public WebElement findElementById(String id) {
return findElement(By.id(id));
}
@Override
public List findElementsById(String id) {
return findElements(By.id(id));
}
@Override
public WebElement findElementByLinkText(String linkText) {
return findElement(By.linkText(linkText));
}
@Override
public List findElementsByLinkText(String linkText) {
return findElements(By.linkText(linkText));
}
@Override
public WebElement findElementByName(String name) {
return findElement(By.name(name));
}
@Override
public List findElementsByName(String name) {
return findElements(By.name(name));
}
@Override
public WebElement findElementByPartialLinkText(String linkText) {
return findElement(By.partialLinkText(linkText));
}
@Override
public List findElementsByPartialLinkText(String linkText) {
return findElements(By.partialLinkText(linkText));
}
@Override
public WebElement findElementByTagName(String name) {
return findElement(By.tagName(name));
}
@Override
public List findElementsByTagName(String name) {
return findElements(By.tagName(name));
}
@Override
public WebElement findElementByXpath(String xpathExpression) {
return findElement(By.xpath(xpathExpression));
}
@Override
public List findElementsByXpath(String xpathExpression) {
return findElements(By.xpath(xpathExpression));
}
@Override
public WebElement findElement(By by) {
WebDriverWait wait = new WebDriverWait(this.driver, DEFAULT_SECONDS_TIMEOUT);
wait.until(ExpectedConditions.presenceOfElementLocated(by));
return this.driver.findElement(by);
}
@Override
public List findElements(By by) {
WebDriverWait wait = new WebDriverWait(this.driver, DEFAULT_SECONDS_TIMEOUT);
wait.until(ExpectedConditions.presenceOfElementLocated(by));
return this.driver.findElements(by);
}
@Override
public IWebPage get(String url) {
this.driver.get(url);
return this;
}
@Override
public String getCurrentUrl() {
return this.driver.getCurrentUrl();
}
@Override
public String getPageSource() {
return this.driver.getPageSource();
}
@Override
public String getTitle() {
return this.driver.getTitle();
}
@Override
public String getWindowHandle() {
return this.driver.getWindowHandle();
}
@Override
public Set getWindowHandles() {
return this.driver.getWindowHandles();
}
@Override
public Options manage() {
return this.driver.manage();
}
@Override
public Navigation navigate() {
return this.driver.navigate();
}
@Override
public void quit() {
this.webPages.remove(this);
this.driver.quit();
}
public void managerQuit() {
this.driver.quit();
}
@Override
public TargetLocator switchTo() {
return this.driver.switchTo();
}
@Override
public IWebPage switchToFrameByClassName(String className) {
return switchToFrame(By.className(className));
}
@Override
public IWebPage switchToFrameByCssSelector(String selector) {
return switchToFrame(By.cssSelector(selector));
}
@Override
public IWebPage switchToFrameById(String id) {
return switchToFrame(By.id(id));
}
@Override
public IWebPage switchToFrameByLinkText(String linkText) {
return switchToFrame(By.linkText(linkText));
}
@Override
public IWebPage switchToFrameByName(String name) {
return switchToFrame(By.name(name));
}
@Override
public IWebPage switchToFrameByPartialLinkText(String linkText) {
return switchToFrame(By.partialLinkText(linkText));
}
@Override
public IWebPage switchToFrameByTagName(String name) {
return switchToFrame(By.tagName(name));
}
@Override
public IWebPage switchToFrameByXpath(String xpathExpression) {
return switchToFrame(By.xpath(xpathExpression));
}
@Override
public IWebPage switchToFrame(By by) {
switchTo().frame(findElement(by));
return this;
}
@Override
public WebElement waitForElementByClassName(String className) {
return waitForElement(By.className(className), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public WebElement waitForElementByClassName(String className, int secondsTimeout) {
return waitForElement(By.className(className), secondsTimeout);
}
@Override
public WebElement waitForElementByCssSelector(String selector) {
return waitForElement(By.cssSelector(selector), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public WebElement waitForElementByCssSelector(String selector, int secondsTimeout) {
return waitForElement(By.cssSelector(selector), secondsTimeout);
}
@Override
public WebElement waitForElementById(String id) {
return waitForElement(By.id(id), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public WebElement waitForElementById(String id, int secondsTimeout) {
return waitForElement(By.id(id), secondsTimeout);
}
@Override
public WebElement waitForElementByLinkText(String linkText) {
return waitForElement(By.linkText(linkText), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public WebElement waitForElementByLinkText(String linkText, int secondsTimeout) {
return waitForElement(By.linkText(linkText), secondsTimeout);
}
@Override
public WebElement waitForElementByName(String name) {
return waitForElement(By.name(name), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public WebElement waitForElementByName(String name, int secondsTimeout) {
return waitForElement(By.tagName(name), secondsTimeout);
}
@Override
public WebElement waitForElementByPartialLinkText(String linkText) {
return waitForElement(By.partialLinkText(linkText), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public WebElement waitForElementByPartialLinkText(String linkText, int secondsTimeout) {
return waitForElement(By.partialLinkText(linkText), secondsTimeout);
}
@Override
public WebElement waitForElementByTagName(String tagName) {
return waitForElement(By.tagName(tagName), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public WebElement waitForElementByTagName(String tagName, int secondsTimeout) {
return waitForElement(By.tagName(tagName), secondsTimeout);
}
@Override
public WebElement waitForElementByXpath(String xpathExpression) {
return waitForElement(By.xpath(xpathExpression), DEFAULT_SECONDS_TIMEOUT);
}
@Override
public WebElement waitForElementByXpath(String xpathExpression, int secondsTimeout) {
return waitForElement(By.xpath(xpathExpression), secondsTimeout);
}
@Override
public WebElement waitForElement(By by) {
return waitForElement(by, DEFAULT_SECONDS_TIMEOUT);
}
@Override
public WebElement waitForElement(By by, int secondsTimeout) {
WebDriverWait wait = new WebDriverWait(driver, secondsTimeout);
wait.until(ExpectedConditions.presenceOfElementLocated(by));
return findElement(by);
}
@Override
public WebDriverWait driverWait() {
return driverWait(DEFAULT_SECONDS_TIMEOUT);
}
@Override
public WebDriverWait driverWait(int secondsTimeout) {
return new WebDriverWait(driver, secondsTimeout);
}
@Override
public WebDriver getWebDriver() {
return this.driver;
}
@Override
public IWebPage maximize() {
manage().window().maximize();
return this;
}
@Override
public IWebPage waitForPageLoad() {
return waitForPageLoad(DEFAULT_SECONDS_TIMEOUT);
}
@Override
public IWebPage waitForPageLoad(int secondsTimeout) {
WebDriverWait wait = new WebDriverWait(driver, secondsTimeout);
wait.until(new Function() {
public Boolean apply(WebDriver driver) {
return String.valueOf(((JavascriptExecutor) driver).executeScript("return document.readyState")).equals("complete");
}
});
return this;
}
}