| 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() |