If you're concerned that launching a browser would be too slow, you can use the HtmlUnit web driver instead of the Chrome/Firefox web driver. To do that, create a class to wrap around the WebPageTestContext class. This class will specify the web driver instance to use:
public class TestFixture {
@BeforeSuite
public void setUp() throws Exception {
// configuration for wpt
Configuration cfg = new Configuration();
// create HtmlUnit driver. true means enable Javascript
HtmlUnitDriver selenium = new HtmlUnitDriver(true);
// use this web driver instance
cfg.setSelenium(selenium);
// go ahead to launch Jetty and Selenium
WebPageTestContext.beforePageTests(cfg);
}
@AfterSuite
public void tearDown() throws Exception {
// shutdown Jetty and Selenium
WebPageTestContext.afterPageTests();
}
}In the testng.xml file, run this TestFixture instead of the WebPageTestContext:
<suite name="wicket-page-test-sample">
<test verbose="2" name="tests" annotations="JDK">
<packages>
<package name="..."></package>
</packages>
<classes>
<class name="com.foo.TextFixture"></class>
</classes>
</test>
</suite>