summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/old-tests/webdriver/command_contexts
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/old-tests/webdriver/command_contexts')
-rw-r--r--testing/web-platform/tests/old-tests/webdriver/command_contexts/__init__.py0
-rw-r--r--testing/web-platform/tests/old-tests/webdriver/command_contexts/open_and_close_window_test.py64
-rw-r--r--testing/web-platform/tests/old-tests/webdriver/command_contexts/res/first-page.html11
-rw-r--r--testing/web-platform/tests/old-tests/webdriver/command_contexts/res/other-page.html11
-rw-r--r--testing/web-platform/tests/old-tests/webdriver/command_contexts/window_handle_test.py33
-rw-r--r--testing/web-platform/tests/old-tests/webdriver/command_contexts/window_size_test.py35
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()