diff options
Diffstat (limited to 'testing/web-platform/tests/old-tests/webdriver/command_contexts')
6 files changed, 154 insertions, 0 deletions
diff --git a/testing/web-platform/tests/old-tests/webdriver/command_contexts/__init__.py b/testing/web-platform/tests/old-tests/webdriver/command_contexts/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testing/web-platform/tests/old-tests/webdriver/command_contexts/__init__.py diff --git a/testing/web-platform/tests/old-tests/webdriver/command_contexts/open_and_close_window_test.py b/testing/web-platform/tests/old-tests/webdriver/command_contexts/open_and_close_window_test.py new file mode 100644 index 000000000..61d04d93d --- /dev/null +++ b/testing/web-platform/tests/old-tests/webdriver/command_contexts/open_and_close_window_test.py @@ -0,0 +1,64 @@ +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/testing/web-platform/tests/old-tests/webdriver/command_contexts/res/first-page.html b/testing/web-platform/tests/old-tests/webdriver/command_contexts/res/first-page.html new file mode 100644 index 000000000..e4aa13ebd --- /dev/null +++ b/testing/web-platform/tests/old-tests/webdriver/command_contexts/res/first-page.html @@ -0,0 +1,11 @@ +<!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/testing/web-platform/tests/old-tests/webdriver/command_contexts/res/other-page.html b/testing/web-platform/tests/old-tests/webdriver/command_contexts/res/other-page.html new file mode 100644 index 000000000..4bb487452 --- /dev/null +++ b/testing/web-platform/tests/old-tests/webdriver/command_contexts/res/other-page.html @@ -0,0 +1,11 @@ +<!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/testing/web-platform/tests/old-tests/webdriver/command_contexts/window_handle_test.py b/testing/web-platform/tests/old-tests/webdriver/command_contexts/window_handle_test.py new file mode 100644 index 000000000..6d8e569f0 --- /dev/null +++ b/testing/web-platform/tests/old-tests/webdriver/command_contexts/window_handle_test.py @@ -0,0 +1,33 @@ +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/testing/web-platform/tests/old-tests/webdriver/command_contexts/window_size_test.py b/testing/web-platform/tests/old-tests/webdriver/command_contexts/window_size_test.py new file mode 100644 index 000000000..955e9fea0 --- /dev/null +++ b/testing/web-platform/tests/old-tests/webdriver/command_contexts/window_size_test.py @@ -0,0 +1,35 @@ +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() |