package org.syftkog.web.test.framework;
import java.util.List;
import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.slf4j.LoggerFactory;
import static org.mockito.Mockito.*;
import org.slf4j.Logger;
import org.testng.Assert;
/**
*
* @author BenjaminLimb
*/
public class MockWebDriver implements WebDriver {
WebDriver driver = mock(WebDriver.class);
Boolean quit = false;
Logger LOG = LoggerFactory.getLogger(MockWebDriver.class);
/**
*
* @param string
*/
@Override
public void get(String string) {
System.out.println(this + " get(" + string + ")");
driver.get(string);
}
/**
*
* @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 driver.findElements(by);
}
/**
*
* @param by
* @return
*/
@Override
public WebElement findElement(By by) {
return driver.findElement(by);
}
/**
*
* @return
*/
@Override
public String getPageSource() {
return driver.getPageSource();
}
/**
*
*/
@Override
public void close() {
driver.close();
}
/**
*
*/
@Override
public void quit() {
Assert.assertFalse(quit, "Driver has already beeen quit");
driver.quit();
quit = true;
}
/**
*
* @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() {
Navigation nav = mock(Navigation.class);
when(driver.navigate()).thenReturn(nav);
return driver.navigate();
}
/**
*
* @return
*/
@Override
public Options manage() {
return driver.manage();
}
}