package br.com.caelum.seleniumdsl; import org.apache.commons.lang.NotImplementedException; import com.thoughtworks.selenium.Selenium; /** * A default browser implementation based on selenium. Other browser implementations might be created based on other * projects (webdriver?). * * @author Guilherme Silveira */ public class DefaultBrowser implements Browser { private final Selenium selenium; private final int timeout; /** * Creates the browser with the default 10seconds timeout limit. * * @param selenium */ public DefaultBrowser(Selenium selenium) { this(selenium, 10000); } /** * Creates the browser with this selenium implementation and the selected timeout in millisecs. * * @param selenium * @param timeout */ public DefaultBrowser(Selenium selenium, int timeout) { this.selenium = selenium; this.timeout = timeout; } public Page open(String url) { selenium.open(url); selenium.waitForPageToLoad(Integer.toString(timeout)); return currentPage(); } public Page currentPage() { return new DefaultPage(selenium, timeout); } public Object getDelegate() { return selenium; } public Page waitForPageLoad(long timeout) { selenium.waitForPageToLoad("" + timeout); return currentPage(); } public Page window(String id) { throw new NotImplementedException(); } }