package org.syftkog.web.test.framework; import java.util.List; import java.util.Set; import org.openqa.selenium.By; import org.openqa.selenium.SearchContext; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; /** * This adapter allows you to override a WebDriver with a different * SearchContext. * * @author BenjaminLimb */ public class DriverSearchContextAdapter implements WebDriver { WebDriver driver; SearchContext context; /** * * @param driver * @param context */ public DriverSearchContextAdapter(WebDriver driver, SearchContext context) { this.driver = driver; this.context = context; } /** * * @param url */ @Override public void get(String url) { driver.get(url); } /** * * @return */ @Override public String getCurrentUrl() { return driver.getCurrentUrl(); } /** * * @return */ @Override public String getTitle() { return driver.getTitle(); } /** * * @param by * @return */ @Override public List<WebElement> findElements(By by) { return context.findElements(by); } /** * * @param by * @return */ @Override public WebElement findElement(By by) { return context.findElement(by); } /** * * @return */ @Override public String getPageSource() { return driver.getPageSource(); } /** * */ @Override public void close() { driver.close(); } /** * */ @Override public void quit() { driver.quit(); } /** * * @return */ @Override public Set<String> getWindowHandles() { return driver.getWindowHandles(); } /** * * @return */ @Override public String getWindowHandle() { return driver.getWindowHandle(); } /** * * @return */ @Override public TargetLocator switchTo() { return driver.switchTo(); } /** * * @return */ @Override public Navigation navigate() { return driver.navigate(); } /** * * @return */ @Override public Options manage() { return driver.manage(); } }