Revision: 935 http://jwebunit.svn.sourceforge.net/jwebunit/?rev=935&view=rev Author: henryju Date: 2012-01-27 09:43:35 +0000 (Fri, 27 Jan 2012) Log Message: ----------- Update WebDriver to version 2.17.0. Minor fixes.
Modified Paths: -------------- trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ButtonAssertionsTest.java trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ConcurrentJWebUnitTest.java trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FramesAndWindowsTest.java trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/IElementTest.java trunk/jwebunit-core/pom.xml trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/IElement.java trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitElementImpl.java trunk/jwebunit-webdriver-plugin/pom.xml trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverElementImpl.java trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverTestingEngineImpl.java trunk/jwebunit-webdriver-plugin/src/test/java/net/sourceforge/jwebunit/webdriver/JWebUnitTest.java Added Paths: ----------- trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/FixedHtmlUnitDriver.java Modified: trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ButtonAssertionsTest.java =================================================================== --- trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ButtonAssertionsTest.java 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ButtonAssertionsTest.java 2012-01-27 09:43:35 UTC (rev 935) @@ -47,7 +47,7 @@ } @Test - public void testAssertButtonwithTowFormsfound() { + public void testAssertButtonwithTwoFormsFound() { beginAt("/pageWithTwoForms.html"); assertButtonPresent("button1"); assertButtonPresent("button2"); Modified: trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ConcurrentJWebUnitTest.java =================================================================== --- trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ConcurrentJWebUnitTest.java 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ConcurrentJWebUnitTest.java 2012-01-27 09:43:35 UTC (rev 935) @@ -51,7 +51,7 @@ setBaseUrl(HOST_PATH + "/NavigationTest"); } - @Rule public Timeout timeoutRule = new Timeout(2000); + @Rule public Timeout timeoutRule = new Timeout(10000); @Rule public ConcurrentRule concurrently = new ConcurrentRule(); @Rule public RepeatingRule repeatedly = new RepeatingRule(); Modified: trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FramesAndWindowsTest.java =================================================================== --- trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FramesAndWindowsTest.java 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FramesAndWindowsTest.java 2012-01-27 09:43:35 UTC (rev 935) @@ -21,6 +21,8 @@ import static net.sourceforge.jwebunit.junit.JWebUnit.*; import static org.junit.Assert.*; +import static org.hamcrest.Matchers.containsString; + import org.junit.Test; /** @@ -113,9 +115,8 @@ @Test public void testGetFrameSource() { beginAt("Frames.html"); - assertTrue(getPageSource().indexOf("<frameset rows=\"33%, 33%, 33%\">")>=0); + assertThat(getPageSource(), containsString("<frameset rows=\"33%, 33%, 33%\">")); gotoFrame("TopFrame"); - assertEquals("<html><body>TopFrame</body></html>", getPageSource()); assertTextPresent("TopFrame"); } Modified: trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/IElementTest.java =================================================================== --- trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/IElementTest.java 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/IElementTest.java 2012-01-27 09:43:35 UTC (rev 935) @@ -55,7 +55,8 @@ beginAt("/template.html"); } - @Test public void testSimple() { + @Test + public void testSimple() { // test an element that exists IElement element = getElementByXPath("//input[@id='test']"); assertNotNull(element); @@ -65,7 +66,8 @@ assertEquals(element.getAttribute("value"), "test3"); } - @Test public void testMissing() { + @Test + public void testMissing() { // a missing element should throw an exception try { getElementByXPath("//input[@id='test2']"); @@ -78,7 +80,8 @@ /** * Test parent, child methods */ - @Test public void testChildrenAndParent() { + @Test + public void testChildrenAndParent() { assertElementPresent("first"); IElement element = getElementById("first"); assertEquals(element.getName(), "li"); @@ -105,7 +108,8 @@ /** * Test getting the XPath for multiple possible results */ - @Test public void testMultiple() { + @Test + public void testMultiple() { List<IElement> children = getElementsByXPath("//li"); assertEquals(children.size(), 4); assertEquals(children.get(0).getTextContent(), "one"); @@ -118,7 +122,8 @@ /** * change the element and make sure XPath has changed */ - @Test public void testChanging() { + @Test + public void testChanging() { { IElement element = getElementByXPath("//input[@id='test']"); assertNotNull(element); @@ -147,7 +152,8 @@ } - @Test public void testWithXpath() { + @Test + public void testWithXpath() { IElement element = getElementByXPath("//body"); assertNotNull(element); assertEquals("body", element.getName()); @@ -184,15 +190,16 @@ * Test that setting attributes manually (e.g setAttribute("value") * properly calls any attached Javascript. */ - @Test public void testAttributeJavascript() { + @Test + public void testAttributeJavascript() { String testingText = new Date().toString(); { IElement js1 = getElementById("js1"); IElement js2 = getElementById("js2"); - assertEquals(js1.getAttribute("value"), "initial"); - assertEquals(js2.getAttribute("value"), "unchanged"); + assertEquals("initial", js1.getAttribute("value")); + assertEquals("unchanged", js2.getAttribute("value")); // change js1's value js1.setAttribute("value", testingText); @@ -203,8 +210,8 @@ IElement js1 = getElementById("js1"); IElement js2 = getElementById("js2"); - assertEquals(js1.getAttribute("value"), testingText); - assertEquals(js2.getAttribute("value"), testingText); + assertEquals(testingText, js1.getAttribute("value")); + assertEquals(testingText, js2.getAttribute("value")); } } @@ -228,7 +235,8 @@ * Test preceding element XPath. * preceding: "Selects everything in the document that is before the start tag of the current node" */ - @Test public void testPreceding() { + @Test + public void testPreceding() { IElement element = getElementById("first"); // li // should get the first <input>, which is // <input id="test" name="element_name" value="test3"> Modified: trunk/jwebunit-core/pom.xml =================================================================== --- trunk/jwebunit-core/pom.xml 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-core/pom.xml 2012-01-27 09:43:35 UTC (rev 935) @@ -31,6 +31,11 @@ <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + <version>2.6</version> + </dependency> </dependencies> <properties> <topDirectoryLocation>..</topDirectoryLocation> Modified: trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/IElement.java =================================================================== --- trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/IElement.java 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/IElement.java 2012-01-27 09:43:35 UTC (rev 935) @@ -87,7 +87,7 @@ * * @param string */ - public void setAttribute(String string); + public void setAttribute(String name); /** * Set an attribute on this element. @@ -95,7 +95,7 @@ * @param string * @param value */ - public void setAttribute(String string, String value); + public void setAttribute(String name, String value); /** * Set the text content on this element. Modified: trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java =================================================================== --- trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java 2012-01-27 09:43:35 UTC (rev 935) @@ -19,6 +19,15 @@ package net.sourceforge.jwebunit.junit; +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.CoreMatchers.not; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import java.awt.Image; import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; @@ -36,8 +45,10 @@ import java.util.Locale; import java.util.Map; import java.util.ResourceBundle; + import javax.imageio.ImageIO; import javax.servlet.http.Cookie; + import net.sourceforge.jwebunit.api.HttpHeader; import net.sourceforge.jwebunit.api.IElement; import net.sourceforge.jwebunit.api.ITestingEngine; @@ -52,12 +63,10 @@ import net.sourceforge.jwebunit.javascript.JavascriptPrompt; import net.sourceforge.jwebunit.util.TestContext; import net.sourceforge.jwebunit.util.TestingEngineRegistry; + import org.apache.regexp.RE; import org.apache.regexp.RESyntaxException; -import static org.hamcrest.CoreMatchers.*; -import static org.junit.Assert.*; - /** * Provides a high-level API for basic web application navigation and validation by providing * JUnit assertions. It supports use of a property file for web resources (a la Struts), though a resource file for the @@ -2885,13 +2894,13 @@ // get the selected option for (IElement child : field.getChildren()) { if (child.getName().equals("option") && child.getAttribute("selected") != null) { - value = child.getAttribute("value") == null ? child.getTextContent() : child.getAttribute("value"); + value = child.getAttribute("value"); break; } if (child.getName().equals("optgroup")) { for (IElement subchild : child.getChildren()) { if (subchild.getName().equals("option") && subchild.getAttribute("selected") != null) { - value = child.getAttribute("value") == null ? child.getTextContent() : child.getAttribute("value"); + value = child.getAttribute("value"); break; } } @@ -2962,8 +2971,7 @@ // get the selected option for (IElement children : field.getChildren()) { // find the option which matches the given value (we can't specify random values) - if (children.getName().equals("option") && - (children.getAttribute("value") == null ? value.equals(children.getTextContent()) : value.equals(children.getAttribute("value")))) { + if (children.getName().equals("option") && value.equals(children.getAttribute("value"))) { children.setAttribute("selected"); return; } Modified: trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitElementImpl.java =================================================================== --- trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitElementImpl.java 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitElementImpl.java 2012-01-27 09:43:35 UTC (rev 935) @@ -146,12 +146,12 @@ /* (non-Javadoc) * @see net.sourceforge.jwebunit.api.IElement#setAttribute(java.lang.String, java.lang.String) */ - public void setAttribute(String string, String value) { - if ("value".equals(string) && element instanceof HtmlInput) { + public void setAttribute(String name, String value) { + if ("value".equals(name) && element instanceof HtmlInput) { // for HtmlInputs, we want to run any onChange code if the value changes ((HtmlInput) element).setValueAttribute(value); } else { - element.setAttributeNS(null, string, value); + element.setAttribute(name, value); } } Modified: trunk/jwebunit-webdriver-plugin/pom.xml =================================================================== --- trunk/jwebunit-webdriver-plugin/pom.xml 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-webdriver-plugin/pom.xml 2012-01-27 09:43:35 UTC (rev 935) @@ -30,7 +30,7 @@ <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-htmlunit-driver</artifactId> - <version>2.8.0</version> + <version>2.17.0</version> <exclusions> <exclusion> <artifactId>commons-logging</artifactId> @@ -41,7 +41,7 @@ <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-support</artifactId> - <version>2.8.0</version> + <version>2.17.0</version> </dependency> <dependency> <groupId>net.sourceforge.jwebunit</groupId> Added: trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/FixedHtmlUnitDriver.java =================================================================== --- trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/FixedHtmlUnitDriver.java (rev 0) +++ trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/FixedHtmlUnitDriver.java 2012-01-27 09:43:35 UTC (rev 935) @@ -0,0 +1,21 @@ +package net.sourceforge.jwebunit.webdriver; + +import com.gargoylesoftware.htmlunit.TopLevelWindow; +import org.openqa.selenium.htmlunit.HtmlUnitDriver; + +public class FixedHtmlUnitDriver extends HtmlUnitDriver { + + @Override + public void close() { + if (getCurrentWindow() != null) { + if (getWebClient().getWebWindows().size() > 1) { + ((TopLevelWindow) getCurrentWindow().getTopWindow()).close(); + + } + else { + quit(); + } + } + } + +} Property changes on: trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/FixedHtmlUnitDriver.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverElementImpl.java =================================================================== --- trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverElementImpl.java 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverElementImpl.java 2012-01-27 09:43:35 UTC (rev 935) @@ -21,21 +21,15 @@ */ package net.sourceforge.jwebunit.webdriver; -import org.openqa.selenium.JavascriptExecutor; - -import org.openqa.selenium.By; - -import org.openqa.selenium.WebElement; - import java.util.ArrayList; import java.util.List; import net.sourceforge.jwebunit.api.IElement; -import com.gargoylesoftware.htmlunit.html.DomNode; -import com.gargoylesoftware.htmlunit.html.HtmlElement; -import com.gargoylesoftware.htmlunit.html.HtmlInput; -import com.gargoylesoftware.htmlunit.html.HtmlTextArea; +import org.openqa.selenium.By; +import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; /** * Webdriver implementation of IElement wrapper. @@ -49,8 +43,14 @@ * The wrapped element. */ private WebElement element; + + /** + * A reference to the driver. + */ + private WebDriver driver; - public WebDriverElementImpl(WebElement element) { + public WebDriverElementImpl(WebDriver driver, WebElement element) { + this.driver = driver; if (element == null) throw new NullPointerException("Cannot create an IElement for a null element."); this.element = element; @@ -83,7 +83,7 @@ List<IElement> children = new ArrayList<IElement>(); for (WebElement e : element.findElements(By.xpath("child::*"))) { if (e != null) - children.add(new WebDriverElementImpl(e)); + children.add(new WebDriverElementImpl(driver, e)); } return children; } @@ -94,7 +94,7 @@ * @see net.sourceforge.jwebunit.api.IElement#getParent() */ public IElement getParent() { - return new WebDriverElementImpl(element.findElement(By.xpath("parent::*"))); + return new WebDriverElementImpl(driver, element.findElement(By.xpath("parent::*"))); } /* @@ -112,7 +112,7 @@ * @see net.sourceforge.jwebunit.api.IElement#getElement(java.lang.String) */ public IElement getElement(String xpath) { - return new WebDriverElementImpl((WebElement) element.findElement(By.xpath(xpath))); + return new WebDriverElementImpl(driver, (WebElement) element.findElement(By.xpath(xpath))); } /* @@ -123,7 +123,7 @@ public List<IElement> getElements(String xpath) { List<IElement> elements = new ArrayList<IElement>(); for (WebElement o : element.findElements(By.xpath(xpath))) { - elements.add(new WebDriverElementImpl(o)); + elements.add(new WebDriverElementImpl(driver, o)); } return elements; } @@ -137,8 +137,8 @@ * * @see net.sourceforge.jwebunit.api.IElement#setAttribute(java.lang.String) */ - public void setAttribute(String string) { - throw new UnsupportedOperationException("Not supported yet."); + public void setAttribute(String name) { + ((JavascriptExecutor) driver).executeScript("return arguments[0].setAttribute(arguments[1], true);", element, name); } /* @@ -146,8 +146,13 @@ * * @see net.sourceforge.jwebunit.api.IElement#setAttribute(java.lang.String, java.lang.String) */ - public void setAttribute(String string, String value) { - throw new UnsupportedOperationException("Not supported yet."); + public void setAttribute(String name, String value) { + if ("value".equals(name) && "input".equals(element.getTagName())) { + // for inputs, we want to run any onChange code if the value changes + element.sendKeys(value); + } else { + ((JavascriptExecutor) driver).executeScript("return arguments[0].setAttribute(arguments[1], arguments[2]);", element, name, value); + } } /* @@ -156,7 +161,19 @@ * @see net.sourceforge.jwebunit.api.IElement#setTextContent(java.lang.String) */ public void setTextContent(String value) { - throw new UnsupportedOperationException("Not supported yet."); + if (element.getTagName().equals("textarea")) { + element.clear(); + element.sendKeys(value); + } else { + ((JavascriptExecutor) driver).executeScript( + "var parent = arguments[0];" + + "var children = parent.childNodes;" + + "for (i=0; i< children.length; i++) {" + + " parent.removeChild(children[i]);" + + "}" + + "parent.appendChild(document.createTextNode(arguments[1]));" + , element, value); + } } @Override Modified: trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverTestingEngineImpl.java =================================================================== --- trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverTestingEngineImpl.java 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverTestingEngineImpl.java 2012-01-27 09:43:35 UTC (rev 935) @@ -717,7 +717,7 @@ private WebElement getButton(String nameOrID) { WebElement e = getWebElementByXPath("//input[(@type='submit' or @type='image' or @type='reset' or @type='button') and (@name=" + escapeQuotes(nameOrID) + " or @id=" + escapeQuotes(nameOrID) + ")]", false, true); if (e == null) { - e = getWebElementByXPath("//button[@type='submit' and (@name=" + escapeQuotes(nameOrID) + " or @id=" + escapeQuotes(nameOrID) + ")]", false, true); + e = getWebElementByXPath("//button[@name=" + escapeQuotes(nameOrID) + " or @id=" + escapeQuotes(nameOrID) + "]", false, true); } return e; } @@ -756,7 +756,7 @@ public String getPageText() { try { - return driver.findElement(By.xpath("//body")).getText(); + return driver.findElement(By.tagName("body")).getText(); } catch (Exception e) { //Maybe this is not HTML return driver.getPageSource(); @@ -764,17 +764,19 @@ } public String getPageSource() { - String encoding = "ISO-8859-1"; - if (response.getEntity().getContentEncoding() != null) { - encoding = response.getEntity().getContentEncoding().getValue(); - } - - try { - return IOUtils.toString(response.getEntity().getContent(), encoding); - } - catch (IOException e) { - throw new RuntimeException(e); - } + return driver.getPageSource(); + //Do not work when there are requests following loading of main page (like frames) +// String encoding = "ISO-8859-1"; +// if (response.getEntity().getContentEncoding() != null) { +// encoding = response.getEntity().getContentEncoding().getValue(); +// } +// +// try { +// return IOUtils.toString(response.getEntity().getContent(), encoding); +// } +// catch (IOException e) { +// throw new RuntimeException(e); +// } } public String getPageTitle() { @@ -1018,7 +1020,7 @@ public IElement getElementByXPath(String xpath) { try { - return new WebDriverElementImpl(driver.findElement(By.xpath(xpath))); + return new WebDriverElementImpl(driver, driver.findElement(By.xpath(xpath))); } catch (NoSuchElementException e) { return null; @@ -1027,7 +1029,7 @@ public IElement getElementByID(String id) { try { - return new WebDriverElementImpl(driver.findElement(By.id(id))); + return new WebDriverElementImpl(driver, driver.findElement(By.id(id))); } catch (NoSuchElementException e) { return null; @@ -1038,7 +1040,7 @@ List<IElement> result = new ArrayList<IElement>(); List<WebElement> elements = driver.findElements(By.xpath(xpath)); for (WebElement child : elements) { - result.add(new WebDriverElementImpl(child)); + result.add(new WebDriverElementImpl(driver, child)); } return result; } Modified: trunk/jwebunit-webdriver-plugin/src/test/java/net/sourceforge/jwebunit/webdriver/JWebUnitTest.java =================================================================== --- trunk/jwebunit-webdriver-plugin/src/test/java/net/sourceforge/jwebunit/webdriver/JWebUnitTest.java 2011-12-30 15:06:39 UTC (rev 934) +++ trunk/jwebunit-webdriver-plugin/src/test/java/net/sourceforge/jwebunit/webdriver/JWebUnitTest.java 2012-01-27 09:43:35 UTC (rev 935) @@ -18,10 +18,9 @@ */ package net.sourceforge.jwebunit.webdriver; -import org.junit.AfterClass; - import net.sourceforge.jwebunit.tests.ButtonAssertionsTest; import net.sourceforge.jwebunit.tests.CharsetTest; +import net.sourceforge.jwebunit.tests.ConcurrentJWebUnitTest; import net.sourceforge.jwebunit.tests.CustomTesterTest; import net.sourceforge.jwebunit.tests.ExpectedTableAssertionsHtmlTest; import net.sourceforge.jwebunit.tests.ExpectedTableAssertionsXHtmlTest; @@ -32,12 +31,10 @@ import net.sourceforge.jwebunit.tests.HtmlParsingTest; import net.sourceforge.jwebunit.tests.IElementTest; import net.sourceforge.jwebunit.tests.ImageTest; -import net.sourceforge.jwebunit.tests.ConcurrentJWebUnitTest; import net.sourceforge.jwebunit.tests.JavaScriptEventsTest; import net.sourceforge.jwebunit.tests.JavaScriptTest; import net.sourceforge.jwebunit.tests.NavigationTest; import net.sourceforge.jwebunit.tests.NonHtmlContentTest; -import net.sourceforge.jwebunit.tests.RedirectionTest; import net.sourceforge.jwebunit.tests.ResourceBundleAssertionsTest; import net.sourceforge.jwebunit.tests.ResponseServletTest; import net.sourceforge.jwebunit.tests.SelectOptionsTest; @@ -47,6 +44,8 @@ import net.sourceforge.jwebunit.tests.WebCookieTest; import net.sourceforge.jwebunit.tests.XPathTest; import net.sourceforge.jwebunit.tests.util.JettySetup; + +import org.junit.AfterClass; import org.junit.runner.RunWith; import org.junit.runners.Suite; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ JWebUnit-development mailing list JWebUnit-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jwebunit-development