old-tests: remove webdriver tests

These tests have to a large degree been replaced by the new
wdspec-backed tests under /webdriver.

They do not replace these tests in their entirety, but these tests
are a combination of incomplete, untried, and outdated and it would
be prohibitively hard and wasteful to lead an effort in resurrecting them.

Better sources to port existing tests from include from Mozilla's
Marionette repository and Selenium.

Fixes: https://github.com/w3c/web-platform-tests/issues/7556
diff --git a/old-tests/webdriver/README.md b/old-tests/webdriver/README.md
deleted file mode 100644
index 7a89fb7..0000000
--- a/old-tests/webdriver/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# W3C Browser Automation Specification Tests
-
-This repository defines a set of conformance tests for the W3C web
-browser automation specification known as WebDriver.  The purpose is
-for the different driver implementations to be tested to determine
-whether they meet the recognized standard.
-
-## How to run the tests
-
-1. Go to the WebDriver tests: `cd _WEBDRIVER_TEST_ROOT_`
-2. Run the tests: `python runtests.py`
-3. Run the test against a different config specified in webdriver.cfg:
-   `WD_BROWSER=chrome python runtests.py`
-
-To be run a specific test file you can just run `python test_file.py`
-
-Similarly you can specify a different browser to run against if in webdriver.cfg:
-  `WD_BROWSER=chrome python ecmascript/ecmascript_test.py`
-
-Note: that you will need likely need to start the driver's server before running.
-
-## Updating configuration
-
-The _webdriver.cfg_ file holds any configuration that the tests might
-require.  Change the value of browser to your needs.  This will then
-be picked up by WebDriverBaseTest when tests are run.
-
-Be sure not to commit your _webdriver.cfg_ changes when your create or modify tests.
-
-## How to write tests
-
-1. Create a test file per section from the specification.
-2. For each test there needs to be one or more corresponding HTML
-   files that will be used for testing.  HTML files are not to be
-   reused between tests. HTML files and other support files
-   should be stored in a folder named 'res'.
-3. Test name should explain the intention of the test e.g. `def
-   test_navigate_and_return_title(self):`
diff --git a/old-tests/webdriver/base_test.py b/old-tests/webdriver/base_test.py
deleted file mode 100644
index 8510999..0000000
--- a/old-tests/webdriver/base_test.py
+++ /dev/null
@@ -1,60 +0,0 @@
-import ConfigParser
-import json
-import os
-import sys
-import unittest
-
-from network import get_lan_ip
-
-repo_root = os.path.abspath(os.path.join(__file__, "../.."))
-sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
-sys.path.insert(1, os.path.join(repo_root, "tools", "wptserve"))
-from wptserve import server
-from selenium import webdriver
-
-
-class WebDriverBaseTest(unittest.TestCase):
-    @classmethod
-    def setUpClass(cls):
-        cls.driver = create_driver()
-
-        cls.webserver = server.WebTestHttpd(host=get_lan_ip())
-        cls.webserver.start()
-        cls.webserver.where_is = cls.webserver.get_url
-
-    @classmethod
-    def tearDownClass(cls):
-        cls.webserver.stop()
-        if cls.driver:
-            cls.driver.quit()
-
-
-def create_driver():
-    config = ConfigParser.ConfigParser()
-    config.read('webdriver.cfg')
-    section = os.environ.get("WD_BROWSER", 'firefox')
-    if config.has_option(section, 'url'):
-        url = config.get(section, "url")
-    else:
-        url = 'http://127.0.0.1:4444/wd/hub'
-    capabilities = None
-    if config.has_option(section, 'capabilities'):
-        try:
-            capabilities = json.loads(config.get(section, "capabilities"))
-        except:
-            pass
-    mode = 'compatibility'
-    if config.has_option(section, 'mode'):
-        mode = config.get(section, 'mode')
-    if section == 'firefox':
-        driver = webdriver.Firefox()
-    elif section == 'chrome':
-        driver = webdriver.Chrome()
-    elif section == 'edge':
-        driver = webdriver.Remote()
-    elif section == 'ie':
-        driver = webdriver.Ie()
-    elif section == 'selendroid':
-        driver = webdriver.Android()
-
-    return driver
diff --git a/old-tests/webdriver/command_contexts/__init__.py b/old-tests/webdriver/command_contexts/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/old-tests/webdriver/command_contexts/__init__.py
+++ /dev/null
diff --git a/old-tests/webdriver/command_contexts/open_and_close_window_test.py b/old-tests/webdriver/command_contexts/open_and_close_window_test.py
deleted file mode 100644
index 61d04d9..0000000
--- a/old-tests/webdriver/command_contexts/open_and_close_window_test.py
+++ /dev/null
@@ -1,64 +0,0 @@
-import os
-import sys
-import random
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-repo_root = os.path.abspath(os.path.join(__file__, "../../.."))
-sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
-from webdriver import exceptions
-
-
-class OpenAndCloseWindowTest(base_test.WebDriverBaseTest):
-    def setUp(self):
-        self.driver.get(self.webserver.where_is("command_contexts/res/first-page.html"))
-
-    def tearDown(self):
-        handles = self.driver.get_window_handles()
-
-        for i in range(len(handles) - 1):
-            self.driver.switch_to_window(handles[i])
-            self.driver.close()
-
-        self.driver.switch_to_window(self.driver.get_window_handles()[0])
-
-    def test_open_new_window(self):
-        handles = self.driver.get_window_handles()
-        self.driver.find_element_by_id("open_new_window").click()
-        self.assertEquals(len(handles) + 1, len(self.driver.get_window_handles()))
-
-    def test_get_window_handles_returns_the_windows_that_have_been_opened(self):
-        self.driver.find_element_by_id("open_new_window").click()
-        handles = self.driver.get_window_handles()
-        self.driver.switch_to_window(handles[0])
-        url1 = self.driver.get_current_url()
-        self.driver.switch_to_window(handles[1])
-        url2 = self.driver.get_current_url()
-
-        if url1 == self.webserver.where_is("controlling_windows/res/other-page.html"):
-            self.assertEquals(url2, self.webserver.where_is("controlling_windows/res/first-page.html"))
-        elif url1 == self.webserver.where_is("controlling_windows/res/first-page.html"):
-            self.assertEquals(url2, self.webserver.where_is("controlling_windows/res/other-page.html"))
-        else:
-            self.fail("The wrong set of URLs were returned")
-
-    def test_close_window(self):
-        open_windows = len(self.driver.get_window_handles())
-
-        self.driver.find_element_by_id("open_new_window").click()
-        self.assertEquals(1 + open_windows, len(self.driver.get_window_handles()))
-
-        self.driver.close()
-        self.assertEquals(open_windows, len(self.driver.get_window_handles()))
-
-    def test_command_sent_to_closed_window_returns_no_such_window_exception(self):
-        self.driver.find_element_by_id("open_new_window").click()
-        self.driver.close()
-
-        with self.assertRaises(exceptions.NoSuchWindowException):
-            self.driver.get_window_handle()
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/command_contexts/res/first-page.html b/old-tests/webdriver/command_contexts/res/first-page.html
deleted file mode 100644
index e4aa13e..0000000
--- a/old-tests/webdriver/command_contexts/res/first-page.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-
-<html>
-<head>
-    <meta charset="utf-8" />
-    <title>First Page</title>
-</head>
-<body>
-    <a href="./other-page.html" target="_blank" id="open_new_window">Open new window</a>
-</body>
-</html>
\ No newline at end of file
diff --git a/old-tests/webdriver/command_contexts/res/other-page.html b/old-tests/webdriver/command_contexts/res/other-page.html
deleted file mode 100644
index 4bb4874..0000000
--- a/old-tests/webdriver/command_contexts/res/other-page.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-
-<html>
-<head>
-    <meta charset="utf-8" />
-    <title>Other Page</title>
-</head>
-<body>
-    <a href="./other-page.html" target="_blank" id="open_new_window">Open new window</a>
-</body>
-</html>
\ No newline at end of file
diff --git a/old-tests/webdriver/command_contexts/window_handle_test.py b/old-tests/webdriver/command_contexts/window_handle_test.py
deleted file mode 100644
index 6d8e569..0000000
--- a/old-tests/webdriver/command_contexts/window_handle_test.py
+++ /dev/null
@@ -1,33 +0,0 @@
-import os
-import sys
-import random
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-repo_root = os.path.abspath(os.path.join(__file__, "../../.."))
-sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
-from webdriver import exceptions
-
-
-class WindowHandleTest(base_test.WebDriverBaseTest):
-    def setUp(self):
-        self.driver.get(self.webserver.where_is("command_contexts/res/first-page.html"))
-
-    def test_window_handle_is_not_current(self):
-        handle = self.driver.get_window_handle()
-        self.assertNotEquals(handle, "current")
-
-    def test_window_handles_are_unique(self):
-        number_of_windows = 20
-        new_window_button = self.driver.find_element_by_id("open_new_window")
-        for i in range(0, number_of_windows):
-            new_window_button.click()
-
-        handles = self.driver.get_window_handles()
-        if len(handles) > len(set(handles)):
-            self.fail('At least one window handle was repeated')
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/command_contexts/window_size_test.py b/old-tests/webdriver/command_contexts/window_size_test.py
deleted file mode 100644
index 955e9fe..0000000
--- a/old-tests/webdriver/command_contexts/window_size_test.py
+++ /dev/null
@@ -1,35 +0,0 @@
-import os
-import sys
-import random
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-repo_root = os.path.abspath(os.path.join(__file__, "../../.."))
-sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
-from webdriver import exceptions
-
-class WindowSizeTest(base_test.WebDriverBaseTest):
-
-    def test_set_and_get_window_size(self):
-        self.driver.get(self.webserver.where_is("command_contexts/res/first-page.html"))
-
-        initial_dimensions = self.driver.get_window_size()
-
-        new_dimensions = {
-            "height": initial_dimensions["height"] - 100,
-            "width": initial_dimensions["width"] - 100}
-
-        try:
-            self.driver.set_window_size(new_dimensions["height"], new_dimensions["width"])
-
-            actual_dimensions = self.driver.get_window_size()
-
-            self.assertDictEqual(new_dimensions, actual_dimensions)
-        except exceptions.UnsupportedOperationException:
-            pass
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/cookie/__init__.py b/old-tests/webdriver/cookie/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/old-tests/webdriver/cookie/__init__.py
+++ /dev/null
diff --git a/old-tests/webdriver/cookie/cookie_test.py b/old-tests/webdriver/cookie/cookie_test.py
deleted file mode 100644
index e57d467..0000000
--- a/old-tests/webdriver/cookie/cookie_test.py
+++ /dev/null
@@ -1,57 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.common import exceptions
-
-
-class CookieTest(base_test.WebDriverBaseTest):
-    def setUp(self):
-        self.driver.get(self.webserver.where_is("cookie/res/cookie_container.html"))
-
-    def test_can_create_a_well_formed_cookie( self ):
-        self.driver.add_cookie({'name': 'foo', 'value': 'bar'})
-
-    def test_cookies_should_allow_secure_to_be_set( self ):
-        name = 'foo'
-        self.driver.add_cookie({'name': name,
-                                'value': 'bar',
-                                'path': '/',
-                                'secure': (True)})
-        self.assertTrue(self.driver.get_cookie(name)[0]['secure'])
-
-    def test_secure_defaults_to_false( self ):
-        name = 'foo'
-        value = 'bar'
-
-        self.driver.add_cookie({ 'name': name,
-                                 'value': value})
-
-        self.assertFalse(self.driver.get_cookie(name)[0]['secure'])
-
-    def test_should_throw_an_exception_when_semicolon_exists_in_the_cookie_attribute(self):
-        invalid_name = 'foo;bar'
-        try:
-            self.driver.add_cookie({'name': invalid_name, 'value': 'foobar'})
-            self.fail( 'should have thrown exceptions.' )
-
-        except exceptions.UnableToSetCookieException:
-            pass
-        except exceptions.InvalidCookieDomainException:
-            pass
-
-    def test_should_throw_an_exception_the_name_is_null(self):
-        try:
-            self.driver.add_cookie({'name': None, 'value': 'foobar'})
-            self.fail( 'should have thrown exceptions.' )
-
-        except exceptions.UnableToSetCookieException:
-            pass
-        except exceptions.InvalidCookieDomainException:
-            pass
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/old-tests/webdriver/cookie/res/cookie_container.html b/old-tests/webdriver/cookie/res/cookie_container.html
deleted file mode 100644
index bb6b209..0000000
--- a/old-tests/webdriver/cookie/res/cookie_container.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>Cookie Container</title>
-<body>
-</body>
diff --git a/old-tests/webdriver/ecmascript/ecmascript_test.py b/old-tests/webdriver/ecmascript/ecmascript_test.py
deleted file mode 100644
index 89764bf..0000000
--- a/old-tests/webdriver/ecmascript/ecmascript_test.py
+++ /dev/null
@@ -1,17 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-class EcmasScriptTest(base_test.WebDriverBaseTest):
-    def test_that_ecmascript_returns_document_title(self):
-        self.driver.get(self.webserver.where_is("ecmascript/res/ecmascript_test.html"))
-        result = self.driver.execute_script("return document.title;");
-        self.assertEquals("ecmascript test", result);
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/ecmascript/res/ecmascript_test.html b/old-tests/webdriver/ecmascript/res/ecmascript_test.html
deleted file mode 100644
index 346e2ef..0000000
--- a/old-tests/webdriver/ecmascript/res/ecmascript_test.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<title>ecmascript test</title>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_location/__init__.py b/old-tests/webdriver/element_location/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/old-tests/webdriver/element_location/__init__.py
+++ /dev/null
diff --git a/old-tests/webdriver/element_location/element_location_test.py b/old-tests/webdriver/element_location/element_location_test.py
deleted file mode 100644
index aff548e..0000000
--- a/old-tests/webdriver/element_location/element_location_test.py
+++ /dev/null
@@ -1,60 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-class ElementLocationTest(base_test.WebDriverBaseTest):
-    def test_find_element_by_name(self):
-        self.driver.get(self.webserver.where_is("element_location/res/elements.html"))
-        e = self.driver.find_element_by_name("name")
-        self.assertEquals("name", e.text)
-
-    def test_find_element_by_css_selector(self):
-        self.driver.get(self.webserver.where_is("element_location/res/elements.html"))
-        e = self.driver.find_element_by_css_selector("#id")
-        self.assertEquals("id", e.text)
-
-    def test_find_element_by_link_text(self):
-        self.driver.get(self.webserver.where_is("element_location/res/elements.html"))
-        e = self.driver.find_element_by_link_text("link text")
-        self.assertEquals("link text", e.text)
-
-    def test_find_element_by_partial_link_text(self):
-        self.driver.get(self.webserver.where_is("element_location/res/elements.html"))
-        e = self.driver.find_element_by_partial_link_text("link tex")
-        self.assertEquals("link text", e.text)
-
-    def test_find_element_by_xpath(self):
-        self.driver.get(self.webserver.where_is("element_location/res/elements.html"))
-        e = self.driver.find_element_by_xpath("//*[@id='id']")
-        self.assertEquals("id", e.text)
-
-    def test_find_elements_by_name(self):
-        self.driver.get(self.webserver.where_is("element_location/res/elements.html"))
-        e = self.driver.find_elements_by_name("name")
-        self.assertEquals("name", e[0].text)
-
-    def test_find_elements_by_css_selector(self):
-        self.driver.get(self.webserver.where_is("element_location/res/elements.html"))
-        e = self.driver.find_elements_by_css_selector("#id")
-        self.assertEquals("id", e[0].text)
-
-    def test_find_elements_by_link_text(self):
-        self.driver.get(self.webserver.where_is("element_location/res/elements.html"))
-        e = self.driver.find_elements_by_link_text("link text")
-        self.assertEquals("link text", e[0].text)
-
-    def test_find_elements_by_partial_link_text(self):
-        self.driver.get(self.webserver.where_is("element_location/res/elements.html"))
-        e = self.driver.find_elements_by_partial_link_text("link tex")
-        self.assertEquals("link text", e[0].text)
-
-    def test_find_elements_by_xpath(self):
-        self.driver.get(self.webserver.where_is("element_location/res/elements.html"))
-        e = self.driver.find_elements_by_xpath("//*[@id='id']")
-        self.assertEquals("id", e[0].text)
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/element_location/res/elements.html b/old-tests/webdriver/element_location/res/elements.html
deleted file mode 100644
index 45b7c23..0000000
--- a/old-tests/webdriver/element_location/res/elements.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-
-<title>Element location</title>
-
-<body>
-  <div id="id">id</div>
-  <div id="name" name="name">name</div>
-  <a id="link">link text</a>
-</body>
diff --git a/old-tests/webdriver/element_state/__init__.py b/old-tests/webdriver/element_state/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/old-tests/webdriver/element_state/__init__.py
+++ /dev/null
diff --git a/old-tests/webdriver/element_state/method_test.py b/old-tests/webdriver/element_state/method_test.py
deleted file mode 100644
index 85b240c..0000000
--- a/old-tests/webdriver/element_state/method_test.py
+++ /dev/null
@@ -1,107 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-class GetElementAttributeTest(base_test.WebDriverBaseTest):
-    def test_get_element_attribute(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-with-id-attribute.html"))
-        el = self.driver.find_element_by_css_selector("div")
-        self.assertEqual("myId", el.get_attribute("id"))
-
-    def test_style_attribute(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-with-style-attribute.html"))
-        el = self.driver.find_element_by_css_selector("div")
-        expected_style = """
-                         font-family: \"Gill Sans Extrabold\",Helvetica,sans-serif;
-                         line-height: 1.2; font-weight: bold;
-                         """
-        self.assertEqual(expected_style, el.get_attribute("style"))
-
-    def test_color_serialization_of_style_attribute(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-with-color-style-attribute.html"))
-        el = self.driver.find_element_by_css_selector("div")
-        self.assertEqual("color: rgba(255, 0, 0, 1.0);", el.get_attribute("style"))
-
-    def test_true_if_boolean_attribute_present(self):
-        self.driver.get(self.webserver.where_is("element_state/res/input-with-checked-attribute.html"))
-        el = self.driver.find_element_by_css_selector("input")
-        self.assertEqual("true", el.get_attribute("checked"))
-
-    def test_none_if_boolean_attribute_absent(self):
-        self.driver.get(self.webserver.where_is("element_state/res/input-without-checked-attribute.html"))
-        el = self.driver.find_element_by_css_selector("input")
-        self.assertIsNone(el.get_attribute("checked"))
-
-    def test_option_with_attribute_value(self):
-        self.driver.get(self.webserver.where_is("element_state/res/option-with-value-attribute.html"))
-        el = self.driver.find_element_by_css_selector("option")
-        self.assertEqual("value1", el.get_attribute("value"))
-
-    def test_option_without_value_attribute(self):
-        self.driver.get(self.webserver.where_is("element_state/res/option-without-value-attribute.html"))
-        el = self.driver.find_element_by_css_selector("option")
-        self.assertEqual("Value 1", el.get_attribute("value"))
-
-    def test_a_href_attribute(self):
-        self.driver.get(self.webserver.where_is("element_state/res/a-with-href-attribute.html"))
-        el = self.driver.find_element_by_css_selector("a")
-        self.assertEqual("http://web-platform.test:8000/path#fragment", el.get_attribute("href"))
-
-    def test_img_src_attribute(self):
-        self.driver.get(self.webserver.where_is("element_state/res/img-with-src-attribute.html"))
-        el = self.driver.find_element_by_css_selector("img")
-        self.assertEqual("http://web-platform.test:8000/images/blue.png", el.get_attribute("src"))
-
-    def test_custom_attribute(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-with-custom-attribute.html"))
-        el = self.driver.find_element_by_css_selector("div")
-        self.assertEqual("attribute value", el.get_attribute("webdriver-custom-attribute"))
-
-    def test_attribute_not_present(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-without-attribute.html"))
-        el = self.driver.find_element_by_css_selector("div")
-        self.assertIsNone(el.get_attribute("class"))
-
-    def test_find_attribute_with_special_characters(self):
-        self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
-        element = self.driver.find_element_by_id("id_special_char_attribute_name")
-        attribute = element.get_attribute("*")
-        self.assertEquals("special_char_attribute_name", attribute)
-
-    def test_find_attribute_with_special_char_name_and_value(self):
-        self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
-        element = self.driver.find_element_by_id("id_special_char_attribute_name_and_value")
-        attribute = element.get_attribute("@")
-        self.assertEquals("(", attribute)
-
-    def test_find_attribute_with_numeric_name(self):
-        self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
-        element = self.driver.find_element_by_id("id_attribute_name_numeric")
-        attribute = element.get_attribute("1")
-        self.assertEquals("numeric attribute name", attribute)
-
-    def test_find_attribute_with_numeric_value(self):
-        self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
-        element = self.driver.find_element_by_id("id_attribute_value_numeric")
-        attribute = element.get_attribute("one")
-        self.assertEquals("2", attribute)
-
-    def test_find_attribute_with_negative_numeric_name(self):
-        self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
-        element = self.driver.find_element_by_id("id_attribute_negative_numeric_name")
-        attribute = element.get_attribute("-5")
-        self.assertEquals("attribute name is -5", attribute)
-
-    def test_find_attribute_with_negative_numeric_value(self):
-        self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
-        element = self.driver.find_element_by_id("id_attribute_negative_numeric_value")
-        attribute = element.get_attribute("negative_numeric_value")
-        self.assertEquals("-9", attribute)
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/element_state/properties.py b/old-tests/webdriver/element_state/properties.py
deleted file mode 100644
index a767700..0000000
--- a/old-tests/webdriver/element_state/properties.py
+++ /dev/null
@@ -1,17 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-class GetElementPropertiesTest(base_test.WebDriverBaseTest):
-    def test_get_element_text(self):
-        self.driver.get(self.webserver.where_is("element_state/res/elements_text.html"))
-        e = self.driver.find_element_by_name("name")
-        self.assertEquals("name", e.text)
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/element_state/res/0x0-pixels.html b/old-tests/webdriver/element_state/res/0x0-pixels.html
deleted file mode 100644
index 3b081ca..0000000
--- a/old-tests/webdriver/element_state/res/0x0-pixels.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<meta charset='utf-8'>
-<title>0x0 pixel element</title>
-
-<style>
-div {
-  height: 0;
-  width: 0;
-}
-</style>
-
-<div>This element is not visible.</div>
diff --git a/old-tests/webdriver/element_state/res/1x1-pixels.html b/old-tests/webdriver/element_state/res/1x1-pixels.html
deleted file mode 100644
index f9b2cbc..0000000
--- a/old-tests/webdriver/element_state/res/1x1-pixels.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<meta charset='utf-8'>
-<title>1x1 pixel element</title>
-
-<style>
-p {
-  height: 1px;
-  width: 1px;
-}
-</style>
-
-<p>This element is visible.</p>
diff --git a/old-tests/webdriver/element_state/res/a-with-href-attribute.html b/old-tests/webdriver/element_state/res/a-with-href-attribute.html
deleted file mode 100644
index 7722426..0000000
--- a/old-tests/webdriver/element_state/res/a-with-href-attribute.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>"a" element with not fully qualified url</title>
-
-<a href="//web-platform.test:8000/path#fragment">&nbsp;</a>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/absolute-children-ancestor-hidden-overflow.html b/old-tests/webdriver/element_state/res/absolute-children-ancestor-hidden-overflow.html
deleted file mode 100644
index fcf1044..0000000
--- a/old-tests/webdriver/element_state/res/absolute-children-ancestor-hidden-overflow.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Parent node visible with absolutely positioned children, where ancestor overflow is hidden</title>
-
-<style>
-  body {
-    overflow: hidden;
-    height: 0;
-    width: 0;
-  }
-  .child { position: absolute }
-</style>
-
-<div id=parent>
-  <div class=child>grated</div>
-  <div class=child>cheese</div>
diff --git a/old-tests/webdriver/element_state/res/body_empty.html b/old-tests/webdriver/element_state/res/body_empty.html
deleted file mode 100644
index 0f4dff6..0000000
--- a/old-tests/webdriver/element_state/res/body_empty.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>BODY element has no children. MUST be reported displayed</title>
-<body/>
diff --git a/old-tests/webdriver/element_state/res/body_implicit.html b/old-tests/webdriver/element_state/res/body_implicit.html
deleted file mode 100644
index f458153..0000000
--- a/old-tests/webdriver/element_state/res/body_implicit.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>BODY tag is omitted; BODY element MUST be reported displayed</title>
diff --git a/old-tests/webdriver/element_state/res/body_overflow_hidden.html b/old-tests/webdriver/element_state/res/body_overflow_hidden.html
deleted file mode 100644
index 1411ef3..0000000
--- a/old-tests/webdriver/element_state/res/body_overflow_hidden.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>BODY element with style=overflow:hidden. MUST be reported displayed</title>
-<body style="overflow:hidden"/>
diff --git a/old-tests/webdriver/element_state/res/body_visibility_hidden.html b/old-tests/webdriver/element_state/res/body_visibility_hidden.html
deleted file mode 100644
index ce4d410..0000000
--- a/old-tests/webdriver/element_state/res/body_visibility_hidden.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>BODY element with style=visibility:hidden. MUST be reported displayed</title>
-<body style="visibility:hidden"/>
diff --git a/old-tests/webdriver/element_state/res/display-block.html b/old-tests/webdriver/element_state/res/display-block.html
deleted file mode 100644
index 0f31557..0000000
--- a/old-tests/webdriver/element_state/res/display-block.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset='utf-8'>
-<title>display: block;</title>
-
-<p>This element is visible.</p>
diff --git a/old-tests/webdriver/element_state/res/display-none-child-link.html b/old-tests/webdriver/element_state/res/display-none-child-link.html
deleted file mode 100644
index 88bdef6..0000000
--- a/old-tests/webdriver/element_state/res/display-none-child-link.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>display: none applies to child node links</title>
-
-<style>
-#parent { display: none }
-</style>
-
-<div id="parent">
-  <a id="child">hidden</a>
-</div>
diff --git a/old-tests/webdriver/element_state/res/display-none-child-paragraph.html b/old-tests/webdriver/element_state/res/display-none-child-paragraph.html
deleted file mode 100644
index 31ab16d..0000000
--- a/old-tests/webdriver/element_state/res/display-none-child-paragraph.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>display: none applies to child node paragraphs</title>
-
-<style>
-#parent { display: none }
-</style>
-
-<div id="parent">
-  <p id="child">hidden</p>
-</div>
diff --git a/old-tests/webdriver/element_state/res/display-none-child.html b/old-tests/webdriver/element_state/res/display-none-child.html
deleted file mode 100644
index b45ea0e..0000000
--- a/old-tests/webdriver/element_state/res/display-none-child.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>display: none applies to child nodes</title>
-
-<style>
-#parent { display: none }
-</style>
-
-<div id="parent">
-  <div id="child">Brie is good</div>
-</div>
diff --git a/old-tests/webdriver/element_state/res/display-none-dynamic.html b/old-tests/webdriver/element_state/res/display-none-dynamic.html
deleted file mode 100644
index 074f0b3..0000000
--- a/old-tests/webdriver/element_state/res/display-none-dynamic.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>display: none set dynamically</title>
-
-<p id="hidden">Should not be visible</span>
-
-<script>
-  var hidden = document.getElementById("hidden");
-  hidden.style.display = "none";
-</script>
diff --git a/old-tests/webdriver/element_state/res/display-none-parent-presedence-visibility.html b/old-tests/webdriver/element_state/res/display-none-parent-presedence-visibility.html
deleted file mode 100644
index 37ca023..0000000
--- a/old-tests/webdriver/element_state/res/display-none-parent-presedence-visibility.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>display: none on parent takes presedence over visibility: visible on child node</title>
-
-<style>
-  #parent { display: none }
-  #child { visibility: visible }
-</style>
-
-<div id="parent">
-  <div id="child">
-    hidden
-  </div>
-</div>
-in
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/display-none-parent-presedence.html b/old-tests/webdriver/element_state/res/display-none-parent-presedence.html
deleted file mode 100644
index 0f166d1..0000000
--- a/old-tests/webdriver/element_state/res/display-none-parent-presedence.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>display: none on parent takes presedence</title>
-
-<style>
-  #parent { display: none }
-  #child { dipslay: block }
-</style>
-
-<div id="parent">
-  <div id="child">
-    hidden
-  </div>
-</div>
diff --git a/old-tests/webdriver/element_state/res/display-none.html b/old-tests/webdriver/element_state/res/display-none.html
deleted file mode 100644
index 469fc93..0000000
--- a/old-tests/webdriver/element_state/res/display-none.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<meta charset='utf-8'>
-<title>display: none;</title>
-
-<style>
-p {
-  display: none;
-}
-</style>
-
-<p>This element is not visible.</p>
diff --git a/old-tests/webdriver/element_state/res/element-dynamically-moved-outside-viewport.html b/old-tests/webdriver/element_state/res/element-dynamically-moved-outside-viewport.html
deleted file mode 100644
index e31912b..0000000
--- a/old-tests/webdriver/element_state/res/element-dynamically-moved-outside-viewport.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element outside viewport</title>
-
-<style>
-  div { position: absolute }
-</style>
-
-<div>hidden</div>
-
-<script>
-  var el = document.getElementsByTagName("div")[0];
-  el.style.top = "-500px";
-  el.style.left = "-500px";
-</script>
diff --git a/old-tests/webdriver/element_state/res/element-hidden-by-other-element.html b/old-tests/webdriver/element_state/res/element-hidden-by-other-element.html
deleted file mode 100644
index a2cf645..0000000
--- a/old-tests/webdriver/element_state/res/element-hidden-by-other-element.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element hidden by other element</title>
-
-<style>
-  div {
-    position: absolute;
-    height: 100px;
-    width: 100px;
-  }
-
-  #overlay {
-    background: blue;
-  }
-
-  #hidden { background: red }
-</style>
-
-<div id="hidden"></div>
-<div id="overlay"></div>
diff --git a/old-tests/webdriver/element_state/res/element-hidden-by-z-index.html b/old-tests/webdriver/element_state/res/element-hidden-by-z-index.html
deleted file mode 100644
index 05e8eeb..0000000
--- a/old-tests/webdriver/element_state/res/element-hidden-by-z-index.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element hidden by z-index</title>
-
-<style>
-  * { position: relative }
-
-  #overlay,
-  #hidden {
-    height: 50px;
-    width: 50px;
-  }
-
-  #overlay {
-    background: blue;
-
-    z-index: 1;
-  }
-
-  #hidden {
-    background: red;
-    top: -50px;
-
-    z-index: -1;
-  }
-</style>
-
-<div id="overlay"></div>
-<div id="hidden"></div>
diff --git a/old-tests/webdriver/element_state/res/element-moved-behind-other-element-by-transform.html b/old-tests/webdriver/element_state/res/element-moved-behind-other-element-by-transform.html
deleted file mode 100644
index f91e729..0000000
--- a/old-tests/webdriver/element_state/res/element-moved-behind-other-element-by-transform.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element moved behind other element by transform</title>
-
-<style>
-  * { position: relative }
-
-  #overlay {
-    height: 50px;
-    width: 50px;
-    background: blue;
-    z-index: 1;
-  }
-
-  #hidden {
-    height: 50px;
-    width: 50px;
-    background: red;
-    z-index: -1;
-
-    transform: translate(0, -50px);
-
-    /* fix your browsers god damnit */
-    -webkit-transform: translate(0, -50px);
-    -moz-transform: translate(0x, -50px);
-  }
-</style>
-
-<div id="overlay"></div>
-<div id="hidden"></div>
-
diff --git a/old-tests/webdriver/element_state/res/element-moved-outside-viewport-by-transform.html b/old-tests/webdriver/element_state/res/element-moved-outside-viewport-by-transform.html
deleted file mode 100644
index 51f6ee8..0000000
--- a/old-tests/webdriver/element_state/res/element-moved-outside-viewport-by-transform.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element moved outside viewpor by transform</title>
-
-<style>
-  div {
-    transform: translate(-200px, -200px);
-
-    /* fix your browsers god damnit */
-    -webkit-transform: translate(-200px, -200px);
-    -moz-transform: translate(-200px, -200px);
-  }
-</style>
-
-<div>Cheddar!</div>
diff --git a/old-tests/webdriver/element_state/res/element-outside-viewport.html b/old-tests/webdriver/element_state/res/element-outside-viewport.html
deleted file mode 100644
index e3382ad..0000000
--- a/old-tests/webdriver/element_state/res/element-outside-viewport.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element outside viewport</title>
-
-<style>
-  div {
-    position: absolute;
-    top: -500px;
-    left: -500px;
-  }
-</style>
-
-<div>hidden</div>
diff --git a/old-tests/webdriver/element_state/res/element-partially-hidden-by-other-element.html b/old-tests/webdriver/element_state/res/element-partially-hidden-by-other-element.html
deleted file mode 100644
index 3d03259..0000000
--- a/old-tests/webdriver/element_state/res/element-partially-hidden-by-other-element.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element partially hidden by other element</title>
-
-<style>
-  div {
-    height: 100px;
-    width: 100px;
-  }
-
-  #partial {
-    background: yellow;
-  }
-
-  #other {
-    background: blue;
-    margin-top: -50px;
-    margin-left: 50px;
-  }
-</style>
-
-<div id="partial"></div>
-<div id="other"></div>
diff --git a/old-tests/webdriver/element_state/res/element-selected.html b/old-tests/webdriver/element_state/res/element-selected.html
deleted file mode 100644
index c2ad989..0000000
--- a/old-tests/webdriver/element_state/res/element-selected.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<html>
-<body>
-<select>
-    <option id="selected-1">selected-1</option>
-</select>
-<select>
-    <option id="selected-2">selected-2</option>
-    <option id="unselected-1">unselected-1</option>
-</select>
-<select disabled>
-    <option id="unselected-2">unselected-2</option>
-    <option id="selected-3" selected>selected-3</option>
-    <option id="unselected-3">unselected-3</option>
-</select>
-<select>
-    <option id="unselected-4" checked>unselected-4</option>
-    <option id="unselected-5">unselected-5</option>
-    <option id="selected-4" selected>selected-4</option>
-</select>
-<select>
-    <option id="unselected-6" selected>unselected-6</option>
-    <option id="selected-5">selected-5</option>
-</select>
-<script>
-    document.getElementById("selected-5").selected = true;
-</script>
-<select multiple>
-    <option id="unselected-7">unselected-7</option>
-    <option id="unselected-8">unselected-8</option>
-</select>
-<select multiple>
-    <option id="selected-6" selected>selected-6</option>
-    <option id="unselected-9" selected>unselected-9</option>
-    <option id="selected-7">selected-7</option>
-</select>
-<script>
-    document.getElementById("unselected-9").selected = false;
-    document.getElementById("selected-7").selected = true;
-</script>
-
-<h1>Input Checkbox Elements</h1>
-<input type="checkbox" id="selected-8" />selected-8
-<script>
-   document.getElementById("selected-8").checked = true;
-</script>
-<input type="checkbox" id="selected-9" checked />selected-9
-<script>
-   document.getElementById("selected-9").indeterminate = true;
-</script>
-<input type="checkbox" id="unselected-10" />unselected-10
-<input type="checkbox" id="unselected-11" checked />unselected-11
-<script>
-   document.getElementById("unselected-11").checked = false;
-</script>
-<input type="checkbox" id="unselected-12" />unselected-12
-<script>
-   document.getElementById("unselected-12").indeterminate = true;
-</script>
-<input type="checkbox" id="unselected-13" selected />unselected-13
-<input type="checkbox" id="selected-10" checked />selected-10
-
-<h1>Input Radio Elements</h1>
-<br>Group 1:<br>
-<input type="radio" name="group1" id="selected-11" checked />selected-11
-<br>Group 2:<br>
-<input type="radio" name="group2" id="selected-12" />selected-12
-<script>
-   document.getElementById("selected-12").checked = true;
-</script>
-<br>Group 3:<br>
-<input type="radio" name="group3" id="unselected-14" />unselected-14
-<input type="radio" name="group3" id="selected-13" checked />selected-13
-<br>Group 4:<br>
-<input type="radio" name="group4" id="unselected-15" checked />unselected-15
-<input type="radio" name="group4" id="selected-14" checked />selected-14
-<br>Group 5:<br>
-<input type="radio" name="group5" id="unselected-16" />unselected-16
-<input type="radio" name="group5" id="unselected-17" checked />unselected-17
-<script>
-   document.getElementById("unselected-17").checked = false;
-</script>
-<br>Group 6<br>
-<input type="radio" name="group6" id="selected-15" />selected-15
-<input type="radio" name="group6" id="unselected-18" checked />unselected-18
-<script>
-   document.getElementById("selected-15").checked = true;
-</script>
-</body>
-</html>
diff --git a/old-tests/webdriver/element_state/res/element-with-color-style-attribute.html b/old-tests/webdriver/element_state/res/element-with-color-style-attribute.html
deleted file mode 100644
index acf2fc0..0000000
--- a/old-tests/webdriver/element_state/res/element-with-color-style-attribute.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element with color style attribute</title>
-
-<div style="color: red">&nbsp;</div>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/element-with-custom-attribute.html b/old-tests/webdriver/element_state/res/element-with-custom-attribute.html
deleted file mode 100644
index 8f84b97..0000000
--- a/old-tests/webdriver/element_state/res/element-with-custom-attribute.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element with custom attribute</title>
-
-<div webdriver-custom-attribute="attribute value">&nbsp;</div>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/element-with-id-attribute.html b/old-tests/webdriver/element_state/res/element-with-id-attribute.html
deleted file mode 100644
index 7512344..0000000
--- a/old-tests/webdriver/element_state/res/element-with-id-attribute.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element with id attribute</title>
-
-<div id="myId">&nbsp;</div>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/element-with-same-color-as-background.html b/old-tests/webdriver/element_state/res/element-with-same-color-as-background.html
deleted file mode 100644
index aaea9a9..0000000
--- a/old-tests/webdriver/element_state/res/element-with-same-color-as-background.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element with same color as background</title>
-
-<style>
-  body, div { background: white }
-  div { width: 50px; height: 50px; }
-</style>
-
-<div>&nbsp;</div>
diff --git a/old-tests/webdriver/element_state/res/element-with-same-color-as-parent-background.html b/old-tests/webdriver/element_state/res/element-with-same-color-as-parent-background.html
deleted file mode 100644
index 80a4118..0000000
--- a/old-tests/webdriver/element_state/res/element-with-same-color-as-parent-background.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element with same color as background</title>
-
-<style>
-  #overlay,
-  #hidden {
-    background: blue;
-    width: 50px; height: 50px;
-  }
-
-  #hidden {
-    margin-top: -50px;
-  }
-</style>
-
-<div id="overlay"></div>
-<div id="hidden"></div>
diff --git a/old-tests/webdriver/element_state/res/element-with-style-attribute.html b/old-tests/webdriver/element_state/res/element-with-style-attribute.html
deleted file mode 100644
index b163a75..0000000
--- a/old-tests/webdriver/element_state/res/element-with-style-attribute.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element with style attribute</title>
-
-<div style='font-family: "Gill Sans Extrabold", Helvetica, sans-serif; line-height: 1.2; font-weight:bold'>&nbsp;</div>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/element-without-attribute.html b/old-tests/webdriver/element_state/res/element-without-attribute.html
deleted file mode 100644
index b03d454..0000000
--- a/old-tests/webdriver/element_state/res/element-without-attribute.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Element without attribute</title>
-
-<div>&nbsp;</div>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/elements_text.html b/old-tests/webdriver/element_state/res/elements_text.html
deleted file mode 100644
index 45b7c23..0000000
--- a/old-tests/webdriver/element_state/res/elements_text.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-
-<title>Element location</title>
-
-<body>
-  <div id="id">id</div>
-  <div id="name" name="name">name</div>
-  <a id="link">link text</a>
-</body>
diff --git a/old-tests/webdriver/element_state/res/get-element-attribute-extended.html b/old-tests/webdriver/element_state/res/get-element-attribute-extended.html
deleted file mode 100644
index 1fff60f..0000000
--- a/old-tests/webdriver/element_state/res/get-element-attribute-extended.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Get Element Attribute Extended</title>
-
-<span id=my_id_with_a_relatively_long_name_test class=my_id_with_a_relatively_long_name_test_class>Span</span>
-<span id=my-id>Span</span>
-
-<div class=container>
- <div id=div1 name=div-name>
-  <div id=div1-1_div1>
-   <h1 id=h1_div1.1_div1 class=span-class>h1 element, id:h1_div1.1_div1</h1>
-  </div>
- </div>
-
- <div class=div-depth-2>
-  <div class=div-depth-3>
-   <div class=div-depth-4>
-    <span id=my_id_with_a_relatively_long_name_test class=my_id_with_a_relatively_long_name_test_class>Span</span>
-   </div>
-  </div>
- </div>
-
- <div>
-  <a>anchor text 123</a>
-  <a>anchor text 123</a>
-
-  <select>
-   <option id="opt-1" style="font-size: 11px; display: block;" selected>My Option 1</option>
-   <option class="opt" >My Option 2</option>
-   <option value="one">My Option 3</option>
-  </select>
- </div>
-
- <a id="no-vi-1" class="cant-see" style="display:none">no visibility</a><br/>
- <a id="no-vi-2" style="display:none">no visibility</a><br/>
- <a id="no-vi-2" style="display:none">no visibility</a><br/>
-
- <span id=my_id_with_a_relatively_long_name_test2>Span</span>
- <span id="id.period">Span</span>
-</div>
-
-<div id=id_attribute_accesskey accesskey=nothing></div>
-
-<!-- Multiple elements with same class  -->
-
-<div id=id_div_multiple_elements_same_class_nested_depth_0 class=multiple_elements_same_class_nested>
- <div id=id_multiple_elements_same_class_nested_div_depth_1 class=multiple_elements_same_class_nested>
-  <div id=id_multiple_elements_same_class_nested_div_depth_2 class=multiple_elements_same_class_nested>
-  </div>
- </div>
-</div>
-
-<!-- Attribute name with special characters -->
-<div id=id_special_char_attribute_name *=special_char_attribute_name></div>
-
-<!-- Attribute value with special characters -->
-<div id=id_special_char_attribute_value name="*"></div>
-
-<!-- Attribute value and name with special characters -->
-<div id=id_special_char_attribute_name_and_value @="("></div>
-
-<!-- Attribute name is numeric. -->
-<div id"id_attribute_name_numeric 1="numeric attribute name"></div>
-
-<!-- Attribute value is numeric. -->
-<div id=id_attribute_value_numeric one=2></div>
-
-<!-- Attribute name is negative numeric. -->
-<div id=id_attribute_negative_numeric_name -5="attribute name is -5"></div>
-
-<!-- Attribute value is negative numeric. -->
-<div id=id_attribute_negative_numeric_value negative_numeric_value=-9></div>
diff --git a/old-tests/webdriver/element_state/res/hidden-input-type-checkbox-untogglable.html b/old-tests/webdriver/element_state/res/hidden-input-type-checkbox-untogglable.html
deleted file mode 100644
index 7e7c2e2..0000000
--- a/old-tests/webdriver/element_state/res/hidden-input-type-checkbox-untogglable.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Hidden INPUT @type="checkbox" is untogglable</title>
-
-<style>
-  input { display: none }
-</style>
-
-<input type="checkbox" />
diff --git a/old-tests/webdriver/element_state/res/hidden-input-type-text-writing.html b/old-tests/webdriver/element_state/res/hidden-input-type-text-writing.html
deleted file mode 100644
index a1db850..0000000
--- a/old-tests/webdriver/element_state/res/hidden-input-type-text-writing.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Typing in hidden input is impossible</title>
-
-<style>
-  input { display: none }
-</style>
-
-<input type="text" />
diff --git a/old-tests/webdriver/element_state/res/hidden.html b/old-tests/webdriver/element_state/res/hidden.html
deleted file mode 100644
index 0e8097e..0000000
--- a/old-tests/webdriver/element_state/res/hidden.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<div id='singleHidden' hidden>This will not be visible</div>
-<div id='parent' hidden>
-  <div id='child'>My parent is hidden so you can't see me</div>
-</div>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/img-with-src-attribute.html b/old-tests/webdriver/element_state/res/img-with-src-attribute.html
deleted file mode 100644
index 057bb9b..0000000
--- a/old-tests/webdriver/element_state/res/img-with-src-attribute.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>"img" element with not fully qualified url</title>
-
-<img src="//web-platform.test:8000/images/blue.png">&nbsp;</a>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/input-morphs-into-hidden.html b/old-tests/webdriver/element_state/res/input-morphs-into-hidden.html
deleted file mode 100644
index 98b9548..0000000
--- a/old-tests/webdriver/element_state/res/input-morphs-into-hidden.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>INPUT motphs into @type="hidden"</title>
-
-<input />
-
-<script>
-  var input = document.getElementsByTagName("input")[0];
-  input.type = "hidden";
-</script>
diff --git a/old-tests/webdriver/element_state/res/input-type-hidden-unclickable.html b/old-tests/webdriver/element_state/res/input-type-hidden-unclickable.html
deleted file mode 100644
index b06822b..0000000
--- a/old-tests/webdriver/element_state/res/input-type-hidden-unclickable.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>INPUT @type="hidden" is unclickable</title>
-
-<input type="hidden" />
diff --git a/old-tests/webdriver/element_state/res/input-type-hidden.html b/old-tests/webdriver/element_state/res/input-type-hidden.html
deleted file mode 100644
index b719570..0000000
--- a/old-tests/webdriver/element_state/res/input-type-hidden.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>INPUT @type="hidden" are always hidden</title>
-
-<input type="hidden" />
diff --git a/old-tests/webdriver/element_state/res/input-with-checked-attribute.html b/old-tests/webdriver/element_state/res/input-with-checked-attribute.html
deleted file mode 100644
index d7aad5e..0000000
--- a/old-tests/webdriver/element_state/res/input-with-checked-attribute.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Input with checked attribute</title>
-
-<input type=checkbox checked="false">&nbsp;</input>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/input-without-checked-attribute.html b/old-tests/webdriver/element_state/res/input-without-checked-attribute.html
deleted file mode 100644
index 9f1d5ad..0000000
--- a/old-tests/webdriver/element_state/res/input-without-checked-attribute.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Input without checked attribute</title>
-
-<input type=checkbox>&nbsp;</input>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/option-with-value-attribute.html b/old-tests/webdriver/element_state/res/option-with-value-attribute.html
deleted file mode 100644
index 5ef08c4..0000000
--- a/old-tests/webdriver/element_state/res/option-with-value-attribute.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Option with value attribute</title>
-
-<select>
-  <option value="value1">Value 1</option>
-</select>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/option-without-value-attribute.html b/old-tests/webdriver/element_state/res/option-without-value-attribute.html
deleted file mode 100644
index 5f6087d..0000000
--- a/old-tests/webdriver/element_state/res/option-without-value-attribute.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Option without value attribute</title>
-
-<select>
-  <option>Value 1</option>
-</select>
\ No newline at end of file
diff --git a/old-tests/webdriver/element_state/res/text-with-matching-color-and-background.html b/old-tests/webdriver/element_state/res/text-with-matching-color-and-background.html
deleted file mode 100644
index d6591ef..0000000
--- a/old-tests/webdriver/element_state/res/text-with-matching-color-and-background.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Text with matching color and background</title>
-
-<style>
-  p {
-    background: blue;
-    color: blue;
-  }
-</style>
-
-<p>
-  This on the other hand, should be visible
-</p>
diff --git a/old-tests/webdriver/element_state/res/text-with-same-color-as-background.html b/old-tests/webdriver/element_state/res/text-with-same-color-as-background.html
deleted file mode 100644
index e6290d5..0000000
--- a/old-tests/webdriver/element_state/res/text-with-same-color-as-background.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Text with same color as background</title>
-
-<style>
-  body { background: white }
-  p { color: white }
-</style>
-
-<p>
-  Shouldn't be visible.
-</p>
diff --git a/old-tests/webdriver/element_state/res/text-with-same-color-as-parent-background.html b/old-tests/webdriver/element_state/res/text-with-same-color-as-parent-background.html
deleted file mode 100644
index f7480f5..0000000
--- a/old-tests/webdriver/element_state/res/text-with-same-color-as-parent-background.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Text with same color as parent background</title>
-
-<style>
-  #parent { background: gray }
-  p { color: gray }
-</style>
-
-<div id="parent">
-  <p>
-    Should not be visible
-  </p>
-</div>g
diff --git a/old-tests/webdriver/element_state/res/visibility-child-link.html b/old-tests/webdriver/element_state/res/visibility-child-link.html
deleted file mode 100644
index 638c3c9..0000000
--- a/old-tests/webdriver/element_state/res/visibility-child-link.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>visibility: hidden applies to child node of type A</title>
-
-<style>
-#parent { visibility: hidden }
-</style>
-
-<div id="parent">
-  <a id="child" href="#">Brie is good</a>
-</div>
diff --git a/old-tests/webdriver/element_state/res/visibility-child-paragraph.html b/old-tests/webdriver/element_state/res/visibility-child-paragraph.html
deleted file mode 100644
index 8f703ba..0000000
--- a/old-tests/webdriver/element_state/res/visibility-child-paragraph.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>visibility: hidden applies to child nodes of type P</title>
-
-<style>
-#parent { visibility: hidden }
-</style>
-
-<div id="parent">
-  <p id="child">Brie is good</p>
-</div>
diff --git a/old-tests/webdriver/element_state/res/visibility-child-presedence.html b/old-tests/webdriver/element_state/res/visibility-child-presedence.html
deleted file mode 100644
index adf679c..0000000
--- a/old-tests/webdriver/element_state/res/visibility-child-presedence.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>visibility: visible on child node takes presedence</title>
-
-<style>
-#parent { visibility: hidden }
-#child { visibility: visible }
-</style>
-
-<div id="parent">
-  <div id="child">Brie is good</div>
-</div>
diff --git a/old-tests/webdriver/element_state/res/visibility-child.html b/old-tests/webdriver/element_state/res/visibility-child.html
deleted file mode 100644
index 5464025..0000000
--- a/old-tests/webdriver/element_state/res/visibility-child.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>visibility: hidden applies to child nodes</title>
-
-<style>
-#parent { visibility: hidden }
-</style>
-
-<div id="parent">
-  <div id="child">Brie is good</div>
-</div>
diff --git a/old-tests/webdriver/element_state/res/visibility-hidden.html b/old-tests/webdriver/element_state/res/visibility-hidden.html
deleted file mode 100644
index 24e8949..0000000
--- a/old-tests/webdriver/element_state/res/visibility-hidden.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<meta charset='utf-8'>
-<title>visibility: hidden;</title>
-
-<style>
-p {
-  visibility: hidden;
-}
-</style>
-
-<p>This element is not visible.</p>
diff --git a/old-tests/webdriver/element_state/res/visibility-visible.html b/old-tests/webdriver/element_state/res/visibility-visible.html
deleted file mode 100644
index e0c0902..0000000
--- a/old-tests/webdriver/element_state/res/visibility-visible.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset='utf-8'>
-<title>visibility: visible;</title>
-
-<p>This element is visible.</p>
diff --git a/old-tests/webdriver/element_state/res/x-auto-y-hidden.html b/old-tests/webdriver/element_state/res/x-auto-y-hidden.html
deleted file mode 100644
index e9ce24c..0000000
--- a/old-tests/webdriver/element_state/res/x-auto-y-hidden.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>Page with overflow</title>
-  <style>
-    #over {
-      width:400px;
-      height: 300px;
-      overflow-x: auto;
-      overflow-y: hidden;
-    }
-  </style>
-</head>
-<body>
-  <div id="over">
-    <div style="width: 5000px;">
-      <div style="width: 100%; text-align: right;" ><a href="#" id="right" onclick="document.getElementById('right-clicked').textContent='ok'">Click right</a></div>
-    </div>
-    <div style="height: 5000px; width: 5000px;">
-      Right clicked: <span id="right-clicked"></span></br>
-      Bottom clicked: <span id="bottom-clicked"></span></br>
-      Bottom-right clicked: <span id="bottom-right-clicked"></span></br>
-    </div>
-    <div style="width: 5000px;">
-      <div style="width: 100%; text-align: right;" ><a href="#" id="bottom-right" onclick="document.getElementById('bottom-right-clicked').textContent='ok'">Click bottom-right</a></div>
-    </div>
-    <a href="#" id="bottom" onclick="document.getElementById('bottom-clicked').textContent='ok'">Click bottom</a>
-  </div>
-</body>
-</html>
diff --git a/old-tests/webdriver/element_state/res/x-hidden-y-auto.html b/old-tests/webdriver/element_state/res/x-hidden-y-auto.html
deleted file mode 100644
index 22b5049..0000000
--- a/old-tests/webdriver/element_state/res/x-hidden-y-auto.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>Page with overflow</title>
-  <style>
-    #over {
-      width:400px;
-      height: 300px;
-      overflow-x: hidden;
-      overflow-y: auto;
-    }
-  </style>
-</head>
-<body>
-  <div id="over">
-    <div style="width: 5000px;">
-      <div style="width: 100%; text-align: right;" ><a href="#" id="right" onclick="document.getElementById('right-clicked').textContent='ok'">Click right</a></div>
-    </div>
-    <div style="height: 5000px; width: 5000px;">
-      Right clicked: <span id="right-clicked"></span></br>
-      Bottom clicked: <span id="bottom-clicked"></span></br>
-      Bottom-right clicked: <span id="bottom-right-clicked"></span></br>
-    </div>
-    <div style="width: 5000px;">
-      <div style="width: 100%; text-align: right;" ><a href="#" id="bottom-right" onclick="document.getElementById('bottom-right-clicked').textContent='ok'">Click bottom-right</a></div>
-    </div>
-    <a href="#" id="bottom" onclick="document.getElementById('bottom-clicked').textContent='ok'">Click bottom</a>
-  </div>
-</body>
-</html>
diff --git a/old-tests/webdriver/element_state/res/x-hidden-y-hidden.html b/old-tests/webdriver/element_state/res/x-hidden-y-hidden.html
deleted file mode 100644
index c26b48a..0000000
--- a/old-tests/webdriver/element_state/res/x-hidden-y-hidden.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>Page with overflow</title>
-  <style>
-    #over {
-      width:400px;
-      height: 300px;
-      overflow-x: hidden;
-      overflow-y: hidden;
-    }
-  </style>
-</head>
-<body>
-  <div id="over">
-    <div style="width: 5000px;">
-      <div style="width: 100%; text-align: right;" ><a href="#" id="right" onclick="document.getElementById('right-clicked').textContent='ok'">Click right</a></div>
-    </div>
-    <div style="height: 5000px; width: 5000px;">
-      Right clicked: <span id="right-clicked"></span></br>
-      Bottom clicked: <span id="bottom-clicked"></span></br>
-      Bottom-right clicked: <span id="bottom-right-clicked"></span></br>
-    </div>
-    <div style="width: 5000px;">
-      <div style="width: 100%; text-align: right;" ><a href="#" id="bottom-right" onclick="document.getElementById('bottom-right-clicked').textContent='ok'">Click bottom-right</a></div>
-    </div>
-    <a href="#" id="bottom" onclick="document.getElementById('bottom-clicked').textContent='ok'">Click bottom</a>
-  </div>
-</body>
-</html>
diff --git a/old-tests/webdriver/element_state/res/x-hidden-y-scroll.html b/old-tests/webdriver/element_state/res/x-hidden-y-scroll.html
deleted file mode 100644
index b98b79a..0000000
--- a/old-tests/webdriver/element_state/res/x-hidden-y-scroll.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>Page with overflow</title>
-  <style>
-    #over {
-      width:400px;
-      height: 300px;
-      overflow-x: hidden;
-      overflow-y: scroll;
-    }
-  </style>
-</head>
-<body>
-  <div id="over">
-    <div style="width: 5000px;">
-      <div style="width: 100%; text-align: right;" ><a href="#" id="right" onclick="document.getElementById('right-clicked').textContent='ok'">Click right</a></div>
-    </div>
-    <div style="height: 5000px; width: 5000px;">
-      Right clicked: <span id="right-clicked"></span></br>
-      Bottom clicked: <span id="bottom-clicked"></span></br>
-      Bottom-right clicked: <span id="bottom-right-clicked"></span></br>
-    </div>
-    <div style="width: 5000px;">
-      <div style="width: 100%; text-align: right;" ><a href="#" id="bottom-right" onclick="document.getElementById('bottom-right-clicked').textContent='ok'">Click bottom-right</a></div>
-    </div>
-    <a href="#" id="bottom" onclick="document.getElementById('bottom-clicked').textContent='ok'">Click bottom</a>
-  </div>
-</body>
-</html>
diff --git a/old-tests/webdriver/element_state/res/x-scroll-y-hidden.html b/old-tests/webdriver/element_state/res/x-scroll-y-hidden.html
deleted file mode 100644
index 9348681..0000000
--- a/old-tests/webdriver/element_state/res/x-scroll-y-hidden.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>Page with overflow</title>
-  <style>
-    #over {
-      width:400px;
-      height: 300px;
-      overflow-x: scroll;
-      overflow-y: hidden;
-    }
-  </style>
-</head>
-<body>
-  <div id="over">
-    <div style="width: 5000px;">
-      <div style="width: 100%; text-align: right;" ><a href="#" id="right" onclick="document.getElementById('right-clicked').textContent='ok'">Click right</a></div>
-    </div>
-    <div style="height: 5000px; width: 5000px;">
-      Right clicked: <span id="right-clicked"></span></br>
-      Bottom clicked: <span id="bottom-clicked"></span></br>
-      Bottom-right clicked: <span id="bottom-right-clicked"></span></br>
-    </div>
-    <div style="width: 5000px;">
-      <div style="width: 100%; text-align: right;" ><a href="#" id="bottom-right" onclick="document.getElementById('bottom-right-clicked').textContent='ok'">Click bottom-right</a></div>
-    </div>
-    <a href="#" id="bottom" onclick="document.getElementById('bottom-clicked').textContent='ok'">Click bottom</a>
-  </div>
-</body>
-</html>
diff --git a/old-tests/webdriver/element_state/res/zero-sized-element-with-sizable-decendant.html b/old-tests/webdriver/element_state/res/zero-sized-element-with-sizable-decendant.html
deleted file mode 100644
index f7e37f8..0000000
--- a/old-tests/webdriver/element_state/res/zero-sized-element-with-sizable-decendant.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Zero sized element with sizable decendant</title>
-
-<style>
-  #parent { width: 0; height: 0; }
-  #child { width: 100; height: 100; background-color: blue; }
-</style>
-
-<div id="parent">
-  <div id="child">
-    &nbsp;
-  </div>
-</div>
diff --git a/old-tests/webdriver/element_state/selected_test.py b/old-tests/webdriver/element_state/selected_test.py
deleted file mode 100644
index 9c80f29..0000000
--- a/old-tests/webdriver/element_state/selected_test.py
+++ /dev/null
@@ -1,210 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-class GetElementSelectedTest(base_test.WebDriverBaseTest):
-    def test_selected_1(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-1")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_2(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-2")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_3(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-3")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_4(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-4")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_5(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-5")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_6(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-6")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_7(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-7")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_8(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-8")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_9(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-9")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_10(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-10")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_11(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-11")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_12(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-12")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_13(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-13")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_14(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-14")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_selected_15(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("selected-15")
-
-        self.assertEquals(element.is_selected(), True)
-
-    def test_unselected_1(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-1")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_2(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-2")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_3(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-3")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_4(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-4")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_5(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-5")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_6(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-6")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_7(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-7")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_8(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-8")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_9(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-9")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_10(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-10")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_11(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-11")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_12(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-12")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_13(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-13")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_14(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-14")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_15(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-15")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_16(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-16")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_17(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-17")
-
-        self.assertEquals(element.is_selected(), False)
-
-    def test_unselected_18(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
-        element = self.driver.find_element_by_id("unselected-18")
-
-        self.assertEquals(element.is_selected(), False)
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/element_state/visibility_test.py b/old-tests/webdriver/element_state/visibility_test.py
deleted file mode 100644
index 58218a7..0000000
--- a/old-tests/webdriver/element_state/visibility_test.py
+++ /dev/null
@@ -1,324 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.common import exceptions
-
-
-class NaturalNonVisibleElementsTest(base_test.WebDriverBaseTest):
-    def test_0x0_pixel_element_is_not_visible(self):
-        self.driver.get(self.webserver.where_is("element_state/res/0x0-pixels.html"))
-        el = self.driver.find_element_by_css_selector("div")
-        self.assertFalse(el.is_displayed())
-
-    def test_0x0_pixel_text_node_is_visible(self):
-        self.driver.get(self.webserver.where_is("element_state/res/0x0-pixels-text-node.html"))
-        el = self.driver.find_element_by_css_selector("p")
-        self.assertTrue(el.is_displayed())
-
-    def test_1x1_pixel_element(self):
-        self.driver.get(self.webserver.where_is("element_state/res/1x1-pixels.html"))
-        el = self.driver.find_element_by_css_selector("p")
-        self.assertTrue(el.is_displayed())
-
-    def test_zero_sized_element_is_shown_if_decendant_has_size(self):
-        self.driver.get(self.webserver.where_is("element_state/res/zero-sized-element-with-sizable-decendant.html"))
-        parent = self.driver.find_element_by_css_selector("#parent")
-        child = self.driver.find_element_by_css_selector("#child")
-
-        self.assertTrue(parent.is_displayed())
-        self.assertTrue(child.is_displayed())
-
-    def test_input_type_hidden_is_never_visible(self):
-        self.driver.get(self.webserver.where_is("element_state/res/input-type-hidden.html"))
-        input = self.driver.find_element_by_css_selector("input")
-        self.assertFalse(input.is_displayed())
-
-    def test_input_morphs_into_hidden(self):
-        self.driver.get(self.webserver.where_is("element_state/res/input-morphs-into-hidden.html"))
-        input = self.driver.find_element_by_css_selector("input")
-        self.assertFalse(input.is_displayed())
-
-    def test_parent_node_visible_when_all_children_are_absolutely_positioned_and_overflow_is_hidden(self):
-        pass
-
-    def test_parent_of_absolutely_positioned_elements_visible_where_ancestor_overflow_is_hidden(self):
-        """When a parent's ancestor hides any overflow, absolutely positioned child elements are
-        still visible.  The parent container is also considered visible by webdriver for this
-        reason because it is interactable."""
-
-        self.driver.get(self.webserver.where_is("element_state/res/absolute-children-ancestor-hidden-overflow.html"))
-
-        children = self.driver.find_elements_by_css_selector(".child")
-        assert all(child.is_displayed() for child in children)
-
-        parent = self.driver.find_element_by_css_selector("#parent")
-        assert parent.is_displayed()
-
-    def test_element_hidden_by_overflow_x_is_not_visible(self):
-        # TODO(andreastt): This test should probably be split in three.  Also it's making two
-        # assertions.
-        pages = ["element_state/res/x-hidden-y-hidden.html",
-                 "element_state/res/x-hidden-y-scroll.html",
-                 "element_state/res/x-hidden-y-auto.html"]
-
-        for page in pages:
-            self.driver.get(self.webserver.where_is(page))
-            right = self.driver.find_element_by_css_selector("#right")
-            bottom_right = self.driver.find_element_by_css_selector("#bottom-right")
-
-            self.assertFalse(right.is_displayed())
-            self.assertFalse(bottom_right.is_displayed())
-
-    def test_element_hidden_by_overflow_y_is_not_visible(self):
-        # TODO(andreastt): This test should probably be split in three.  Also it's making two
-        # assertions.
-        pages = ["element_state/res/x-hidden-y-hidden.html",
-                 "element_state/res/x-scroll-y-hidden.html",
-                 "element_state/res/x-auto-y-hidden.html"]
-
-        for page in pages:
-            self.driver.get(self.webserver.where_is(page))
-            bottom = self.driver.find_element_by_css_selector("#bottom")
-            bottom_right = self.driver.find_element_by_css_selector("#bottom-right")
-
-            self.assertFalse(bottom.is_displayed())
-            self.assertFalse(bottom_right.is_displayed())
-
-    def test_parent_node_visible_when_all_children_are_absolutely_position_and_overflow_is_hidden(self):
-        pass
-
-    def test_element_scrollable_by_overflow_x_is_visible(self):
-        pass
-
-    def test_element_scrollable_by_overflow_y_is_visible(self):
-        pass
-
-    def test_element_scrollable_by_overflow_x_and_y_is_visible(self):
-        pass
-
-    def test_element_scrollable_by_overflow_y_is_visible(self):
-        pass
-
-    def test_element_outside_viewport(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-outside-viewport.html"))
-        hidden = self.driver.find_element_by_css_selector("div")
-        self.assertFalse(hidden.is_displayed())
-
-    def test_element_dynamically_moved_outside_viewport(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-dynamically-moved-outside-viewport.html"))
-        hidden = self.driver.find_element_by_css_selector("div")
-        self.assertFalse(hidden.is_displayed())
-
-    def test_element_hidden_by_other_element(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-hidden-by-other-element.html"))
-        overlay = self.driver.find_element_by_css_selector("#overlay")
-        hidden = self.driver.find_element_by_css_selector("#hidden")
-
-        self.assertTrue(overlay.is_displayed())
-        self.assertFalse(hidden.is_displayed())
-
-    def test_element_partially_hidden_by_other_element(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-partially-hidden-by-other-element.html"))
-        partial = self.driver.find_element_by_css_selector("#partial")
-        self.assertTrue(partial.is_displayed())
-
-    def test_element_hidden_by_z_index(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-hidden-by-z-index.html"))
-        overlay = self.driver.find_element_by_css_selector("#overlay")
-        hidden = self.driver.find_element_by_css_selector("#hidden")
-
-        self.assertTrue(overlay.is_displayed())
-        self.assertFalse(hidden.is_displayed())
-
-    def test_element_moved_outside_viewport_by_transform(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-moved-outside-viewport-by-transform.html"))
-        el = self.driver.find_element_by_css_selector("div")
-        self.assertFalse(el.is_displayed())
-
-    def test_element_moved_behind_other_element_by_transform(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-moved-behind-other-element-by-transform.html"))
-        overlay = self.driver.find_element_by_css_selector("#overlay")
-        hidden = self.driver.find_element_by_css_selector("#hidden")
-
-        self.assertTrue(overlay.is_displayed())
-        self.assertFalse(hidden.is_displayed())
-
-    def test_text_with_same_color_as_background(self):
-        self.driver.get(self.webserver.where_is("element_state/res/text-with-same-color-as-background.html"))
-        p = self.driver.find_element_by_css_selector("p")
-        self.assertFalse(p.is_displayed())
-
-    def test_text_with_same_color_as_parent_background(self):
-        self.driver.get(self.webserver.where_is("element_state/res/text-with-same-color-as-parent-background.html"))
-        p = self.driver.find_element_by_css_selector("p")
-        self.assertFalse(p.is_displayed())
-
-    def test_text_with_matching_color_and_background(self):
-        self.driver.get(self.webserver.where_is("element_state/res/text-with-matching-color-and-background.html"))
-        p = self.driver.find_element_by_css_selector("p")
-        self.assertTrue(p.is_displayed())
-
-    def test_element_with_same_color_as_background(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-with-same-color-as-background.html"))
-        el = self.driver.find_element_by_css_selector("div")
-        self.assertFalse(el.is_displayed())
-
-    def test_element_with_same_color_as_parent_background(self):
-        self.driver.get(self.webserver.where_is("element_state/res/element-with-same-color-as-parent-background.html"))
-        hidden = self.driver.find_element_by_css_selector("#hidden")
-        self.assertFalse(hidden.is_displayed())
-
-
-class BodyElementIsAlwaysDisplayedTest(base_test.WebDriverBaseTest):
-    def assert_body_is_displayed_on(self, page):
-        self.driver.get(self.webserver.where_is(page))
-        body = self.driver.find_element_by_css_selector("body")
-        assert body.is_displayed()
-
-    def test_implicit(self):
-        self.assert_body_is_displayed_on("element_state/res/body_implicit.html")
-
-    def test_empty(self):
-        self.assert_body_is_displayed_on("element_state/res/body_empty.html")
-
-    def test_visibility_hidden(self):
-        self.assert_body_is_displayed_on("element_state/res/body_visibility_hidden.html")
-
-    def test_overflow_hidden(self):
-        self.assert_body_is_displayed_on("element_state/res/body_overflow_hidden.html")
-
-
-class DisplayTest(base_test.WebDriverBaseTest):
-    def test_display_block(self):
-        self.driver.get(self.webserver.where_is("element_state/res/display-block.html"))
-        el = self.driver.find_element_by_css_selector("p")
-        self.assertTrue(el.is_displayed())
-
-    def test_display_none(self):
-        self.driver.get(self.webserver.where_is("element_state/res/display-none.html"))
-        el = self.driver.find_element_by_css_selector("p")
-        self.assertFalse(el.is_displayed())
-
-    def test_display_none_hides_child_node(self):
-        self.driver.get(self.webserver.where_is("element_state/res/display-none-child.html"))
-        parent = self.driver.find_element_by_css_selector("#parent")
-        child = self.driver.find_element_by_css_selector("#child")
-
-        self.assertFalse(parent.is_displayed())
-        self.assertFalse(child.is_displayed())
-
-    def test_display_none_hides_child_node_link(self):
-        self.driver.get(self.webserver.where_is("element_state/res/display-none-child-link.html"))
-        child = self.driver.find_element_by_css_selector("#child")
-        self.assertFalse(child.is_displayed())
-
-    def test_display_none_hides_child_node_paragraph(self):
-        self.driver.get(self.webserver.where_is("element_state/res/display-none-child-paragraph.html"))
-        child = self.driver.find_element_by_css_selector("#child")
-        self.assertFalse(child.is_displayed())
-
-    def test_display_none_on_parent_takes_presedence(self):
-        self.driver.get(self.webserver.where_is("element_state/res/display-none-parent-presedence.html"))
-        child = self.driver.find_element_by_css_selector("#child")
-        self.assertFalse(child.is_displayed())
-
-    def test_display_none_on_parent_takes_presedence_over_visibility_visible(self):
-        self.driver.get(self.webserver.where_is("element_state/res/display-none-parent-presedence-visibility.html"))
-        child = self.driver.find_element_by_css_selector("#child")
-        self.assertFalse(child.is_displayed())
-
-    def test_display_none_hidden_dynamically(self):
-        self.driver.get(self.webserver.where_is("element_state/res/display-none-dynamic.html"))
-        hidden = self.driver.find_element_by_css_selector("#hidden")
-        self.assertFalse(hidden.is_displayed())
-
-
-class VisibilityTest(base_test.WebDriverBaseTest):
-    def test_element_state_hidden(self):
-        self.driver.get(self.webserver.where_is("element_state/res/visibility-hidden.html"))
-        el = self.driver.find_element_by_css_selector("p")
-        self.assertFalse(el.is_displayed())
-
-    def test_element_state_visible(self):
-        self.driver.get(self.webserver.where_is("element_state/res/visibility-visible.html"))
-        el = self.driver.find_element_by_css_selector("p")
-        self.assertTrue(el.is_displayed())
-
-    def test_visibility_hidden_hides_child_node(self):
-        self.driver.get(self.webserver.where_is("element_state/res/visibility-child.html"))
-        parent = self.driver.find_element_by_css_selector("#parent")
-        child = self.driver.find_element_by_css_selector("#child")
-
-        self.assertFalse(parent.is_displayed())
-        self.assertFalse(child.is_displayed())
-
-    def test_visibility_hidden_hides_child_node_link(self):
-        self.driver.get(self.webserver.where_is("element_state/res/visibility-child-link.html"))
-        parent = self.driver.find_element_by_css_selector("#parent")
-        child = self.driver.find_element_by_css_selector("#child")
-
-        self.assertFalse(parent.is_displayed())
-        self.assertFalse(child.is_displayed())
-
-    def test_visibility_hidden_hides_child_node_paragraph(self):
-        self.driver.get(self.webserver.where_is("element_state/res/visibility-child-paragraph.html"))
-        parent = self.driver.find_element_by_css_selector("#parent")
-        child = self.driver.find_element_by_css_selector("#child")
-
-        self.assertFalse(parent.is_displayed())
-        self.assertFalse(child.is_displayed())
-
-    def test_visibility_hidden_on_child_takes_precedence(self):
-        self.driver.get(self.webserver.where_is("element_state/res/visibility-child-presedence.html"))
-        child = self.driver.find_element_by_css_selector("#child")
-        self.assertTrue(child.is_displayed())
-
-    def test_visibility_hidden_on_parent_takes_precedence_over_display_block(self):
-        pass
-
-    def test_visibility_hidden_set_dynamically(self):
-        pass
-
-    def test_should_show_element_not_visible_with_hidden_attribute(self):
-        self.driver.get(self.webserver.where_is("element_state/res/hidden.html"))
-        singleHidden = self.driver.find_element_by_css_selector('#singleHidden')
-        self.assertFalse(singleHidden.is_displayed())
-
-    def test_should_show_element_not_visible_when_parent_element_has_hidden_attribute(self):
-        self.driver.get(self.webserver.where_is("element_state/res/hidden.html"))
-        child = self.driver.find_element_by_css_selector('#child')
-        self.assertFalse(child.is_displayed())
-
-
-class VisibilityInteractionTest(base_test.WebDriverBaseTest):
-    def test_input_hidden_is_unclickable(self):
-        self.driver.get(self.webserver.where_is("element_state/res/input-type-hidden-unclickable.html"))
-        input = self.driver.find_element_by_css_selector("input")
-
-        with self.assertRaises(exceptions.ElementNotVisibleException):
-            input.click()
-
-    def test_hidden_input_checkbox_is_untogglable(self):
-        self.driver.get(self.webserver.where_is("element_state/res/hidden-input-type-checkbox-untogglable.html"))
-        checkbox = self.driver.find_element_by_css_selector("input")
-
-        with self.assertRaises(exceptions.ElementNotVisibleException):
-            checkbox.click()
-
-    def test_typing_in_hidden_input_is_impossible(self):
-        self.driver.get(self.webserver.where_is("element_state/res/hidden-input-type-text-writing.html"))
-        textfield = self.driver.find_element_by_css_selector("input")
-
-        with self.assertRaises(exceptions.ElementNotVisibleException):
-            textfield.send_keys("Koha is a popular Indian cheese")
-
-
-class OpacityTest(base_test.WebDriverBaseTest):
-    pass
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/javascript/__init__.py b/old-tests/webdriver/javascript/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/old-tests/webdriver/javascript/__init__.py
+++ /dev/null
diff --git a/old-tests/webdriver/javascript/execute_script_test.py b/old-tests/webdriver/javascript/execute_script_test.py
deleted file mode 100644
index dd7cfca..0000000
--- a/old-tests/webdriver/javascript/execute_script_test.py
+++ /dev/null
@@ -1,129 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.webdriver.remote.webelement import WebElement
-
-
-class ExecuteScriptTest(base_test.WebDriverBaseTest):
-    def test_ecmascript_translates_null_return_to_none(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        result = self.driver.execute_script("return null;")
-        self.assertIsNone(result)
-
-    def test_ecmascript_translates_undefined_return_to_none(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        result = self.driver.execute_script("var undef; return undef;")
-        self.assertIsNone(result)
-
-    def test_can_return_numbers_from_scripts(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        self.assertEquals(1, self.driver.execute_script("return 1;"))
-        self.assertEquals(3.14, self.driver.execute_script("return 3.14;"))
-
-    def test_can_return_strings_from_scripts(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        self.assertEquals("hello, world!",
-        				  self.driver.execute_script("return 'hello, world!'"))
-
-    def test_can_return_booleans_from_scripts(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        self.assertTrue(self.driver.execute_script("return true;"))
-        self.assertFalse(self.driver.execute_script("return false;"))
-
-    def test_can_return_an_array_of_primitives(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-
-        result = self.driver.execute_script("return [1, false, null, 3.14]")
-        self.assertListEqual([1, False, None, 3.14], result)
-
-    def test_can_return_nested_arrays(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        result = self.driver.execute_script("return [[1, 2, [3]]]")
-
-        self.assertIsInstance(result, list)
-        self.assertEquals(1, len(result))
-
-        result = result[0]
-        self.assertListEqual([1, 2], result[:2])
-        self.assertListEqual([3], result[2])
-
-    def test_can_return_object_literals(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-
-        result = self.driver.execute_script("return {}")
-        self.assertDictEqual({}, result)
-
-        result = self.driver.execute_script("return {a: 1, b: false, c: null}")
-        self.assertDictEqual({
-            "a": 1,
-            "b": False,
-            "c": None
-        }, result)
-
-    def test_can_return_complex_object_literals(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        result = self.driver.execute_script("return {a:{b: 'hello'}}")
-        self.assertIsInstance(result, dict)
-        self.assertIsInstance(result['a'], dict)
-        self.assertDictEqual({"b": "hello"}, result["a"])
-
-    def test_dom_element_return_value_is_translated_to_a_web_element(self):
-        self.driver.get(self.webserver.where_is(
-       			"javascript/res/return_document_body.html"))
-
-        result = self.driver.execute_script("return document.body")
-        self.assertEquals(result.text, "Hello, world!")
-
-    def test_return_an_array_of_dom_elements(self):
-        self.driver.get(self.webserver.where_is(
-       			"javascript/res/return_array_of_dom_elements.html"))
-
-        result = self.driver.execute_script(
-        	    "var nodes = document.getElementsByTagName('div');"
-        	    "return [nodes[0], nodes[1]]")
-
-        self.assertIsInstance(result, list)
-        self.assertEquals(2, len(result))
-        self.assertEquals("a", result[0].text)
-        self.assertEquals("b", result[1].text)
-
-    def test_node_list_return_value_is_translated_to_list_of_web_elements(self):
-        self.driver.get(self.webserver.where_is(
-       			"javascript/res/return_array_of_dom_elements.html"))
-
-        result = self.driver.execute_script(
-        	    "return document.getElementsByTagName('div');")
-
-        self.assertIsInstance(result, list)
-        self.assertEquals(2, len(result))
-        self.assertEquals("a", result[0].text)
-        self.assertEquals("b", result[1].text)
-
-    def test_return_object_literal_with_dom_element_property(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        result = self.driver.execute_script("return {a: document.body}")
-        self.assertIsInstance(result, dict)
-        self.assertEquals("body", result["a"].tag_name)
-
-    def test_scripts_execute_in_anonymous_function_and_do_not_pollute_global_scope(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        self.driver.execute_script("var x = 1;")
-        self.assertEquals("undefined", self.driver.execute_script("return typeof x;"));
-
-    def test_scripts_can_modify_context_window_object(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        self.driver.execute_script("window.x = 1;")
-        self.assertEquals("number", self.driver.execute_script("return typeof x;"));
-        self.assertEquals(1, self.driver.execute_script("return x;"));
-
-    def test_that_ecmascript_returns_document_title(self):
-        self.driver.get(self.webserver.where_is("javascript/res/execute_script_test.html"))
-        result = self.driver.execute_script("return document.title;")
-        self.assertEquals("executeScript test", result)
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/javascript/res/execute_script_test.html b/old-tests/webdriver/javascript/res/execute_script_test.html
deleted file mode 100644
index 9491b44..0000000
--- a/old-tests/webdriver/javascript/res/execute_script_test.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<title>executeScript test</title>
\ No newline at end of file
diff --git a/old-tests/webdriver/javascript/res/return_array_of_dom_elements.html b/old-tests/webdriver/javascript/res/return_array_of_dom_elements.html
deleted file mode 100644
index 32827f9..0000000
--- a/old-tests/webdriver/javascript/res/return_array_of_dom_elements.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<!DOCTYPE html>
-<div id="one">a</div>
-<div id="two">b</div>
diff --git a/old-tests/webdriver/javascript/res/return_document_body.html b/old-tests/webdriver/javascript/res/return_document_body.html
deleted file mode 100644
index ba1eab4..0000000
--- a/old-tests/webdriver/javascript/res/return_document_body.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<div>Hello, world!</div>
diff --git a/old-tests/webdriver/javascript/res/return_node_list.html b/old-tests/webdriver/javascript/res/return_node_list.html
deleted file mode 100644
index 32827f9..0000000
--- a/old-tests/webdriver/javascript/res/return_node_list.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<!DOCTYPE html>
-<div id="one">a</div>
-<div id="two">b</div>
diff --git a/old-tests/webdriver/modal/__init__.py b/old-tests/webdriver/modal/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/old-tests/webdriver/modal/__init__.py
+++ /dev/null
diff --git a/old-tests/webdriver/modal/alerts_quit_test.py b/old-tests/webdriver/modal/alerts_quit_test.py
deleted file mode 100644
index 83f7d14..0000000
--- a/old-tests/webdriver/modal/alerts_quit_test.py
+++ /dev/null
@@ -1,26 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.common import exceptions
-from selenium.webdriver.support import wait
-
-
-class AlertsQuitTest(base_test.WebDriverBaseTest):
-    def setUp(self):
-        self.wait = wait.WebDriverWait(self.driver, 5, ignored_exceptions=[exceptions.NoAlertPresentException])
-        self.driver.get(self.webserver.where_is('modal/res/alerts.html'))
-
-    def test_can_quit_when_an_alert_is_present(self):
-        self.driver.find_element_by_css_selector('#alert').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        self.driver.quit()
-        with self.assertRaises(Exception):
-            alert.accept()
-        AlertsQuitTest.driver = None
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/old-tests/webdriver/modal/alerts_test.py b/old-tests/webdriver/modal/alerts_test.py
deleted file mode 100644
index 5f6f8a9..0000000
--- a/old-tests/webdriver/modal/alerts_test.py
+++ /dev/null
@@ -1,148 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.common import exceptions
-from selenium.webdriver.support import wait
-
-class AlertsTest(base_test.WebDriverBaseTest):
-    def setUp(self):
-        self.wait = wait.WebDriverWait(self.driver, 5, ignored_exceptions = [exceptions.NoAlertPresentException])
-        self.driver.get(self.webserver.where_is('modal/res/alerts.html'))
-
-    def tearDown(self):
-        try:
-            self.driver.switch_to_alert().dismiss()
-        except exceptions.NoAlertPresentException:
-            pass
-
-    # Alerts
-    def test_should_allow_user_to_accept_an_alert(self):
-        self.driver.find_element_by_css_selector('#alert').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.accept()
-        self.driver.current_url
-
-    def test_should_allow_user_to_accept_an_alert_with_no_text(self):
-        self.driver.find_element_by_css_selector('#empty-alert').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.accept()
-        self.driver.current_url
-
-    def test_should_allow_user_to_dismiss_an_alert(self):
-        self.driver.find_element_by_css_selector('#alert').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.dismiss()
-        self.driver.current_url
-
-    def test_should_allow_user_to_get_text_of_an_alert(self):
-        self.driver.find_element_by_css_selector('#alert').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.text
-        alert.accept()
-        self.assertEquals('cheese', value)
-
-    def test_setting_the_value_of_an_alert_throws(self):
-        self.driver.find_element_by_css_selector('#alert').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        with self.assertRaises(exceptions.ElementNotVisibleException):
-            alert.send_keys('cheese')
-        alert.accept()
-
-    def test_alert_should_not_allow_additional_commands_if_dismissed(self):
-        self.driver.find_element_by_css_selector('#alert').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.accept()
-        with self.assertRaises(exceptions.NoAlertPresentException):
-            alert.text
-
-    # Prompts
-    def test_should_allow_user_to_accept_a_prompt(self):
-        self.driver.find_element_by_css_selector('#prompt').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.accept()
-        self.wait.until(lambda x: x.find_element_by_css_selector('#text').text == '')
-
-    def test_should_allow_user_to_dismiss_a_prompt(self):
-        self.driver.find_element_by_css_selector('#prompt').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.dismiss()
-        self.wait.until(lambda x: x.find_element_by_css_selector('#text').text == 'null')
-
-    def test_should_allow_user_to_set_the_value_of_a_prompt(self):
-        self.driver.find_element_by_css_selector('#prompt').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.send_keys('cheese')
-        alert.accept()
-        self.wait.until(lambda x: x.find_element_by_css_selector('#text').text == 'cheese')
-
-    def test_should_allow_user_to_get_text_of_a_prompt(self):
-        self.driver.find_element_by_css_selector('#prompt').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.text
-        alert.accept()
-        self.assertEquals('Enter something', value)
-
-    def test_prompt_should_not_allow_additional_commands_if_dismissed(self):
-        self.driver.find_element_by_css_selector('#prompt').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.accept()
-        with self.assertRaises(exceptions.NoAlertPresentException):
-            alert.text
-
-    def test_prompt_should_use_default_value_if_no_keys_sent(self):
-        self.driver.find_element_by_css_selector('#prompt-with-default').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.accept()
-        self.wait.until(lambda x: x.find_element_by_css_selector('#text').text == 'This is a default value')
-
-    def test_prompt_should_have_null_value_if_dismissed(self):
-        self.driver.find_element_by_css_selector('#prompt-with-default').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.dismiss()
-        self.wait.until(lambda x: x.find_element_by_css_selector('#text').text == 'null')
-
-    # Confirmations
-    def test_should_allow_user_to_accept_a_confirm(self):
-        self.driver.find_element_by_css_selector('#confirm').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.accept()
-        self.wait.until(lambda x: x.find_element_by_css_selector('#text').text == 'true')
-
-    def test_should_allow_user_to_dismiss_a_confirm(self):
-        self.driver.find_element_by_css_selector('#confirm').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.dismiss()
-        self.wait.until(lambda x: x.find_element_by_css_selector('#text').text == 'false')
-
-    def test_setting_the_value_of_a_confirm_throws(self):
-        self.driver.find_element_by_css_selector('#confirm').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        with self.assertRaises(exceptions.ElementNotVisibleException):
-            alert.send_keys('cheese')
-        alert.accept()
-
-    def test_should_allow_user_to_get_text_of_a_confirm(self):
-        self.driver.find_element_by_css_selector('#confirm').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.text
-        alert.accept()
-        self.assertEquals('cheese', value)
-
-    def test_confirm_should_not_allow_additional_commands_if_dismissed(self):
-        self.driver.find_element_by_css_selector('#confirm').click()
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        alert.accept()
-        with self.assertRaises(exceptions.NoAlertPresentException):
-            alert.text
-
-"""
-    def test_switch_to_missing_alert_fails(self):
-        with self.assertRaises(exceptions.NoAlertPresentException):
-            self.driver.switch_to_alert()
-"""
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/old-tests/webdriver/modal/res/alerts.html b/old-tests/webdriver/modal/res/alerts.html
deleted file mode 100644
index 36c5dc1..0000000
--- a/old-tests/webdriver/modal/res/alerts.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html>
-<!-- Padding to account for small screens of mobile devices -->
-<style>
-    p {margin-top:48px;}
-</style>
-<head>
-    <title>Testing Alerts</title>
-
-    <script type="text/javascript">
-        function setInnerText(id, value) {
-          document.getElementById(id).innerHTML = '<p>' + value + '</p>';
-        }
-
-        function displayPrompt() {
-          setInnerText('text', prompt('Enter something'));
-        }
-
-        function displayPromptWithDefault() {
-          setInnerText('text', prompt('Enter something', 'This is a default value'));
-        }
-
-        function displayTwoPrompts() {
-          setInnerText('text1', prompt('First'));
-          setInnerText('text2', prompt('Second'));
-        }
-
-        function displayConfirm() {
-          setInnerText('text', confirm('cheese'));
-        }
-    </script>
-</head>
-<body>
-
-<h1>Testing Alerts and Stuff</h1>
-
-<p>This tests alerts: <a href="#" id="alert" onclick="alert('cheese');">click me</a></p>
-
-<p>This tests alerts: <a href="#" id="empty-alert" onclick="alert('');">click me</a></p>
-
-<p>Let's make the <a href="#" id="prompt" onclick="displayPrompt();">prompt happen</a></p>
-
-<p>Let's make the <a href="#" id="prompt-with-default" onclick="displayPromptWithDefault();">prompt with default happen</a></p>
-
-<p>Let's make TWO <a href="#" id="double-prompt" onclick="displayTwoPrompts();">prompts happen</a></p>
-
-<p>This tests confirm: <a href="#" id="confirm" onclick="displayConfirm();">test confirm</a></p>
-
-<div id="text"></div>
-<div id="text1"></div>
-<div id="text2"></div>
-
-</body>
-</html>
diff --git a/old-tests/webdriver/navigation/__init__.py b/old-tests/webdriver/navigation/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/old-tests/webdriver/navigation/__init__.py
+++ /dev/null
diff --git a/old-tests/webdriver/navigation/auth_tests.py b/old-tests/webdriver/navigation/auth_tests.py
deleted file mode 100644
index 52a18cd..0000000
--- a/old-tests/webdriver/navigation/auth_tests.py
+++ /dev/null
@@ -1,42 +0,0 @@
-import os
-import sys
-import unittest
-import ConfigParser
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.common import exceptions
-from wptserve import server
-from wptserve.router import any_method
-from wptserve.handlers import basic_auth_handler
-
-class WebDriverAuthTest(unittest.TestCase):
-
-    # Set up class to start HTTP Server that responds to
-    # test URLs with various 401 responses
-    @classmethod
-    def setUpClass(cls):
-        cls.driver = base_test.create_driver()
-        cls.webserver = server.WebTestHttpd(routes=[(any_method, "*", basic_auth_handler)])
-        cls.webserver.start()
-
-    @classmethod
-    def tearDownClass(cls):
-        cls.driver.quit()
-        cls.webserver.stop()
-
-    # Test that when 401 is seen by browser, a WebDriver response is still sent
-    def test_response_401_auth_basic(self):
-        page = self.webserver.get_url('navigation/res/authenticated.html')
-        self.driver.set_page_load_timeout(5)
-        try:
-            self.driver.get( page )
-            # if we got a responses instead of timeout, that's success
-            self.assertTrue(True)
-        except exceptions.TimeoutException:
-            self.fail("Did not get response from browser.")
-        except:
-            self.fail("Unexpected failure. Please investigate.")
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/navigation/forward.py b/old-tests/webdriver/navigation/forward.py
deleted file mode 100644
index 67ca832..0000000
--- a/old-tests/webdriver/navigation/forward.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import unittest
-import sys
-import os
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-class ForwardTest(base_test.WebDriverBaseTest):
-    # Get a static page that must be the same upon refresh
-    def test_forward(self):
-        self.driver.get(self.webserver.where_is('navigation/res/forwardStart.html'))
-        self.driver.get(self.webserver.where_is('navigation/res/forwardNext.html'))
-        nextbody = self.driver.find_element_by_css_selector("body").text
-        self.driver.back()
-        currbody = self.driver.find_element_by_css_selector("body").text
-        self.assertNotEqual(nextbody, currbody)
-        self.driver.forward()
-        currbody = self.driver.find_element_by_css_selector("body").text
-        self.assertEqual(nextbody, currbody)
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/old-tests/webdriver/navigation/forwardToNothing.py b/old-tests/webdriver/navigation/forwardToNothing.py
deleted file mode 100644
index 9975968..0000000
--- a/old-tests/webdriver/navigation/forwardToNothing.py
+++ /dev/null
@@ -1,20 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-class ForwardToNothingTest(base_test.WebDriverBaseTest):
-    # Get a static page that must be the same upon refresh
-    def test_forwardToNothing(self):
-        self.driver.get(self.webserver.where_is('navigation/forwardStart.html'))
-        body = self.driver.find_element_by_css_selector("body").text
-        self.driver.forward()
-        currbody = self.driver.find_element_by_css_selector("body").text
-        self.assertEqual(body, currbody)
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/old-tests/webdriver/navigation/get_from_http_test.py b/old-tests/webdriver/navigation/get_from_http_test.py
deleted file mode 100644
index d28a0d0..0000000
--- a/old-tests/webdriver/navigation/get_from_http_test.py
+++ /dev/null
@@ -1,60 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-class GetFromHttpTest(base_test.WebDriverBaseTest):
-    def testGetUrlWithNoRedirectionOverHttp(self):
-        page = self.webserver.where_is('navigation/res/empty.html')
-        self.driver.get(page)
-        url = self.driver.current_url
-        self.assertEquals(page, url)
-
-
-    def testGetWillFollowTheLocationHeader(self):
-        page = self.webserver.where_is('navigation/redirect')
-        self.driver.get(page)
-        expected = self.webserver.where_is('navigation/res/empty.html')
-        url = self.driver.current_url
-        self.assertEquals(expected, url)
-
-
-    def testGetWillFollowMetaRefreshThatRefreshesInstantly(self):
-        page = self.webserver.where_is('navigation/res/instant-meta-redirect.html')
-        self.driver.get(page)
-        expected = self.webserver.where_is('navigation/res/empty.html')
-        url = self.driver.current_url
-        self.assertEquals(expected, url)
-
-
-    def testGetWillFollowMetaRefreshThatRefreshesAfterOneSecond(self):
-        page = self.webserver.where_is('navigation/res/1s-meta-redirect.html')
-        self.driver.get(page)
-        expected = self.webserver.where_is('navigation/res/empty.html')
-        url = self.driver.current_url
-        self.assertEquals(expected, url)
-
-
-    def testGetWillNotFollowMetaRefreshThatRefreshesAfterMoreThanOneSecond(self):
-        page = self.webserver.where_is('navigation/res/60s-meta-redirect.html')
-        self.driver.get(page)
-        url = self.driver.current_url
-        self.assertEquals(page, url)
-
-
-    def testGetFragmentInCurrentDocumentDoesNotReloadPage(self):
-        page = self.webserver.where_is("navigation/res/fragment.html")
-        fragment_page = "%s#%s" % (page, "fragment")
-
-        self.driver.get(page)
-        self.driver.execute_script("state = true")
-
-        self.driver.get(fragment_page)
-        self.assertEquals(True, self.driver.execute_script("return state"))
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/old-tests/webdriver/navigation/invalid_cert_test.py b/old-tests/webdriver/navigation/invalid_cert_test.py
deleted file mode 100644
index b980146..0000000
--- a/old-tests/webdriver/navigation/invalid_cert_test.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import BaseHTTPServer
-import os
-import ssl
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-here = os.path.dirname(os.path.abspath(__file__))
-
-
-class InvalidCertTest(base_test.WebDriverBaseTest):
-    def testCanNavigateToSiteWithSelfSignedCert(self):
-        self.webserver.httpd.socket = ssl.wrap_socket(
-            self.webserver.httpd.socket,
-            certfile=os.path.join(here, 'res/self-signed.key'),
-            server_side=True)
-        expected = self.webserver.where_is(
-            'navigation/res/empty.html').replace('http:', 'https:', 1)
-
-        self.driver.get(expected)
-        self.assertEquals(expected, self.driver.current_url)
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/old-tests/webdriver/navigation/refresh-page.py b/old-tests/webdriver/navigation/refresh-page.py
deleted file mode 100644
index b0638e5..0000000
--- a/old-tests/webdriver/navigation/refresh-page.py
+++ /dev/null
@@ -1,27 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-class RefreshPageTest(base_test.WebDriverBaseTest):
-    # Get a static page that must be the same upon refresh
-    def test_refreshPage(self):
-        self.driver.get(self.webserver.where_is('navigation/res/refreshPageStatic.html'))
-        body = self.driver.find_element_by_css("body").text
-        self.driver.execute_script("document.getElementById('body').innerHTML=''")
-        self.driver.refresh()
-        newbody = self.driver.find_element_by_css("body").text
-        self.assertEqual(body, newbody)
-
-        self.driver.get(self.webserver.where_is('navigation/res/refreshPageDynamic.html'))
-        body = self.driver.find_element_by_css("body").text
-        self.driver.refresh()
-        newbody = self.driver.find_element_by_css("body").text
-        self.assertNotEqual(body, newbody)
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/old-tests/webdriver/navigation/refresh_page.py b/old-tests/webdriver/navigation/refresh_page.py
deleted file mode 100644
index 1e18990..0000000
--- a/old-tests/webdriver/navigation/refresh_page.py
+++ /dev/null
@@ -1,27 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-class RefreshPageTest(base_test.WebDriverBaseTest):
-    # Get a static page that must be the same upon refresh
-    def test_refreshPage(self):
-        self.driver.get(self.webserver.where_is('navigation/res/refreshPageStatic.html'))
-        body = self.driver.find_element_by_css_selector("body").text
-        self.driver.execute_script("document.getElementById('body').innerHTML=''")
-        self.driver.refresh()
-        newbody = self.driver.find_element_by_css_selector("body").text
-        self.assertEqual(body, newbody)
-
-        self.driver.get(self.webserver.where_is('navigation/res/refreshPageDynamic.html'))
-        body = self.driver.find_element_by_css_selector("body").text
-        self.driver.refresh()
-        newbody = self.driver.find_element_by_css_selector("body").text
-        self.assertNotEqual(body, newbody)
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/old-tests/webdriver/navigation/res/1s-meta-redirect.html b/old-tests/webdriver/navigation/res/1s-meta-redirect.html
deleted file mode 100644
index 44fd332..0000000
--- a/old-tests/webdriver/navigation/res/1s-meta-redirect.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<meta http-equiv="Refresh" content="1; URL=empty.html">
-<title>meta-redirect</title>
diff --git a/old-tests/webdriver/navigation/res/60s-meta-redirect.html b/old-tests/webdriver/navigation/res/60s-meta-redirect.html
deleted file mode 100644
index 9e56bc9..0000000
--- a/old-tests/webdriver/navigation/res/60s-meta-redirect.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<meta http-equiv="Refresh" content="60; URL=empty.html">
-<title>meta-redirect</title>
diff --git a/old-tests/webdriver/navigation/res/authenticated.html b/old-tests/webdriver/navigation/res/authenticated.html
deleted file mode 100644
index c774493..0000000
--- a/old-tests/webdriver/navigation/res/authenticated.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-
-<title>authentication successful</title>
-<h1>You're in!</h1>
\ No newline at end of file
diff --git a/old-tests/webdriver/navigation/res/empty.html b/old-tests/webdriver/navigation/res/empty.html
deleted file mode 100644
index da58ac2..0000000
--- a/old-tests/webdriver/navigation/res/empty.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-
-<title>Cheese</title>
diff --git a/old-tests/webdriver/navigation/res/forwardNext.html b/old-tests/webdriver/navigation/res/forwardNext.html
deleted file mode 100644
index edd77f8..0000000
--- a/old-tests/webdriver/navigation/res/forwardNext.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<body id=body>
-This is the next page.
-</body>
-</html>
\ No newline at end of file
diff --git a/old-tests/webdriver/navigation/res/forwardStart.html b/old-tests/webdriver/navigation/res/forwardStart.html
deleted file mode 100644
index 3ab4f3c..0000000
--- a/old-tests/webdriver/navigation/res/forwardStart.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<body>
-This is the start page.
-</body>
-</html>
\ No newline at end of file
diff --git a/old-tests/webdriver/navigation/res/fragment.html b/old-tests/webdriver/navigation/res/fragment.html
deleted file mode 100644
index bd09434..0000000
--- a/old-tests/webdriver/navigation/res/fragment.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>Fragment</title>
-
-<script>
-  var state = false;
-</script>
-
-<p id="fragment">I wish I were a pea, alas I am only a fragment.</p>
\ No newline at end of file
diff --git a/old-tests/webdriver/navigation/res/instant-meta-redirect.html b/old-tests/webdriver/navigation/res/instant-meta-redirect.html
deleted file mode 100644
index c6ad7c9..0000000
--- a/old-tests/webdriver/navigation/res/instant-meta-redirect.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<meta http-equiv="Refresh" content="0; URL=empty.html">
-<title>meta-redirect</title>
diff --git a/old-tests/webdriver/navigation/res/refreshPageDynamic.html b/old-tests/webdriver/navigation/res/refreshPageDynamic.html
deleted file mode 100644
index bedd20c..0000000
--- a/old-tests/webdriver/navigation/res/refreshPageDynamic.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<body id="body">
-This is a dynamic page. It will always have different content if refreshed.
-<div id="dynamic"></div>
-</body>
-</html>
-<script>
-document.getElementById('dynamic').innerHTML = Math.random();
-</script>
\ No newline at end of file
diff --git a/old-tests/webdriver/navigation/res/refreshPageStatic.html b/old-tests/webdriver/navigation/res/refreshPageStatic.html
deleted file mode 100644
index 7d339aa..0000000
--- a/old-tests/webdriver/navigation/res/refreshPageStatic.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<body id="body">
-This is a static page. It will always have the same content if refreshed.
-</body>
-</html>
\ No newline at end of file
diff --git a/old-tests/webdriver/navigation/res/self-signed.key b/old-tests/webdriver/navigation/res/self-signed.key
deleted file mode 100644
index bca61cd..0000000
--- a/old-tests/webdriver/navigation/res/self-signed.key
+++ /dev/null
@@ -1,28 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDoww50sF8aKYNe1owbtsEilK2KOZx2F1Iv+EElpO7N2hDarIBu
-9f87H+03b5RpI9oCSFCo67wTdCJ0A4B8SLwV2SUZY78CGJB1A8kXqP04tz0S0SYD
-2TQRliwTxx1r7pDv1VmLc7XZRE6n6FFKTEjKmdUhCwHuQfC1sOkCXqSzFQIDAQAB
-AoGAS5XcAeSsXXCRqqB9SxqjyTkCydo/htG37L/vV+whaFOiGYDfDClyQp7xh4kC
-Zsovp4IYP2Kd5qtV7NqeRL3R5Z/Dxf6+6G4HdbI7np5m7A7cU32hMIzxi5M55Lo6
-gveNgHb3uy+R+tZTyab6saUxFy1DqbMh/2ga4lbatRm7JdkCQQD9C8+Q3nN8FkH4
-sKbOnHsKEV27459EYz7WnENiwhcYByBt7vw9BPM/LrO4UzWtgNjtRtxBpFeVT/V+
-dF7OZuH/AkEA63qhJcs6Ru3G29R3kJ82ttyHU1INawB/7od3bKp3rE+jUwNG7ZbQ
-mtRdPTI02/OOeqZKeo46JX3D57gfMRDC6wJABZk/TGs/jt1HNGNkLWoU5tIfisqs
-eWzgtQrcCtFUhXmS5BvHhOoZH6q+2zMsGtyg8A8DTIiAT5NnURbuCg8IrQJAd3kh
-d85zw/byFSjofPz6wq6DDngsDKUVQ42BvyWCUG+bewvHmdYSAuxKXjkx7oLVQE9M
-rH+q6sizc8bMNJW/fwJBAPcobQ59ZGAEWrnDdtbWnNS1ieSV8p6u7sg20HvrUIPS
-TIQXeems9IKu0xs0dnLXNucm4ur8MnE7snkvWZnx2C8=
------END RSA PRIVATE KEY-----
------BEGIN CERTIFICATE-----
-MIICAzCCAWwCCQCc6Lx6zkc0BDANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJV
-UzETMBEGA1UECAwKQ2FsaWZvcm5pYTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0
-cyBQdHkgTHRkMCAXDTEzMDcxMjIyMzMxNVoYDzIyODcwNDI2MjIzMzE1WjBFMQsw
-CQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEhMB8GA1UECgwYSW50ZXJu
-ZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDo
-ww50sF8aKYNe1owbtsEilK2KOZx2F1Iv+EElpO7N2hDarIBu9f87H+03b5RpI9oC
-SFCo67wTdCJ0A4B8SLwV2SUZY78CGJB1A8kXqP04tz0S0SYD2TQRliwTxx1r7pDv
-1VmLc7XZRE6n6FFKTEjKmdUhCwHuQfC1sOkCXqSzFQIDAQABMA0GCSqGSIb3DQEB
-BQUAA4GBAD6atn+xbACigA9+EmcZo2bpAzxLAuXOAVEBM6J7Nrd8pk1D3PRP0QPg
-UxjIDQ7ZqEWwLAcKb6AIfWwJ2Wj7q5LSX5nEFnUXggpywfUNTuZaR/fquUVnhMaO
-tF8fQB9AYSa1WjqUbIKlns3Z2RhUv2DSEifi6UNjsf2UpmDTxtkN
------END CERTIFICATE-----
diff --git a/old-tests/webdriver/network.py b/old-tests/webdriver/network.py
deleted file mode 100644
index 0674b98..0000000
--- a/old-tests/webdriver/network.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# this comes from this stack overflow post:
-# http://stackoverflow.com/a/1947766/725944
-
-# module for getting the lan ip address of the computer
-
-import os
-import socket
-
-if os.name != "nt":
-    import fcntl
-    import struct
-    def get_interface_ip(ifname):
-        sckt = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-        return socket.inet_ntoa(fcntl.ioctl(
-                sckt.fileno(),
-                0x8915,  # SIOCGIFADDR
-                struct.pack('256s', ifname[:15])
-            )[20:24])
-
-def get_lan_ip():
-    ip = socket.gethostbyname(socket.gethostname())
-    if ip.startswith("127.") and os.name != "nt":
-        interfaces = ["eth0","eth1","eth2","wlan0","wlan1","wifi0","ath0","ath1","ppp0"]
-        for ifname in interfaces:
-            try:
-                ip = get_interface_ip(ifname)
-                break
-            except IOError:
-                pass
-    return ip
diff --git a/old-tests/webdriver/runtests.py b/old-tests/webdriver/runtests.py
deleted file mode 100644
index 1cd9a38..0000000
--- a/old-tests/webdriver/runtests.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import unittest
-
-from unittest import TestLoader, TextTestRunner, TestSuite
-
-if __name__ == "__main__":
-
-    loader = TestLoader()
-    suite = TestSuite((
-        loader.discover(".", pattern="*.py")
-        ))
-
-    runner = TextTestRunner(verbosity=2)
-    runner.run(suite)
-    unittest.main()
diff --git a/old-tests/webdriver/runtests_p0.py b/old-tests/webdriver/runtests_p0.py
deleted file mode 100644
index dc52c14..0000000
--- a/old-tests/webdriver/runtests_p0.py
+++ /dev/null
@@ -1,42 +0,0 @@
-import unittest
-
-from unittest import TestLoader, TextTestRunner, TestSuite
-
-from cookie import cookie_test
-from navigation import forward
-from navigation import forwardToNothing
-from navigation import get_from_http_test
-from navigation import refresh_page
-from element_location import element_location_test
-from element_state import visibility_test
-from element_state import method_test
-from element_state import properties
-from javascript import execute_script_test
-from user_input import clear_test
-from windows import window_manipulation
-from windows import tabbing
-
-
-
-if __name__ == "__main__":
-
-    loader = TestLoader()
-    suite = TestSuite((
-        loader.loadTestsFromModule(cookie_test),
-        loader.loadTestsFromModule(forward),
-        loader.loadTestsFromModule(forwardToNothing),
-        loader.loadTestsFromModule(element_location_test),
-        loader.loadTestsFromModule(visibility_test),
-        loader.loadTestsFromModule(execute_script_test),
-        loader.loadTestsFromModule(clear_test),
-        loader.loadTestsFromModule(method_test),
-        loader.loadTestsFromModule(properties),
-        loader.loadTestsFromModule(refresh_page),
-        loader.loadTestsFromModule(get_from_http_test),
-        loader.loadTestsFromModule(window_manipulation),
-        loader.loadTestsFromModule(tabbing)
-        ))
-
-    runner = TextTestRunner(verbosity=2)
-    runner.run(suite)
-    unittest.main()
diff --git a/old-tests/webdriver/screenshot/__init__.py b/old-tests/webdriver/screenshot/__init__.py
deleted file mode 100644
index 0c8107b..0000000
--- a/old-tests/webdriver/screenshot/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-__author__ = 'b-redeg'
diff --git a/old-tests/webdriver/screenshot/res/screenshot.html b/old-tests/webdriver/screenshot/res/screenshot.html
deleted file mode 100644
index 057bb9b..0000000
--- a/old-tests/webdriver/screenshot/res/screenshot.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>"img" element with not fully qualified url</title>
-
-<img src="//web-platform.test:8000/images/blue.png">&nbsp;</a>
\ No newline at end of file
diff --git a/old-tests/webdriver/screenshot/take_screenshot.py b/old-tests/webdriver/screenshot/take_screenshot.py
deleted file mode 100644
index 20ff2bf..0000000
--- a/old-tests/webdriver/screenshot/take_screenshot.py
+++ /dev/null
@@ -1,15 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-
-class ScreenShotTest(base_test.WebDriverBaseTest):
-    # Get a static page that must be the same upon refresh
-    def test_screenShot(self):
-        self.driver.get(self.webserver.where_is('screenshot/res/screen.html'))
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/old-tests/webdriver/timeouts/__init__.py b/old-tests/webdriver/timeouts/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/old-tests/webdriver/timeouts/__init__.py
+++ /dev/null
diff --git a/old-tests/webdriver/timeouts/implicit_waits_tests.py b/old-tests/webdriver/timeouts/implicit_waits_tests.py
deleted file mode 100644
index 5faa0ad..0000000
--- a/old-tests/webdriver/timeouts/implicit_waits_tests.py
+++ /dev/null
@@ -1,64 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.common import exceptions
-
-
-class ImplicitWaitsTests(base_test.WebDriverBaseTest):
-    def setUp(self):
-        self.driver.get(self.webserver.where_is('timeouts/res/implicit_waits_tests.html'))
-
-    def test_find_element_by_id(self):
-        add = self.driver.find_element_by_css_selector("#adder")
-        self.driver.implicitly_wait(3)
-        add.click()
-        self.driver.find_element_by_css_selector("#box0")  # All is well if this doesn't throw.
-
-    def test_should_still_fail_to_find_an_element_when_implicit_waits_are_enabled(self):
-        self.driver.implicitly_wait(0.5)
-        try:
-            self.driver.find_element_by_css_selector("#box0")
-            self.fail("Expected NoSuchElementException to have been thrown")
-        except exceptions.NoSuchElementException as e:
-            pass
-        except Exception as e:
-            self.fail("Expected NoSuchElementException but got " + str(e))
-
-    def test_should_return_after_first_attempt_to_find_one_after_disabling_implicit_waits(self):
-        self.driver.implicitly_wait(3)
-        self.driver.implicitly_wait(0)
-        try:
-            self.driver.find_element_by_css_selector("#box0")
-            self.fail("Expected NoSuchElementException to have been thrown")
-        except exceptions.NoSuchElementException as e:
-            pass
-        except Exception as e:
-            self.fail("Expected NoSuchElementException but got " + str(e))
-
-    def test_should_implicitly_wait_until_at_least_one_element_is_found_when_searching_for_many(self):
-        add = self.driver.find_element_by_css_selector("#adder")
-        self.driver.implicitly_wait(2)
-        add.click()
-        add.click()
-        elements = self.driver.find_elements_by_css_selector(".redbox")
-        self.assertTrue(len(elements) >= 1)
-
-    def test_should_still_fail_to_find_an_element_by_class_when_implicit_waits_are_enabled(self):
-        self.driver.implicitly_wait(0.5)
-        elements = self.driver.find_elements_by_css_selector(".redbox")
-        self.assertEqual(0, len(elements))
-
-    def test_should_return_after_first_attempt_to_find_many_after_disabling_implicit_waits(self):
-        add = self.driver.find_element_by_css_selector("#adder")
-        self.driver.implicitly_wait(1.1)
-        self.driver.implicitly_wait(0)
-        add.click()
-        elements = self.driver.find_elements_by_css_selector(".redbox")
-        self.assertEqual(0, len(elements))
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/timeouts/page_load_timeouts_tests.py b/old-tests/webdriver/timeouts/page_load_timeouts_tests.py
deleted file mode 100644
index 2f0d3be..0000000
--- a/old-tests/webdriver/timeouts/page_load_timeouts_tests.py
+++ /dev/null
@@ -1,26 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.common import exceptions
-
-
-class PageLoadTimeoutTest(base_test.WebDriverBaseTest):
-    def test_should_timeout_on_page_load_taking_too_long(self):
-        self.driver.set_page_load_timeout(0.01)
-        with self.assertRaises(exceptions.TimeoutException):
-            self.load_page()
-
-    def test_should_not_timeout_on_page_load(self):
-        self.driver.set_page_load_timeout(30)
-        self.load_page()
-        pass
-
-    def load_page(self):
-        self.driver.get(self.webserver.where_is('timeouts/res/page_load_timeouts_tests.html'))
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/timeouts/res/implicit_waits_tests.html b/old-tests/webdriver/timeouts/res/implicit_waits_tests.html
deleted file mode 100644
index ce39877..0000000
--- a/old-tests/webdriver/timeouts/res/implicit_waits_tests.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <title></title>
-    <script type="text/javascript">
-      var next = 0;
-
-      function addMore() {
-        var box = document.createElement('DIV');
-        box.id = 'box' + next++;
-        box.className = 'redbox';
-        box.style.width = '150px';
-        box.style.height = '150px';
-        box.style.backgroundColor = 'red';
-        box.style.border = '1px solid black';
-        box.style.margin = '5px';
-
-        window.setTimeout(function() {
-          document.body.appendChild(box);
-        }, 1000);
-      }
-
-      function reveal() {
-        var elem = document.getElementById('revealed');
-        window.setTimeout(function() {
-          elem.style.display = '';
-        }, 1000);
-      }
-    </script>
-  </head>
-  <body>
-    <input id="adder" type="button" value="Add a box!" onclick="addMore()"/>
-
-    <input id="reveal" type="button" value="Reveal a new input" onclick="reveal();" />
-
-    <input id="revealed" style="display:none;" />
-  </body>
-</html>
\ No newline at end of file
diff --git a/old-tests/webdriver/timeouts/res/page_load_timeouts_tests.html b/old-tests/webdriver/timeouts/res/page_load_timeouts_tests.html
deleted file mode 100644
index 555e19b..0000000
--- a/old-tests/webdriver/timeouts/res/page_load_timeouts_tests.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Hello WebDriver</title>
-</head>
-<body>
-    <h1>Page Load Timeouts Test</h1>
-    <div>
-        Say Cheese
-    </div>
-</body>
-</html>
diff --git a/old-tests/webdriver/user_input/__init__.py b/old-tests/webdriver/user_input/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/old-tests/webdriver/user_input/__init__.py
+++ /dev/null
diff --git a/old-tests/webdriver/user_input/clear_test.py b/old-tests/webdriver/user_input/clear_test.py
deleted file mode 100644
index 34e82e1..0000000
--- a/old-tests/webdriver/user_input/clear_test.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# -*- mode: python; fill-column: 100; comment-column: 100; -*-
-
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.common import exceptions
-
-
-class ElementClearTest(base_test.WebDriverBaseTest):
-    def test_writable_text_input_element_should_clear(self):
-        self.driver.get(self.webserver.where_is("user_input/res/element_clear_writable_input_page.html"))
-        e = self.driver.find_element_by_css_selector("#writableTextInput")
-        e.clear()
-        self.assertEquals("", e.get_attribute("value"))
-
-    def test_disabled_text_input_element_should_not_clear(self):
-        self.driver.get(self.webserver.where_is("user_input/res/element_clear_disabled_input_page.html"))
-        e = self.driver.find_element_by_css_selector("#disabledTextInput")
-        self.assertRaises(exceptions.InvalidElementStateException, lambda: e.clear())
-
-    def test_read_only_text_input_element_should_not_clear(self):
-        self.driver.get(self.webserver.where_is("user_input/res/element_clear_readonly_input_page.html"))
-        e = self.driver.find_element_by_css_selector("#readOnlyTextInput")
-        self.assertRaises(exceptions.InvalidElementStateException, lambda: e.clear())
-
-    def test_writable_text_area_element_should_clear(self):
-        self.driver.get(self.webserver.where_is("user_input/res/element_clear_writable_textarea_page.html"))
-        e = self.driver.find_element_by_css_selector("#writableTextArea")
-        e.clear()
-        self.assertEquals("", e.get_attribute("value"))
-
-    def test_disabled_text_area_element_should_not_clear(self):
-        self.driver.get(self.webserver.where_is("user_input/res/element_clear_disabled_textarea_page.html"))
-        e = self.driver.find_element_by_css_selector("#disabledTextArea")
-        self.assertRaises(exceptions.InvalidElementStateException, lambda: e.clear())
-
-    def test_read_only_text_input_element_should_not_clear(self):
-        self.driver.get(self.webserver.where_is("user_input/res/element_clear_readonly_textarea_page.html"))
-        e = self.driver.find_element_by_css_selector("#readOnlyTextArea")
-        self.assertRaises(exceptions.InvalidElementStateException, lambda: e.clear())
-
-    def test_content_editable_area_should_clear(self):
-        self.driver.get(self.webserver.where_is("user_input/res/element_clear_contenteditable_page.html"))
-        e = self.driver.find_element_by_css_selector("#contentEditableElement")
-        e.clear()
-        self.assertEquals("", e.text)
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/user_input/click_test.py b/old-tests/webdriver/user_input/click_test.py
deleted file mode 100644
index c151f9b..0000000
--- a/old-tests/webdriver/user_input/click_test.py
+++ /dev/null
@@ -1,349 +0,0 @@
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-repo_root = os.path.abspath(os.path.join(__file__, "../../.."))
-sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
-from webdriver import exceptions, wait
-
-
-class ClickTest(base_test.WebDriverBaseTest):
-    def setUp(self):
-        self.wait = wait.WebDriverWait(self.driver, 5, ignored_exceptions = [exceptions.NoSuchAlertException])
-        self.driver.get(self.webserver.where_is('modal/res/alerts.html'))
-
-    def tearDown(self):
-        try:
-            self.driver.switch_to_alert().dismiss()
-        except exceptions.NoSuchAlertException:
-            pass
-
-    def test_click_div(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("div")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "div")
-
-    def test_click_p(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("p")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "p")
-
-    def test_click_h1(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("h1")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "h1")
-
-    def test_click_pre(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("pre")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "pre")
-
-    def test_click_ol(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("ol")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "ol")
-
-    def test_click_ul(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("ul")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "ul")
-
-    def test_click_a(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("a")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "a")
-
-    def test_click_img(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("img")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "img")
-
-    def test_click_video(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("video")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "video")
-
-    def test_click_canvas(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("canvas")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "canvas")
-
-    def test_click_progress(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("progress")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "progress")
-
-    def test_click_textarea(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("textarea")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "textarea")
-
-    def test_click_button(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("button")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "button")
-
-    def test_click_svg(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("svg")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "svg")
-
-    def test_click_input_range(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_range")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_range")
-
-    def test_click_input_button(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_button")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_button")
-
-    def test_click_input_submit(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_submit")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_submit")
-
-    def test_click_input_reset(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_reset")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_reset")
-
-    def test_click_input_checkbox(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_checkbox")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_checkbox")
-
-    def test_click_input_radio(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_radio")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_radio")
-
-    def test_click_input_text(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_text")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_text")
-
-    def test_click_input_number(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_number")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_number")
-
-    def test_click_input_tel(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_tel")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_tel")
-
-    def test_click_input_url(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_url")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_url")
-
-    def test_click_input_email(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_email")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_email")
-
-    def test_click_input_search(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_search")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_search")
-
-    def test_click_input_image(self):
-        self.driver.get(self.webserver.where_is("user_input/res/click.html"))
-
-        element = self.driver.find_element_by_id("input_image")
-        element.click()
-
-        alert = self.wait.until(lambda x: x.switch_to_alert())
-        value = alert.get_text()
-        alert.accept()
-
-        self.assertEquals(value, "input_image")
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/user_input/res/click.html b/old-tests/webdriver/user_input/res/click.html
deleted file mode 100644
index 3517bfc..0000000
--- a/old-tests/webdriver/user_input/res/click.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html>
-
-<html>
-<head>
-    <meta charset="utf-8" />
-    <title></title>
-    <style>
-        .testcase {
-            background-color: #DDD;
-            margin: 30px;
-            min-width: 500px;
-            min-height: 70px;
-        }
-    </style>
-</head>
-<body>
-    <div id="div" class="testcase" onclick="alert('div')">div</div>
-    <p id="p" class="testcase" onclick="alert('p')">p</p>
-    <h1 id="h1" class="testcase" onclick="alert('h1')">h1</h1>
-    <pre id="pre" class="testcase" onclick="alert('pre')">pre</pre>
-    <ol id="ol" class="testcase" onclick="alert('ol')">ol</ol>
-    <ul id="ul" class="testcase" onclick="alert('ul')">ul</ul>
-    <a id="a" class="testcase" onclick="alert('a')">a</a>
-    <img id="img" class="testcase" onclick="alert('img')" src="data:image/png;base64,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AJgMEkAAAAAAk0ECCAAAAGAySAABAAAATAYJIAAAAIDJIAEEAAAAMBkkgAAAAAAmgwQQAAAAwGSQAAIAAACYDBJAAAAAAJNBAggAAABgMkgAAQAAAEwGCSAAAACAySABBAAAADAZJIAAAAAAJoMEEAAAAMBkkAACAAAAmAwSQAAAAACTQQIIAAAAYDJIAAEAAABMBgkgAAAAgMkgAQQAAAAwGSSAAAAAACaDBBAAAADAZJAAAgAAAJgMEkAAAAAAk0ECCAAAAGAySAABAAAATAYJIAAAAIDJIAEEAAAAMBkkgAAAAAAmgwQQAAAAwGSQAAIAAACYDBJAAAAAAJNBAggAAABgMkgAAQAAAEwGCSAAAACAySABBAAAADAZJIAAAAAAJoMEEAAAAMBkkAACAAAAmAwSQAAAAACTQQIIAAAAYDJIAAEAAABMBgkgAAAAgMkgAQQAAAAwGSSAAAAAACaDBBAAAADAZJAAAgAAAJgMEkAAAAAAk0ECCAAAAGAySAABAAAATAYJIAAAAIDJIAEEAAAAMBkkgAAAAAAmgwQQAAAAwGSQAAIAAACYDBJAAAAAAJNBAggAAABgMkgAAQAAAEwGCSAAAACAySABBAAAADAZJIAAAAAAJoMEEAAAAMBkkAACAAAAmAwSQAAAAACTQQIIAAAAYDJIAAEAAABMBgkgAAAAgMkgAQQAAAAwFaL/A1remQsHpt6bAAAAAElFTkSuQmCC" />
-    <video id="video" class="testcase" onclick="alert('video')">video</video>
-    <canvas id="canvas" class="testcase" onclick="alert('canvas')">canvas</canvas>
-    <progress id="progress" class="testcase" onclick="alert('progress')">progress</progress>
-    <textarea id="textarea" class="testcase" onclick="alert('textarea')">textarea</textarea>
-    <button id="button" class="testcase" onclick="alert('button')">button</button>
-    <svg id="svg" class="testcase" onclick="alert('svg')"><circle cx="50" cy="50" r="40" stroke="white" stroke-width="4" fill="blue" /></svg>
-    <input id="input_range" class="testcase" onclick="alert('input_range')" type="range" />
-    <input id="input_button" class="testcase" onclick="alert('input_button')" type="button" />
-    <input id="input_submit" class="testcase" onclick="alert('input_submit')" type="submit" />
-    <input id="input_reset" class="testcase" onclick="alert('input_reset')" type="reset" />
-    <input id="input_checkbox" class="testcase" onclick="alert('input_checkbox')" type="checkbox" />
-    <input id="input_radio" class="testcase" onclick="alert('input_radio')" type="radio" />
-    <input id="input_text" class="testcase" onclick="alert('input_text')" type="text" />
-    <input id="input_number" class="testcase" onclick="alert('input_number')" type="number" />
-    <input id="input_tel" class="testcase" onclick="alert('input_tel')" type="tel" />
-    <input id="input_url" class="testcase" onclick="alert('input_url')" type="url" />
-    <input id="input_email" class="testcase" onclick="alert('input_email')" type="email" />
-    <input id="input_search" class="testcase" onclick="alert('input_search')" type="search" />
-    <input id="input_image" class="testcase" onclick="alert('input_image')" type="image" />
-</body>
-</html>
\ No newline at end of file
diff --git a/old-tests/webdriver/user_input/res/element_clear_contenteditable_page.html b/old-tests/webdriver/user_input/res/element_clear_contenteditable_page.html
deleted file mode 100644
index 2d65d38..0000000
--- a/old-tests/webdriver/user_input/res/element_clear_contenteditable_page.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Clear Elements Test</title>
-<meta charset=utf-8>
-</head>
-<body>
-<div id="contentEditableElement" contentEditable="true">
-This is a contentEditable area
-</div>
-</body>
-</html>
-
diff --git a/old-tests/webdriver/user_input/res/element_clear_disabled_input_page.html b/old-tests/webdriver/user_input/res/element_clear_disabled_input_page.html
deleted file mode 100644
index b0f2123..0000000
--- a/old-tests/webdriver/user_input/res/element_clear_disabled_input_page.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Clear Elements Test</title>
-<meta charset=utf-8>
-</head>
-<body>
-<input id="disabledTextInput" type="text" disabled="true" value="Test"/>
-</body>
-</html>
-
diff --git a/old-tests/webdriver/user_input/res/element_clear_disabled_textarea_page.html b/old-tests/webdriver/user_input/res/element_clear_disabled_textarea_page.html
deleted file mode 100644
index e274a05..0000000
--- a/old-tests/webdriver/user_input/res/element_clear_disabled_textarea_page.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Clear Elements Test</title>
-<meta charset=utf-8>
-</head>
-<body>
-<textarea rows="5" id="disabledTextArea" disabled="true" cols="20">
-text area which is not supposed to be cleared
-</textarea>
-</body>
-</html>
-
diff --git a/old-tests/webdriver/user_input/res/element_clear_readonly_input_page.html b/old-tests/webdriver/user_input/res/element_clear_readonly_input_page.html
deleted file mode 100644
index 5d3a7ac..0000000
--- a/old-tests/webdriver/user_input/res/element_clear_readonly_input_page.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Clear Elements Test</title>
-<meta charset=utf-8>
-</head>
-<body>
-<input id="readOnlyTextInput" type="text" readonly value="Test"/>
-</body>
-</html>
-
diff --git a/old-tests/webdriver/user_input/res/element_clear_readonly_textarea_page.html b/old-tests/webdriver/user_input/res/element_clear_readonly_textarea_page.html
deleted file mode 100644
index d11241e..0000000
--- a/old-tests/webdriver/user_input/res/element_clear_readonly_textarea_page.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Clear Elements Test</title>
-<meta charset=utf-8>
-</head>
-<body>
-<textarea id="readOnlyTextArea" readonly rows="5" cols="20">
-text area which is not supposed to be cleared
-</textarea>
-</body>
-</html>
-
diff --git a/old-tests/webdriver/user_input/res/element_clear_writable_input_page.html b/old-tests/webdriver/user_input/res/element_clear_writable_input_page.html
deleted file mode 100644
index 448cd37..0000000
--- a/old-tests/webdriver/user_input/res/element_clear_writable_input_page.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Clear Elements Test</title>
-<meta charset=utf-8>
-</head>
-<body>
-<input id="writableTextInput" type="text" value="Test"/>
-</body>
-</html>
-
diff --git a/old-tests/webdriver/user_input/res/element_clear_writable_textarea_page.html b/old-tests/webdriver/user_input/res/element_clear_writable_textarea_page.html
deleted file mode 100644
index d16657a..0000000
--- a/old-tests/webdriver/user_input/res/element_clear_writable_textarea_page.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Clear Elements Test</title>
-<meta charset=utf-8>
-</head>
-<body>
-<textarea id="writableTextArea" rows="2" cols="20">
-This is a sample text area which is supposed to be cleared
-</textarea>
-</body>
-</html>
-
diff --git a/old-tests/webdriver/user_input/res/text-form-landing.html b/old-tests/webdriver/user_input/res/text-form-landing.html
deleted file mode 100644
index 345e60e..0000000
--- a/old-tests/webdriver/user_input/res/text-form-landing.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
-<head>
-    <meta charset="utf-8" />
-    <title>Text Form Landing</title>
-</head>
-<body>
-</body>
-</html>
\ No newline at end of file
diff --git a/old-tests/webdriver/user_input/res/text-form.html b/old-tests/webdriver/user_input/res/text-form.html
deleted file mode 100644
index d99ec89..0000000
--- a/old-tests/webdriver/user_input/res/text-form.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html>
-<head>
-    <title>Text Form</title>
-    <meta charset="utf-8" />
-    <script>
-        function key_press() {
-            document.getElementById("text").textContent = document.getElementById("Text1").value;
-        }
-
-        function got_focus() {
-            var output = document.getElementById("output");
-            output.checked = true;
-        }
-    </script>
-</head>
-<body>
-    <p id="text"></p>
-    <form action="text-form-landing.html">
-        <input id="Text1" type="text" onkeyup="key_press()"/>
-        <input id="Text2" type="text" onfocus="got_focus()" />
-        <input id="output" type="checkbox" />
-        <input type="submit" name="e" value="mc2" />
-    </form>
-</body>
-</html>
\ No newline at end of file
diff --git a/old-tests/webdriver/user_input/sendkeys_test.py b/old-tests/webdriver/user_input/sendkeys_test.py
deleted file mode 100644
index d2edcba..0000000
--- a/old-tests/webdriver/user_input/sendkeys_test.py
+++ /dev/null
@@ -1,96 +0,0 @@
-import os
-import sys
-import random
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-
-repo_root = os.path.abspath(os.path.join(__file__, "../../.."))
-sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
-from webdriver import exceptions
-
-
-class SendKeysTest(base_test.WebDriverBaseTest):
-    def setUp(self):
-        self.driver.get(self.webserver.where_is("user_input/res/text-form.html"))
-
-    def test_send_simple_string(self):
-        element = self.driver.find_element_by_id("Text1")
-        element.send_keys("lorem ipsum")
-
-        self.assertEquals(self.driver.find_element_by_id("text").get_text(), u"lorem ipsum")
-
-    def test_send_return(self):
-        element = self.driver.find_element_by_id("Text1")
-        returnkey = unichr(int("E006", 16))
-        element.send_keys([returnkey])
-
-        self.assertEquals(u"" + self.driver.get_current_url(), u"" + self.webserver.where_is("user_input/res/text-form-landing.html?e=mc2"))
-
-    def test_send_backspace(self):
-        element = self.driver.find_element_by_id("Text1")
-        element.send_keys("world ")
-        element.send_keys("wide ")
-        element.send_keys("web ")
-        element.send_keys("consortium")
-
-        backspace= unichr(int("E003", 16))
-        for i in range(0, 11):
-            element.send_keys([backspace])
-
-        self.assertEquals(self.driver.find_element_by_id("text").get_text(), u"world wide web")
-
-    def test_send_tab(self):
-        element1 = self.driver.find_element_by_id("Text1")
-        element2 = self.driver.find_element_by_id("Text2")
-        element1.send_keys("typing here")
-
-        tab= unichr(int("E004", 16))
-        element1.send_keys([tab])
-
-        output = self.driver.find_element_by_id("output")
-        tab_pressed = output.get_attribute("checked")
-        self.assertEquals(tab_pressed, u"true")
-
-    def test_send_shift(self):
-        element = self.driver.find_element_by_id("Text1")
-        element.send_keys("low ")
-
-        shift= unichr(int("E008", 16))
-        element.send_keys([shift , "u", "p", shift])
-
-        self.assertEquals(self.driver.find_element_by_id("text").get_text(), u"low UP")
-
-    def test_send_arrow_keys(self):
-        element = self.driver.find_element_by_id("Text1")
-
-        element.send_keys("internet")
-
-        backspace= unichr(int("E003", 16))
-        left= unichr(int("E012", 16))
-        right= unichr(int("E014", 16))
-        for i in range(0, 4):
-            element.send_keys([left])
-
-        element.send_keys([backspace])
-        element.send_keys([right])
-        element.send_keys("a")
-
-        self.assertEquals(self.driver.find_element_by_id("text").get_text(), u"intranet")
-
-    def test_select_text_with_shift(self):
-        element = self.driver.find_element_by_id("Text1")
-
-        element.send_keys("WebDriver")
-        backspace= unichr(int("E003", 16))
-        shift= unichr(int("E008", 16))
-        left= unichr(int("E012", 16))
-
-        element.send_keys([shift, left, left, left, left, left, left, backspace])
-
-        self.assertEquals(self.driver.find_element_by_id("text").get_text(), u"Web")
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/webdriver.cfg b/old-tests/webdriver/webdriver.cfg
deleted file mode 100644
index cb74f56..0000000
--- a/old-tests/webdriver/webdriver.cfg
+++ /dev/null
@@ -1,35 +0,0 @@
-# to add more browsers specify a [section header] with the name
-# the 'browser' is currently required
-# url and capabilities are optional
-# url is the 'command_executor' argument passed in to the 'browser' class
-# capabilities is the 'desired_capabilities' argument.
-
-[firefox]
-capabilities: {"browserName": "firefox"}
-mode: compatibility
-
-[selendroid]
-capabilities: {"platform": "ANDROID", "browserName": "android"}
-mode: compatibility
-
-[chrome]
-url: http://localhost:9515
-capabilities: {"browserName": "chrome"}
-mode: compatibility
-
-[ie]
-capabilities: {"browserName": "ie"}
-mode: compatibility
-
-[edge]
-capabilities: {"browserName": "edge"}
-mode: compatibility
-
-[ios-driver]
-capabilities: {"browserName": "iphone"}
-mode: compatibility
-
-[blackberry]
-url: http://169.254.0.1:1338
-capabilities: {"browserName": "blackberry"}
-mode: compatibility
diff --git a/old-tests/webdriver/windows/__init__.py b/old-tests/webdriver/windows/__init__.py
deleted file mode 100644
index 0c8107b..0000000
--- a/old-tests/webdriver/windows/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-__author__ = 'b-redeg'
diff --git a/old-tests/webdriver/windows/res/win1.html b/old-tests/webdriver/windows/res/win1.html
deleted file mode 100644
index b8bf7e8..0000000
--- a/old-tests/webdriver/windows/res/win1.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>window one</title>
-
-<div onclick="window.open('win2.html')">win2</div>
\ No newline at end of file
diff --git a/old-tests/webdriver/windows/res/win2.html b/old-tests/webdriver/windows/res/win2.html
deleted file mode 100644
index 81a068f..0000000
--- a/old-tests/webdriver/windows/res/win2.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>window two</title>
-
-<img src="//web-platform.test:8000/images/blue.png">&nbsp;</a>
\ No newline at end of file
diff --git a/old-tests/webdriver/windows/res/win3.html b/old-tests/webdriver/windows/res/win3.html
deleted file mode 100644
index d3ee694..0000000
--- a/old-tests/webdriver/windows/res/win3.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>window three</title>
-
-<img src="//web-platform.test:8000/images/blue.png">&nbsp;</a>
\ No newline at end of file
diff --git a/old-tests/webdriver/windows/res/win4.html b/old-tests/webdriver/windows/res/win4.html
deleted file mode 100644
index ef35f76..0000000
--- a/old-tests/webdriver/windows/res/win4.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>window four</title>
-
-<img src="//web-platform.test:8000/images/blue.png">&nbsp;</a>
\ No newline at end of file
diff --git a/old-tests/webdriver/windows/res/win5.html b/old-tests/webdriver/windows/res/win5.html
deleted file mode 100644
index 673d2a1..0000000
--- a/old-tests/webdriver/windows/res/win5.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8" />
-<title>window five</title>
-
-<img src="//web-platform.test:8000/images/blue.png">&nbsp;</a>
\ No newline at end of file
diff --git a/old-tests/webdriver/windows/tabbing.py b/old-tests/webdriver/windows/tabbing.py
deleted file mode 100644
index a6b5f99..0000000
--- a/old-tests/webdriver/windows/tabbing.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# -*- mode: python; fill-column: 100; comment-column: 100; -*-
-
-import os
-import sys
-import unittest
-import time
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.common import exceptions
-from selenium.webdriver.common.keys import Keys
-from selenium.webdriver.common.action_chains import ActionChains
-
-
-class tabbingTest(base_test.WebDriverBaseTest):
-    def test_open_close_tab(self):
-        self.driver.get(self.webserver.where_is("windows/res/win1.html"))
-        self.driver.find_element_by_tag_name("div").click()
-        h = self.driver.window_handles
-        self.assertEquals(2, len(h))
-        self.driver.switch_to.window(h[1])
-        try:
-            self.driver.switch_to.window("does not exist")
-            self.fail("NoSuchWindowException expected")
-        except exceptions.NoSuchWindowException:
-            pass
-        self.driver.close()
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/old-tests/webdriver/windows/window_manipulation.py b/old-tests/webdriver/windows/window_manipulation.py
deleted file mode 100644
index 0277167..0000000
--- a/old-tests/webdriver/windows/window_manipulation.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# -*- mode: python; fill-column: 100; comment-column: 100; -*-
-
-import os
-import sys
-import unittest
-
-sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
-import base_test
-from selenium.common import exceptions
-
-
-class WindowingTest(base_test.WebDriverBaseTest):
-    def test_maximize(self):
-        #self.driver.get(self.webserver.where_is("windows/res/win1.html"))
-        self.driver.maximize_window()
-
-    def test_window_size_manipulation(self):
-        #self.driver.get(self.webserver.where_is("windows/res/win1.html"))
-        self.driver.set_window_size(400, 400)
-        window_size = self.driver.get_window_size()
-        self.assertTrue("width" in window_size)
-        self.assertTrue("height" in window_size)
-        self.assertEquals({"width": 400, "height":400}, window_size)
-
-        """
-        todo: make that work
-        see: https://w3c.github.io/webdriver/webdriver-spec.html#setwindowsize
-                result = self.driver.set_window_size(100, 100)
-                self.assertTrue("status" in result)
-                self.assertEquals(result["status"], 500)
-        """
-
-    def test_window_position_manipulation(self):
-        #self.driver.get(self.webserver.where_is("windows/res/win1.html"))
-        self.driver.set_window_position(400, 400)
-        window_position = self.driver.get_window_position()
-        self.assertTrue("x" in window_position)
-        self.assertTrue("y" in window_position)
-        self.assertEquals({"x": 400, "y": 400}, window_position)
-
-
-if __name__ == "__main__":
-    unittest.main()