package detective.core.geb;
import geb.Browser;
import geb.Page;
import detective.core.Detective;
import detective.core.Parameters;
import detective.task.AbstractTask;
public class PageTask extends AbstractTask {
private final ThreadLocal<Browser> browser;
private final Page page;
public PageTask(Page page){
browser = new ThreadLocal<Browser>();
browser.set(Detective.newBrowser());
this.page = page;
}
public PageTask(Class<? extends Page> pageClass) throws InstantiationException, IllegalAccessException{
this(pageClass.newInstance());
}
@Override
protected void doExecute(Parameters config, Parameters output) {
browser.get().to(page.getClass());
browser.get().getPage().getPageUrl();
output.put("browser", browser.get());
}
}