Title: [1599] trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium: recreate old SeleniumSteps as was, but deprecated

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:

http://xircles.codehaus.org/manage_email

Reply via email to