- Revision
- 1599
- Author
- paul
- Date
- 2010-03-13 12:36:27 -0600 (Sat, 13 Mar 2010)
Log Message
recreate old SeleniumSteps as was, but deprecated
Modified Paths
- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumPerScenarioSteps.java
- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumPerStorySteps.java
- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumSteps.java
Added Paths
Diff
Added: trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/AbstractSeleniumSteps.java (0 => 1599)
--- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/AbstractSeleniumSteps.java (rev 0) +++ trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/AbstractSeleniumSteps.java 2010-03-13 18:36:27 UTC (rev 1599) @@ -0,0 +1,79 @@ +package org.jbehave.web.selenium; + +import com.thoughtworks.selenium.DefaultSelenium; +import com.thoughtworks.selenium.Selenium; +import com.thoughtworks.selenium.condition.ConditionRunner; +import com.thoughtworks.selenium.condition.JUnitConditionRunner; +import org.jbehave.scenario.steps.Steps; +import org.jbehave.scenario.steps.StepsConfiguration; + +import java.util.concurrent.TimeUnit; + +public class AbstractSeleniumSteps extends Steps { + + protected final Selenium selenium; + protected final ConditionRunner runner; + + public AbstractSeleniumSteps() { + this(new StepsConfiguration()); + } + + public AbstractSeleniumSteps(StepsConfiguration configuration){ + super(configuration); + this.selenium = createSelenium(); + this.runner = createConditionRunner(selenium); + } + + public AbstractSeleniumSteps(Selenium selenium) { + this(new SeleniumStepsConfiguration(selenium, new SeleniumContext())); + } + + public AbstractSeleniumSteps(SeleniumStepsConfiguration configuration){ + super(configuration); + this.selenium = configuration.getSelenium(); + this.runner = createConditionRunner(selenium); + } + + /** + * Creates Selenium used by the Steps, by default {...@link com.thoughtworks.selenium.DefaultSelenium} + * using "*firefox" as browser on localhost. + * + * Users may override this method to provide their own custom instance of + * Selenium. + * + * @return A Selenium instance + * @deprecated Use second constructor instead + */ + protected Selenium createSelenium() { + return new DefaultSelenium("localhost", 4444, "*firefox", + "http://localhost:8080"); + } + + /** + * Creates ConditionRunner used by the Steps, by default + * {...@link com.thoughtworks.selenium.condition.JUnitConditionRunner}. + * + * Users may override this method to provide their own custom instance of + * ConditionRunner. + * + * @param selenium the Selenium instance + * @return A ConditionRunner + */ + protected ConditionRunner createConditionRunner(Selenium selenium) { + return new JUnitConditionRunner(selenium, 10, 100, 1000); + } + + /** + * Waits for a number of seconds + * + * @param seconds the number of seconds to sleep + */ + protected void waitFor(int seconds) { + try { + TimeUnit.SECONDS.sleep(seconds); + } catch (InterruptedException e) { + // continue + } + } + +}
Modified: trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumPerScenarioSteps.java (1598 => 1599)
--- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumPerScenarioSteps.java 2010-03-13 18:04:53 UTC (rev 1598) +++ trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumPerScenarioSteps.java 2010-03-13 18:36:27 UTC (rev 1599) @@ -5,7 +5,16 @@ import org.jbehave.scenario.annotations.BeforeScenario; import org.jbehave.scenario.steps.StepsConfiguration; -public abstract class SeleniumPerScenarioSteps extends SeleniumSteps { +/** + * Steps implementation that can be used in Selenium-based scenarios. It + * provides annotated methods to start and stop Selenium before and after + * scenarios. It also provides defaults for Selenium and ConditionRunner + * dependencies, which may be overridden by user when providing the + * implementation of scenario steps. + * + * @author Mauro Talevi + */ +public abstract class SeleniumPerScenarioSteps extends AbstractSeleniumSteps { public SeleniumPerScenarioSteps() { }
Modified: trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumPerStorySteps.java (1598 => 1599)
--- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumPerStorySteps.java 2010-03-13 18:04:53 UTC (rev 1598) +++ trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumPerStorySteps.java 2010-03-13 18:36:27 UTC (rev 1599) @@ -5,7 +5,16 @@ import org.jbehave.scenario.annotations.BeforeStory; import org.jbehave.scenario.steps.StepsConfiguration; -public abstract class SeleniumPerStorySteps extends SeleniumSteps { +/** + * Steps implementation that can be used in Selenium-based scenarios. It + * provides annotated methods to start and stop Selenium before and after + * stories. It also provides defaults for Selenium and ConditionRunner + * dependencies, which may be overridden by user when providing the + * implementation of scenario steps. + * + * @author Mauro Talevi + */ +public abstract class SeleniumPerStorySteps extends AbstractSeleniumSteps { public SeleniumPerStorySteps() { }
Modified: trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumSteps.java (1598 => 1599)
--- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumSteps.java 2010-03-13 18:04:53 UTC (rev 1598) +++ trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumSteps.java 2010-03-13 18:36:27 UTC (rev 1599) @@ -1,14 +1,10 @@ package org.jbehave.web.selenium; -import com.thoughtworks.selenium.DefaultSelenium; import com.thoughtworks.selenium.Selenium; -import com.thoughtworks.selenium.condition.ConditionRunner; -import com.thoughtworks.selenium.condition.JUnitConditionRunner; -import org.jbehave.scenario.steps.Steps; +import org.jbehave.scenario.annotations.AfterScenario; +import org.jbehave.scenario.annotations.BeforeScenario; import org.jbehave.scenario.steps.StepsConfiguration; -import java.util.concurrent.TimeUnit; - /** * Steps implementation that can be used in Selenium-based scenarios. It * provides annotated methods to start and stop Selenium before and after @@ -17,72 +13,34 @@ * implementation of scenario steps. * * @author Mauro Talevi + * @deprecated ... use SeleniumPerScenarioSteps or SeleniumPerStorySteps instead */ -public abstract class SeleniumSteps extends Steps { +public abstract class SeleniumSteps extends AbstractSeleniumSteps { - protected final Selenium selenium; - protected final ConditionRunner runner; + protected SeleniumSteps() { + } - public SeleniumSteps() { - this(new StepsConfiguration()); - } + protected SeleniumSteps(StepsConfiguration configuration) { + super(configuration); + } - public SeleniumSteps(StepsConfiguration configuration){ - super(configuration); - this.selenium = createSelenium(); - this.runner = createConditionRunner(selenium); - } + protected SeleniumSteps(Selenium selenium) { + super(selenium); + } - public SeleniumSteps(Selenium selenium) { - this(new SeleniumStepsConfiguration(selenium, new SeleniumContext())); + protected SeleniumSteps(SeleniumStepsConfiguration configuration) { + super(configuration); } - public SeleniumSteps(SeleniumStepsConfiguration configuration){ - super(configuration); - this.selenium = configuration.getSelenium(); - this.runner = createConditionRunner(selenium); - } + @BeforeScenario + public void beforeScenario() throws Exception { + selenium.start(); + } - /** - * Creates Selenium used by the Steps, by default {...@link DefaultSelenium} - * using "*firefox" as browser on localhost. - * - * Users may override this method to provide their own custom instance of - * Selenium. - * - * @return A Selenium instance - * @deprecated Use second constructor instead - */ - protected Selenium createSelenium() { - return new DefaultSelenium("localhost", 4444, "*firefox", - "http://localhost:8080"); - } + @AfterScenario + public void afterScenario() throws Exception { + selenium.close(); + selenium.stop(); + } - /** - * Creates ConditionRunner used by the Steps, by default - * {...@link JUnitConditionRunner}. - * - * Users may override this method to provide their own custom instance of - * ConditionRunner. - * - * @param selenium the Selenium instance - * @return A ConditionRunner - */ - protected ConditionRunner createConditionRunner(Selenium selenium) { - return new JUnitConditionRunner(selenium, 10, 100, 1000); - } - - /** - * Waits for a number of seconds - * - * @param seconds the number of seconds to sleep - */ - protected void waitFor(int seconds) { - try { - TimeUnit.SECONDS.sleep(seconds); - } catch (InterruptedException e) { - // continue - } - } - }
To unsubscribe from this list please visit:
