Remove WebDriver

 Bug: 5155997

Change-Id: I4369e5caa0a7497a057ab038dddabcc2df62b7bb
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 7518604..d7d4103 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -657,14 +657,6 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="android.webkit.cts.WebDriverStubActivity"
-            android:label="WebDriverStubActivity">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
-            </intent-filter>
-        </activity>
-
         <activity android:name="android.app.cts.ChildActivity"
                         android:label="ChildActivity" />
 
diff --git a/tests/assets/webkit/form_page.html b/tests/assets/webkit/form_page.html
deleted file mode 100644
index a61e619..0000000
--- a/tests/assets/webkit/form_page.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<html>
-<head>
-    <title>Form Test Page</title>
-</head>
-<body>
-  <a id="tagA">Tag A</a>
-  <a name="text"></a>
-  <a id=someTextId>Some text&nbsp;</a>
-  <a id=nestedLinkId>Is not nested, and is not unique!</a>
-  <a class="divClass">Outter text</a>
-  <a id="outter" name="foo">Foo</a>
-
-  <div id=divId name="firstDiv">A div
-    <a id=nestedLinkId class="divClass" name="nestedLink">Nested text</a>
-    <a id="n1" name="linkn1">a nested link</a>
-    <a id="inner" href="test_hello_world.html" name="foo">Foo</a>
-    <span id="n1" name="spann1"></span>
-    <a name=nested>Nested text</a>
-  </div>
-  <p id="spaces">     </p>
-  <p id="empty"></p>
-  <a name=foo href="foo" id="linkWithEqualsSign">Link=equalssign</a>
-  <p id="self-closed" />Here is some content that should not be in the previous p tag
-
-  <p class=" spaceAround ">Spaced out</p>
-
-  <a name="text" id="emptyLink"> </a>
-  <p id="spaces">     </p>
-  <p id="empty"></p>
-  <p id="self-closed"/>
-
-  <div>
-  <a id="id1" href="#">Foo</a>
-  <ul id="id2" />
-  <span id="id3"/>
-  <p id="id3">A paragraph</p>
-  </div>
-
-  <input name="inputDisabled" id="inputDisabled" disabled="disabled"> </input>
-  <span id="my_span">
-    <div>first_div</div>
-    <div>second_div</div>
-    <span>first_span</span>
-    <span>second_span</span>
-    <a id="Foo">Foo</a>
-  </span>
-
-  <select name="selectomatic">
-          <option id="one" selected="selected">One</option>
-          <option id="two">Two</option>
-          <option id="four">Four</option>
-          <option>Still learning how to count, apparently</option>
-  </select>
-
-  <select name="multi" id="multi" multiple="multiple">
-         <option id="eggs" selected="selected">Eggs</option>
-         <option id="ham" >Ham</option>
-         <option selected="selected">Sausages</option>
-         <option>Onion gravy</option>
-  </select>
-
-  <input type="radio" id="cheese" name="snack" value="cheese"/>Cheese<br/>
-  <input type="radio" id="peas" name="snack" value="peas"/>Peas<br/>
-  <input type="radio" id="cheese_and_peas" name="snack" value="cheese and peas" checked/>Cheese and peas<br/>
-  <input type="radio" id="nothing" name="snack" value="nowt" disabled="disabled"/>Not a sausage
-
-  <form action="test_hello_world.html" method="get">
-    <input type="hidden" name="hidden" value="fromage" id="fromage" />
-    Here's a checkbox: <input type="checkbox" id="checky" name="checky" value="furrfu"/><br/>
-    <input type="text" value="enter text here" name="textinput" style="background-color:red;width:100px;height:50px"></input>
-    <input type="text" id="typehere"/>
-    <a style="position:absolute;left:200px;top:250px">B</a>
-  </form>
-</body>
-</html>
diff --git a/tests/src/android/webkit/cts/WebDriverStubActivity.java b/tests/src/android/webkit/cts/WebDriverStubActivity.java
deleted file mode 100644
index 092156b..0000000
--- a/tests/src/android/webkit/cts/WebDriverStubActivity.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.webkit.cts;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.webkit.WebSettings;
-import android.webkit.WebView;
-import android.webkit.webdriver.WebDriver;
-
-/**
- * A stub activity for WebDriver tests.
- */
-public class WebDriverStubActivity extends Activity {
-    private WebDriver mDriver;
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        WebView view = new WebView(this);
-
-        WebSettings settings = view.getSettings();
-        settings.setJavaScriptCanOpenWindowsAutomatically(true);
-        settings.setSupportMultipleWindows(true);
-        settings.setBuiltInZoomControls(true);
-        settings.setJavaScriptEnabled(true);
-        settings.setAppCacheEnabled(true);
-        settings.setDatabaseEnabled(true);
-        settings.setDomStorageEnabled(true);
-        settings.setGeolocationEnabled(true);
-        settings.setSaveFormData(true);
-
-        mDriver = new WebDriver(view);
-
-        setContentView(view);
-    }
-
-    public WebDriver getDriver() {
-        return mDriver;
-    }
-}
diff --git a/tests/tests/webkit/src/android/webkit/cts/TestHtmlConstants.java b/tests/tests/webkit/src/android/webkit/cts/TestHtmlConstants.java
index 51f1201..b2bdfc8 100644
--- a/tests/tests/webkit/src/android/webkit/cts/TestHtmlConstants.java
+++ b/tests/tests/webkit/src/android/webkit/cts/TestHtmlConstants.java
@@ -54,8 +54,6 @@
     public static final String BLANK_PAGE_URL = "webkit/test_blankPage.html";
     public static final String ADD_JAVA_SCRIPT_INTERFACE_URL = "webkit/test_jsInterface.html";
 
-    public static final String FORM_PAGE_URL = "webkit/form_page.html";
-
     public static final String EXT_WEB_URL1 = "http://www.example.com/";
 
     public static final String getFileUrl(String assetName) {
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebDriverTest.java b/tests/tests/webkit/src/android/webkit/cts/WebDriverTest.java
deleted file mode 100644
index 0bb8b3e..0000000
--- a/tests/tests/webkit/src/android/webkit/cts/WebDriverTest.java
+++ /dev/null
@@ -1,953 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.webkit.cts;
-
-import android.test.ActivityInstrumentationTestCase2;
-import android.webkit.webdriver.By;
-import android.webkit.webdriver.WebDriver;
-import android.webkit.webdriver.WebDriverException;
-import android.webkit.webdriver.WebElement;
-import android.webkit.webdriver.WebElementNotFoundException;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static android.webkit.cts.TestHtmlConstants.FORM_PAGE_URL;
-import static android.webkit.cts.TestHtmlConstants.HELLO_WORLD_URL;
-
-/**
- * Tests for {@link android.webkit.webdriver.WebDriver}.
- */
-public class WebDriverTest extends
-        ActivityInstrumentationTestCase2<WebDriverStubActivity>{
-    private WebDriver mDriver;
-    private CtsTestServer mWebServer;
-    private static final String SOME_TEXT = "Some text";
-    private static final String DIV_TEXT =
-            "A div Nested text a nested link Foo Nested text";
-    private static final String NESTED_TEXT = "Nested text";
-    private static final String DIV_ID = "divId";
-    private static final String SOME_TEXT_ID = "someTextId";
-    private static final String BAD_ID = "BadId";
-    private static final String NESTED_LINK_ID = "nestedLinkId";
-    private static final String FIRST_DIV = "firstDiv";
-    private static final String INEXISTENT = "inexistent";
-    private static final String ID = "id";
-    private static final String OUTTER = "outter";
-
-    public WebDriverTest() {
-        super(WebDriverStubActivity.class);
-    }
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mDriver = getActivity().getDriver();
-        mWebServer = new CtsTestServer(getActivity(), false);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        mWebServer.shutdown();
-        super.tearDown();
-    }
-
-    public void testGetIsBlocking() {
-        mDriver.get(mWebServer.getDelayedAssetUrl(HELLO_WORLD_URL));
-        assertTrue(mDriver.getPageSource().contains("hello world!"));
-    }
-
-    // Navigation
-    public void testNavigateBack() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement link = mDriver.findElement(By.id("inner"));
-        link.click();
-        assertEquals("test hello world", mDriver.getTitle());
-        mDriver.navigate().back();
-        assertEquals("Form Test Page", mDriver.getTitle());
-    }
-
-    public void testNavigateForward() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement link = mDriver.findElement(By.id("inner"));
-        link.click();
-        mDriver.navigate().back();
-        assertEquals("Form Test Page", mDriver.getTitle());
-        mDriver.navigate().forward();
-        assertEquals("test hello world", mDriver.getTitle());
-    }
-
-    public void testRefresh() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        Long result = (Long) mDriver.executeScript(
-                "document.bou = 1;return document.bou;");
-        assertEquals(1, result.intValue());
-        mDriver.navigate().refresh();
-        String result2 = (String) mDriver.executeScript("return document.bou;");
-        assertNull(result2);
-    }
-
-    // getText
-    public void testGetTextReturnsEmptyString() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement emptyLink = mDriver.findElement(By.id("emptyLink"));
-        assertEquals("", emptyLink.getText());
-    }
-
-    // getAttribute
-    public void testGetValidAttribute() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement link = mDriver.findElement(By.linkText("Link=equalssign"));
-        assertEquals("foo", link.getAttribute("href"));
-    }
-
-    public void testGetInvalidAttributeReturnsNull() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement link = mDriver.findElement(By.linkText("Link=equalssign"));
-        assertNull(link.getAttribute(INEXISTENT));
-    }
-
-    public void testGetAttributeNotSetReturnsNull() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement link = mDriver.findElement(By.linkText("Link=equalssign"));
-        assertNull(link.getAttribute(INEXISTENT));
-    }
-
-    // getTagName
-    public void testTagName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement span = mDriver.findElement(By.tagName("span"));
-        assertEquals("SPAN", span.getTagName());
-    }
-
-    // isEnabled
-    public void testIsEnabled() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement div = mDriver.findElement(By.id(DIV_ID));
-        assertTrue(div.isEnabled());
-
-        WebElement input = mDriver.findElement(By.name("inputDisabled"));
-        assertFalse(input.isEnabled());
-    }
-
-    // isSelected
-    public void testIsSelected() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement optionOne = mDriver.findElement(By.id("one"));
-        assertTrue(optionOne.isSelected());
-
-        WebElement optionTwo = mDriver.findElement(By.id("two"));
-        assertFalse(optionTwo.isSelected());
-
-        WebElement selectEggs = mDriver.findElement(By.id("eggs"));
-        assertTrue(selectEggs.isSelected());
-
-        WebElement selectHam = mDriver.findElement(By.id("ham"));
-        assertFalse(selectHam.isSelected());
-
-        WebElement inputCheese = mDriver.findElement(By.id("cheese"));
-        assertFalse(inputCheese.isSelected());
-
-        WebElement inputCheesePeas = mDriver.findElement(
-                By.id("cheese_and_peas"));
-        assertTrue(inputCheesePeas.isSelected());
-    }
-
-    public void testIsSelectedOnHiddenInputThrows() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement inputHidden = mDriver.findElement(By.name("hidden"));
-        try {
-            inputHidden.isSelected();
-            fail();
-        } catch (WebDriverException e) {
-            // This is expcted
-        }
-    }
-
-    public void testIsSelectedOnNonSelectableElementThrows() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement link= mDriver.findElement(By.linkText("Foo"));
-        try {
-            link.isSelected();
-            fail();
-        } catch (WebDriverException e) {
-            // This is expected
-        }
-    }
-
-    // toogle
-    public void testToggleCheckbox() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement check = mDriver.findElement(By.id("checky"));
-        assertFalse(check.isSelected());
-        assertTrue(check.toggle());
-        assertFalse(check.toggle());
-    }
-
-    public void testToggleOnNonTogglableElements() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement inputHidden = mDriver.findElement(By.name("hidden"));
-        try {
-            inputHidden.toggle();
-            fail();
-        } catch (WebDriverException e) {
-            // This is expected
-        }
-    }
-
-    // getCssValue
-    public void testGetCssValue() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement text = mDriver.findElement(By.name("textinput"));
-        assertEquals("red", text.getCssValue("background-color"));
-    }
-
-    public void testGetCssValueReturnsNullWhenPropertyNotFound() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement text = mDriver.findElement(By.name("textinput"));
-        assertNull(text.getCssValue(INEXISTENT));
-    }
-
-    // getSize
-    public void testGetSize() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement text = mDriver.findElements(By.name("textinput")).get(0);
-        assertEquals(100, text.getSize().x);
-        assertEquals(50, text.getSize().y);
-    }
-
-    // getLocation
-    public void testGetLocation () {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement tag = mDriver.findElement(By.linkText("Tag A"));
-        assertEquals(8, tag.getLocation().x);
-        assertEquals(8, tag.getLocation().y);
-    }
-
-    // isDisplayed
-    public void testIsDisplayed() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement hidden = mDriver.findElement(By.id("fromage"));
-        assertFalse(hidden.isDisplayed());
-        WebElement checky = mDriver.findElement(By.id("checky"));
-        assertTrue(checky.isDisplayed());
-    }
-
-    // click
-    public void testClickOnWebElement() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement link = mDriver.findElement(By.id("inner"));
-        link.click();
-        assertEquals("test hello world", mDriver.getTitle());
-    }
-
-    // sendKeys
-    public void testSendKeys() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement type = mDriver.findElement(By.id("typehere"));
-        assertEquals("", type.getAttribute("value"));
-        type.sendKeys("hello");
-
-        assertEquals("hello", type.getAttribute("value"));
-        type.sendKeys(" ", "world", "!");
-        assertEquals("hello world!", type.getAttribute("value"));
-    }
-
-    // submit
-    public void testSubmit() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement link = mDriver.findElement(By.id("fromage"));
-        link.submit();
-        assertEquals("test hello world", mDriver.getTitle());
-    }
-
-    // clear
-    public void testClear() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement type = mDriver.findElement(By.id("typehere"));
-        assertEquals("", type.getAttribute("value"));
-        type.sendKeys("hello");
-        assertEquals("hello", type.getAttribute("value"));
-        type.clear();
-        assertEquals("", type.getAttribute("value"));
-    }
-
-    // findElement
-    public void testFindElementThrowsIfNoPageIsLoaded() {
-        try {
-            mDriver.findElement(By.id(SOME_TEXT_ID));
-            fail();
-        } catch (WebDriverException e) {
-            // this is expected
-        }
-    }
-
-    // findElements
-    public void testFindElementsThrowsIfNoPageIsLoaded() {
-        try {
-            mDriver.findElements(By.id(SOME_TEXT_ID));
-            fail();
-        } catch (WebDriverException e) {
-            // this is expected
-        }
-    }
-
-    // By id
-    public void testFindElementById() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement element = mDriver.findElement(By.id(SOME_TEXT_ID));
-        assertTrue(SOME_TEXT.equals(element.getText()));
-
-        element = mDriver.findElement(By.id(DIV_ID));
-        assertTrue(DIV_TEXT.equals(element.getText()));
-    }
-
-    public void testFindElementByIdThrowsIfElementDoesNotExists() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.findElement(By.id(BAD_ID));
-            fail("This should have failed.");
-        } catch (WebElementNotFoundException e) {
-            // This is expected
-        }
-    }
-
-    public void testFindNestedElementById() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement parent = mDriver.findElement(By.id(DIV_ID));
-        WebElement nestedNode = parent.findElement(By.id(NESTED_LINK_ID));
-        assertTrue(NESTED_TEXT.equals(nestedNode.getText()));
-    }
-
-    public void testFindElementsById() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(By.id(ID + "3"));
-        assertEquals(2, elements.size());
-        assertEquals("A paragraph", elements.get(1).getText());
-    }
-
-    public void testFindElementsByIdReturnsEmptyListIfNoResultsFound() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(By.id(INEXISTENT));
-        assertNotNull(elements);
-        assertEquals(0, elements.size());
-    }
-
-    public void testFindNestedElementsById() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement div = mDriver.findElement(By.name(FIRST_DIV));
-        List<WebElement> elements = div.findElements(By.id("n1"));
-        assertEquals(2, elements.size());
-        assertEquals("spann1", elements.get(1).getAttribute("name"));
-    }
-
-    // By linkText
-    public void testFindElementByLinkText() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement element = mDriver.findElement(By.linkText("Nested text"));
-        assertTrue(NESTED_LINK_ID.equals(element.getAttribute(ID)));
-    }
-
-    public void testFindElementByLinkTextThrowsIfElementDoesNotExists() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.findElement(By.linkText(INEXISTENT));
-            fail("This should have failed.");
-        } catch (WebElementNotFoundException e) {
-            // This is expected
-        }
-    }
-
-    public void testFindNestedElementByLinkText() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement parent = mDriver.findElement(By.id(DIV_ID));
-        WebElement nestedNode = parent.findElement(By.linkText("Foo"));
-        assertTrue("inner".equals(nestedNode.getAttribute(ID)));
-    }
-
-    public void testFindElementsByLinkText() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(By.linkText("Foo"));
-        assertEquals(4, elements.size());
-    }
-
-    public void testFindElementsByLinkTextReturnsEmptyListIfNoResultsFound() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(By.linkText("Boo"));
-        assertEquals(0, elements.size());
-    }
-
-    public void testFindNestedElementsByLinkText() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement div = mDriver.findElement(By.name(FIRST_DIV));
-        List<WebElement> elements =
-                div.findElements(By.linkText("Nested text"));
-        assertEquals(2, elements.size());
-    }
-
-    // By partialLinkText
-    public void testFindElementByPartialLinkText() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement element = mDriver.findElement(By.partialLinkText("text"));
-        assertTrue(SOME_TEXT.equals(element.getText()));
-    }
-
-    public void testFindElementByPartialLinkTextThrowsIfElementDoesNotExists() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.findElement(By.partialLinkText(INEXISTENT));
-            fail("This should have failed.");
-        } catch (WebElementNotFoundException e) {
-            // This is expected
-        }
-    }
-
-    public void testFindNestedElementByPartialLinkText() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement parent = mDriver.findElement(By.id(DIV_ID));
-        WebElement nestedNode = parent.findElement(By.partialLinkText("text"));
-        assertTrue(NESTED_TEXT.equals(nestedNode.getText()));
-    }
-
-    public void testFindElementsByPartialLinkText() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements =
-                mDriver.findElements(By.partialLinkText("text"));
-        assertTrue(elements.size() > 2);
-    }
-
-    public void
-    testFindElementsByPartialLinkTextReturnsEmptyListIfNoResultsFound() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements =
-                mDriver.findElements(By.partialLinkText(INEXISTENT));
-        assertEquals(0, elements.size());
-    }
-
-    public void testFindNestedElementsByPartialLinkText() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement div = mDriver.findElements(By.name(FIRST_DIV)).get(0);
-        List<WebElement> elements =
-                div.findElements(By.partialLinkText("text"));
-        assertEquals(2, elements.size());
-    }
-
-    // by name
-    public void testFindElementByName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement element = mDriver.findElement(By.name("foo"));
-        assertTrue(OUTTER.equals(element.getAttribute(ID)));
-    }
-
-    public void testFindElementByNameThrowsIfElementDoesNotExists() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.findElement(By.name(INEXISTENT));
-            fail("This should have failed.");
-        } catch (WebElementNotFoundException e) {
-            // This is expected
-        }
-    }
-
-    public void testFindNestedElementByName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement parent = mDriver.findElement(By.id(DIV_ID));
-        WebElement nestedNode = parent.findElement(By.name("nestedLink"));
-        assertTrue(NESTED_TEXT.equals(nestedNode.getText()));
-    }
-
-    public void testFindElementsByName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(By.name("text"));
-        assertEquals(2, elements.size());
-    }
-
-    public void testFindElementsByNameReturnsEmptyListIfNoResultsFound() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(By.name(INEXISTENT));
-        assertEquals(0, elements.size());
-    }
-
-    public void testFindNestedElementsByName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement div = mDriver.findElements(By.xpath(
-                "//div[@" + ID + "='divId']"))
-                .get(0);
-        List<WebElement> elements = div.findElements(By.name("foo"));
-        assertEquals(1, elements.size());
-    }
-
-    // By tagName
-    public void testFindElementByTagName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement element = mDriver.findElement(By.tagName("a"));
-        assertTrue("Tag A".equals(element.getText()));
-    }
-
-    public void testFindElementByTagNameThrowsIfElementDoesNotExists() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.findElement(By.tagName(INEXISTENT));
-            fail("This should have failed.");
-        } catch (WebElementNotFoundException e) {
-            // This is expected
-        }
-    }
-
-    public void testFindNestedElementByTagName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement parent = mDriver.findElement(By.id(DIV_ID));
-        WebElement nestedNode = parent.findElement(By.tagName("a"));
-        assertTrue(NESTED_TEXT.equals(nestedNode.getText()));
-    }
-
-    public void testFindElementsByTagName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(By.tagName("a"));
-        assertTrue(elements.size() > 0);
-    }
-
-    public void testFindElementsByTagNameReturnsEmptyListIfNoResultsFound() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(
-                By.tagName(INEXISTENT));
-        assertEquals(0, elements.size());
-    }
-
-    public void testFindNestedElementsByTagName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement div = mDriver.findElement(By.xpath(
-                "//div[@" + ID + "='divId']"));
-        List<WebElement> elements = div.findElements(By.tagName("span"));
-        assertEquals(1, elements.size());
-    }
-
-    // By xpath
-    public void testFindElementByXPath() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement element =
-                mDriver.findElement(By.xpath(
-                "//a[@" + ID + "=\"someTextId\"]"));
-        assertTrue(SOME_TEXT.equals(element.getText()));
-
-        element = mDriver.findElement(By.xpath("//div[@name='firstDiv']"));
-        assertTrue(DIV_TEXT.equals(element.getText()));
-    }
-
-    public void testFindElementByXPathThrowsIfElementDoesNotExists() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.findElement(By.xpath("//a[@" + ID + "='inexistant']"));
-            fail("This should have failed.");
-        } catch (WebElementNotFoundException e) {
-            // This is expected
-        }
-    }
-
-    public void testFindNestedElementByXPath() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement parent = mDriver.findElement(By.xpath(
-                "//div[@" + ID + "='divId']"));
-        WebElement nestedNode = parent.findElement(
-                By.xpath(".//a[@" + ID + "='nestedLinkId']"));
-        assertTrue(NESTED_TEXT.equals(nestedNode.getText()));
-    }
-
-    public void testFindElementsByXPath() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(
-                By.xpath("//a[@name='foo']"));
-        assertTrue(elements.size() > 1);
-    }
-
-    public void testFindElementsByXPathReturnsEmptyListIfNoResultsFound() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements =
-                mDriver.findElements(By.xpath(
-                        "//a[@" + ID + "='inexistant']"));
-        assertEquals(0, elements.size());
-    }
-
-    public void testFindNestedElementsByXPath() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement div = mDriver.findElements(By.xpath(
-                "//div[@" + ID + "='divId']"))
-                .get(0);
-        List<WebElement> elements = div.findElements(
-                By.xpath(".//a[@name='foo']"));
-        assertEquals(1, elements.size());
-    }
-
-    public void testFindElementByXpathWithInvalidXPath() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.findElement(By.xpath("//a@" + ID + "=inexistant']"));
-            fail("This should have failed.");
-        } catch (WebDriverException e) {
-            // This is expected
-        }
-    }
-
-    // By className
-    public void testFindElementByClassName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement element = mDriver.findElement(By.className(" spaceAround "));
-        assertTrue("Spaced out".equals(element.getText()));
-    }
-
-    public void testFindElementByClassNameThrowsIfElementDoesNotExists() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.findElement(By.className("bou"));
-            fail("This should have failed.");
-        } catch (WebElementNotFoundException e) {
-            // This is expected
-        }
-    }
-
-    public void testFindNestedElementByClassName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement parent = mDriver.findElement(By.id(DIV_ID));
-        WebElement nestedNode = parent.findElement(By.className("divClass"));
-        assertTrue(NESTED_TEXT.equals(nestedNode.getText()));
-    }
-
-    public void testFindElementsByClassName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements =
-                mDriver.findElements(By.className("divClass"));
-        assertTrue(elements.size() > 1);
-    }
-
-    public void testFindElementsByClassNameReturnsEmptyListIfNoResultsFound() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements =
-                mDriver.findElements(By.className(INEXISTENT));
-        assertEquals(0, elements.size());
-    }
-
-    public void testFindNestedElementsByClassName() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement parent = mDriver.findElement(By.id(DIV_ID));
-        List<WebElement> nested =
-                parent.findElements(By.className("divClass"));
-        assertTrue(nested.size() > 0);
-    }
-
-    // By css
-    public void testFindElementByCss() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement element = mDriver.findElement(By.css("#" + "outter"));
-        assertTrue("Foo".equals(element.getText()));
-    }
-
-    public void testFindElementByCssThrowsIfElementDoesNotExists() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.findElement(By.css("bou.foo"));
-            fail("This should have failed.");
-        } catch (WebElementNotFoundException e) {
-            // This is expected
-        }
-    }
-
-    public void testFindNestedElementByCss() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement parent = mDriver.findElement(By.id(DIV_ID));
-        WebElement nestedNode = parent.findElement(
-                By.css("#" + NESTED_LINK_ID));
-        assertTrue(NESTED_TEXT.equals(nestedNode.getText()));
-    }
-
-    public void testFindElementsByCss() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(
-                By.css("#" + SOME_TEXT_ID));
-        assertTrue(elements.size() > 0);
-    }
-
-    public void testFindElementsByCssReturnsEmptyListIfNoResultsFound() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> elements = mDriver.findElements(By.css("bou.foo"));
-        assertEquals(0, elements.size());
-    }
-
-    public void testFindNestedElementsByCss() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement parent = mDriver.findElement(By.id(DIV_ID));
-        List<WebElement> nested = parent.findElements(
-                By.css("#" + NESTED_LINK_ID));
-        assertEquals(1, nested.size());
-    }
-
-    public void testExecuteScriptShouldReturnAString() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        Object result = mDriver.executeScript("return document.title");
-        assertEquals("Form Test Page", (String) result);
-    }
-
-    public void testExecuteScriptShouldReturnAWebElement() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        Object result = mDriver.executeScript(
-                "return document.getElementsByTagName('div')[0];");
-        assertTrue(result instanceof WebElement);
-        assertEquals(DIV_TEXT, ((WebElement) result).getText());
-    }
-
-    public void testExecuteScriptShouldPassAndReturnADouble() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        Double expected = new Double(1.2);
-        Object result = mDriver.executeScript("return arguments[0];", expected);
-        assertTrue(result instanceof Double);
-        assertEquals(expected, (Double) result);
-    }
-
-    public void testExecuteScriptShouldPassAndReturnALong() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        Long expected = new Long(1);
-        Object result = mDriver.executeScript("return arguments[0];", expected);
-        assertTrue(result instanceof Long);
-        assertEquals(expected, (Long) result);
-    }
-
-    public void testExecuteScriptShouldPassReturnABoolean() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        Boolean expected = new Boolean(true);
-        Object result = mDriver.executeScript("return arguments[0] === true;",
-                expected);
-        assertTrue(result instanceof Boolean);
-        assertEquals(expected, (Boolean) result);
-    }
-
-    public void testExecuteScriptShouldReturnAList() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<String> expected = new ArrayList();
-        expected.add("one");
-        expected.add("two");
-        expected.add("three");
-
-        Object result = mDriver.executeScript(
-                "return ['one', 'two', 'three'];");
-
-        assertTrue(expected.equals((List<String>) result));
-    }
-
-    public void testExecuteScriptShouldReturnNestedList() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<Object> expected = new ArrayList();
-        expected.add("one");
-        List<Object> nestedList = new ArrayList();
-        nestedList.add(true);
-        nestedList.add(false);
-        expected.add(nestedList);
-        Map<String, Object> nestedMap = new HashMap();
-        nestedMap.put("bread", "cheese");
-        nestedMap.put("hungry", true);
-        expected.add(nestedMap);
-
-        Object result = mDriver.executeScript(
-                "return ['one', [true, false], "
-                + "{bread:'cheese', hungry:true}];");
-
-        assertTrue(expected.equals(result));
-    }
-
-    public void testExecuteScriptShouldBeAbleToReturnALisOfwebElements() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<WebElement> result = (List<WebElement>) mDriver.executeScript(
-                "return document.getElementsByTagName('a')");
-        assertTrue(result.size() > 1);
-    }
-
-    public void testExecuteScriptShouldReturnAMap() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        Map<String, Object> expected = new HashMap();
-        expected.put("abc", Long.valueOf(123));
-        expected.put("cat", false);
-        Map<String, Object> nestedMap = new HashMap();
-        nestedMap.put("bread", "cheese");
-        nestedMap.put("hungry", true);
-        expected.put("map", nestedMap);
-        List<String> nestedList = new ArrayList();
-        nestedList.add("bou");
-        nestedList.add("truc");
-        expected.put("list", nestedList);
-
-        Object res = mDriver.executeScript("return {abc:123, cat:false, "
-                + "map:{bread:'cheese', hungry:true}, list:['bou', 'truc']};");
-        assertTrue(res instanceof Map);
-        Map<String, Object> result = (Map<String, Object>) res;
-        assertEquals(expected.size(), result.size());
-
-        assertTrue(expected.equals(result));
-    }
-
-    public void testExecuteScriptShouldThrowIfJsIsBad() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.executeScript("return bou();");
-            fail("This should have failed");
-        } catch (WebDriverException e) {
-            // This is expected.
-        }
-    }
-
-    public void testExecuteScriptShouldbeAbleToPassAString() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        String expected = "bou";
-        Object result = mDriver.executeScript("return arguments[0]", expected);
-        assertEquals(expected, (String) result);
-    }
-
-    public void testExecuteScriptShouldBeAbleToPassWebElement() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        WebElement div = mDriver.findElement(By.id(DIV_ID));
-        Object result = mDriver.executeScript(
-                "arguments[0]['flibble'] = arguments[0].getAttribute('"
-                + ID + "');"
-                + "return arguments[0]['flibble'];", div);
-        assertEquals(DIV_ID, (String) result);
-    }
-
-    public void testExecuteScriptShouldBeAbleToPassAList() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<String> expected = new ArrayList();
-        expected.add("apple");
-        expected.add("cheese");
-        expected.add("food");
-
-        Object result = mDriver.executeScript(
-                "return arguments[0].length", expected);
-        assertEquals(expected.size(), ((Long) result).intValue());
-    }
-
-    public void testExecuteScriptShouldBeAbleToPassNestedLists() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        List<Object> expected = new ArrayList();
-        expected.add("apple");
-        expected.add("cheese");
-        List<Integer> nested = new ArrayList();
-        nested.add(1);
-        nested.add(2);
-        expected.add(nested);
-        expected.add("food");
-
-        Object result = mDriver.executeScript(
-                "return arguments[0][2].length", expected);
-        assertEquals(nested.size(), ((Long) result).intValue());
-    }
-
-    public void testExecuteScriptShouldBeAbleToPassAMap() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        Map<String, String> expected = new HashMap();
-        expected.put("apple", "pie");
-        expected.put("cheese", "cake");
-
-        Object result = mDriver.executeScript(
-                "return arguments[0].apple", expected);
-        assertEquals(expected.get("apple"), (String) result);
-    }
-
-    public void testExecuteScriptShouldBeAbleToPassNestedMaps() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        Map<String, Object> expected = new HashMap();
-        expected.put("apple", "pie");
-        Map<String, String> nested = new HashMap();
-        nested.put("foo", "boo");
-        expected.put("nested", nested);
-        expected.put("cheese", "cake");
-
-        Object result = mDriver.executeScript(
-                "return arguments[0].nested.foo", expected);
-        assertEquals(((Map<String, Object>)expected.get("nested")).get("foo"),
-                (String) result);
-    }
-
-
-    public void testExecuteScriptShouldThrowIfArgumentIsNotValid() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        try {
-            mDriver.executeScript("return arguments[0];", mDriver);
-            fail("This should have failed");
-        } catch (IllegalArgumentException e) {
-            // This is expected.
-        }
-    }
-
-    public void testExecuteScriptHandlesStringCorrectly() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        String cheese = "cheese";
-        String bread = "bread";
-        Object result = mDriver.executeScript(
-                "return 'I love ' + arguments[0] + ' and ' + arguments[1]",
-                cheese, bread);
-        assertEquals("I love cheese and bread", (String) result);
-    }
-
-    public void testExecuteScriptShouldThrowIfNoPageLoaded() {
-        try {
-            mDriver.executeScript("return 'bou';");
-            fail("This should have failed");
-        } catch (WebDriverException e) {
-            // This is expected.
-        }
-    }
-
-    public void testExecuteScriptShouldBeAbleToCreatePersistentValue() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        mDriver.executeScript("document.b" + ID + "ule = ['hello']");
-        Object result = mDriver.executeScript(
-                "return document.b" + ID + "ule.shift();");
-        assertEquals("hello", (String) result);
-    }
-
-    public void testExecuteScriptEscapesQuotesAndBackslash() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        assertTrue((Boolean) mDriver.executeScript(
-                "return \"foo'\\\"\" == arguments[0];", "foo'\""));
-        assertTrue((Boolean) mDriver.executeScript(
-                "return \"foo'\\\"bar\" == arguments[0];", "foo'\"bar"));
-        assertTrue((Boolean) mDriver.executeScript(
-                "return 'foo\"' == arguments[0];", "foo\""));
-        assertTrue((Boolean) mDriver.executeScript(
-                "return \"foo'\" == arguments[0];", "foo'"));
-        assertTrue((Boolean) mDriver.executeScript(
-                "return \"foo\\\\\\\"\" == arguments[0];", "foo\\\""));
-        assertTrue((Boolean) mDriver.executeScript(
-                "return \"f\\\"o\\\\o\\\\\\\\\\\"\" == arguments[0];",
-                "f\"o\\o\\\\\""));
-    }
-
-    public void testExecuteScriptReturnsNull() {
-        mDriver.get(mWebServer.getAssetUrl(FORM_PAGE_URL));
-        Object result = mDriver.executeScript("return null;");
-        assertNull(result);
-        result = mDriver.executeScript("return undefined;");
-        assertNull(result);
-    }
-
-    public void testExecuteScriptShouldThrowIfNoPageIsLoaded() {
-        try {
-            Object result = mDriver.executeScript("return null;");
-            fail();
-        } catch (Exception e) {
-
-        }
-    }
-}