Uses Firefox either from path or from the location given using firefox.path in /work/run-eclipse-run-selected-test.properties Change-Id: I29faa94cac4c978792a8fab9db338048553d166atags/7.1.8
@@ -104,6 +104,10 @@ public abstract class AbstractTB3Test extends TestBenchTestCase { | |||
* If something goes wrong | |||
*/ | |||
protected void setupDriver() throws Exception { | |||
if (runLocally()) { | |||
setupLocalDriver(); | |||
return; | |||
} | |||
DesiredCapabilities capabilities = getDesiredCapabilities(); | |||
WebDriver dr = TestBench.createDriver(new RemoteWebDriver(new URL( | |||
@@ -126,6 +130,23 @@ public abstract class AbstractTB3Test extends TestBenchTestCase { | |||
} | |||
/** | |||
* Override and return true to run the test locally. This method is only to | |||
* be used for developing tests. | |||
* | |||
* @return true to run the test on a local browser, false to use the hub | |||
*/ | |||
public boolean runLocally() { | |||
return false; | |||
} | |||
/** | |||
* Creates a {@link WebDriver} instance used for running the test locally | |||
* for debug purposes. Used only when {@link #runLocally()} is overridden to | |||
* return true; | |||
*/ | |||
protected abstract void setupLocalDriver(); | |||
/** | |||
* Opens the given test (defined by {@link #getTestUrl(boolean, boolean)}, | |||
* optionally with debug window and/or push | |||
@@ -792,4 +813,5 @@ public abstract class AbstractTB3Test extends TestBenchTestCase { | |||
// Do nothing by default | |||
} | |||
} |
@@ -25,6 +25,12 @@ import java.net.SocketException; | |||
import java.util.Enumeration; | |||
import java.util.Properties; | |||
import org.openqa.selenium.WebDriver; | |||
import org.openqa.selenium.firefox.FirefoxBinary; | |||
import org.openqa.selenium.firefox.FirefoxDriver; | |||
import com.vaadin.testbench.TestBench; | |||
/** | |||
* Provides values for parameters which depend on where the test is run. | |||
* Parameters should be configured in work/eclipse-run-selected-test.properties. | |||
@@ -132,4 +138,23 @@ public abstract class PrivateTB3Configuration extends ScreenshotTB3Test { | |||
"No compatible (192.168.*) ip address found."); | |||
} | |||
/* | |||
* (non-Javadoc) | |||
* | |||
* @see com.vaadin.tests.tb3.AbstractTB3Test#setupLocalDriver() | |||
*/ | |||
@Override | |||
protected void setupLocalDriver() { | |||
String firefoxPath = getProperty("firefox.path"); | |||
WebDriver driver; | |||
if (firefoxPath != null) { | |||
driver = new FirefoxDriver( | |||
new FirefoxBinary(new File(firefoxPath)), null); | |||
} else { | |||
driver = new FirefoxDriver(); | |||
} | |||
setDriver(TestBench.createDriver(driver)); | |||
setDesiredCapabilities(BrowserUtil | |||
.firefox(MultiBrowserTest.TESTED_FIREFOX_VERSION)); | |||
} | |||
} |
@@ -17,6 +17,8 @@ | |||
package com.vaadin.tests.tb3; | |||
import java.lang.reflect.Method; | |||
import java.util.ArrayList; | |||
import java.util.Collection; | |||
import java.util.LinkedList; | |||
import java.util.List; | |||
import java.util.concurrent.ExecutorService; | |||
@@ -72,8 +74,14 @@ public class TB3Runner extends BlockJUnit4ClassRunner { | |||
try { | |||
AbstractTB3Test testClassInstance = (AbstractTB3Test) getTestClass() | |||
.getOnlyConstructor().newInstance(); | |||
for (DesiredCapabilities capabilities : testClassInstance | |||
.getBrowsersToTest()) { | |||
Collection<DesiredCapabilities> desiredCapabilites = testClassInstance | |||
.getBrowsersToTest(); | |||
if (testClassInstance.runLocally()) { | |||
desiredCapabilites = new ArrayList<DesiredCapabilities>(); | |||
desiredCapabilites.add(BrowserUtil | |||
.firefox(MultiBrowserTest.TESTED_FIREFOX_VERSION)); | |||
} | |||
for (DesiredCapabilities capabilities : desiredCapabilites) { | |||
// Find any methods marked with @Test. | |||
for (FrameworkMethod m : getTestClass().getAnnotatedMethods( |