package com.tyndalehouse.step.e2e.fragments; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.WebDriverWait; import com.google.common.base.Predicate; public final class PageOperations { private static final String STEP_URL = "http://localhost:8080/?debug"; /** prevent instantiation */ private PageOperations() { // no op } /** * Goes to the main page * * @param driver the web driver */ public static void goToMainPage(final WebDriver driver) { driver.get(STEP_URL); } public static Passage loadPassage(final WebDriver driver, final int passageId, final String version, final String reference) { final Passage passage = new Passage(driver, version, reference, passageId); passage.execute(); return passage; } public static void waitToClick(final WebDriver driver, final WebElement e) { final WebDriverWait wait = new WebDriverWait(driver, 5); wait.until(new Predicate<WebDriver>() { @Override public boolean apply(final WebDriver input) { return e.isDisplayed(); } }); e.click(); } public static Passage loadPassage(final WebDriver driver, final int passageId, final String version, final String reference, final boolean loadPage) { goToMainPage(driver); // then move mouse lower new Actions(driver).moveByOffset(0, 200).perform(); Passage p = loadPassage(driver, passageId, version, reference); return p; } }