package com.cornetdesign.fitnesse; import com.thoughtworks.selenium.DefaultSelenium; import com.thoughtworks.selenium.Selenium; import com.thoughtworks.selenium.SeleniumException; import fitlibrary.DoFixture; public class SeleniumRunner extends DoFixture { Selenium seleniumInstance = null; public SeleniumRunner() { } public boolean SetServerToAndPortToAndBrowserToAndDomainTo(String server, int port, String browser, String domain) { seleniumInstance = new DefaultSelenium(server, port, browser, domain); seleniumInstance.start(); return true; } public boolean Stop() { if(seleniumInstance != null) { seleniumInstance.stop(); return true; } return false; } //**********Browser interaction public boolean TheUserClosesTheBrowser() { seleniumInstance.close(); return true; } public boolean TheUserNavigatesToTheURL(String url) { seleniumInstance.open(url); return true; } public boolean TheUserWaitsForThePageToLoad(String timeout) { try { seleniumInstance.waitForPageToLoad(timeout); } catch(SeleniumException se) { return false; } return true; } public boolean ThePageHasTheTitle(String title) { return seleniumInstance.getTitle().indexOf(title) > -1; } public boolean TheUserSeesTheTextOnThePage(String text) { return seleniumInstance.isTextPresent(text); } public boolean TheHtmlBodyContainsTheText(String value) { return seleniumInstance.getBodyText().indexOf(value) > -1; } public boolean TheHtmlContainsTheText(String value) { return seleniumInstance.getHtmlSource().indexOf(value) > -1; } // public boolean userHasCookieNamedWithValue(String cookieName, String cookieValue) { // seleniumInstance.createCookie(cookieName + "=" + cookieValue, null); //} // public boolean deleteCookieNamed(String cookieName) { // seleniumInstance.deleteCookie(cookieName, ""); // return true; // } // **********Form Interaction public boolean TheUserClicksOnTheButtonNamed(String name) { seleniumInstance.click(name); return true; } public boolean TheUserTypesInTheFieldNamed(String value, String element) { seleniumInstance.type(element, value); return true; } // **********Element Interaction public boolean TheElementNamedHasTheText(String element, String text) { return seleniumInstance.getText(element).indexOf(text) > -1; } public boolean TheCheckboxNamedIsChecked(String element) { return seleniumInstance.isChecked(element); } public boolean ThePageHasAnElementNamed(String element) { return seleniumInstance.isElementPresent(element); } public boolean TheUserSeesTheElementNamed(String element) { return seleniumInstance.isVisible(element); } }