1import os 2import sys 3import random 4import unittest 5 6sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../.."))) 7import base_test 8 9repo_root = os.path.abspath(os.path.join(__file__, "../../..")) 10sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver")) 11from webdriver import exceptions 12 13 14class WindowHandleTest(base_test.WebDriverBaseTest): 15 def setUp(self): 16 self.driver.get(self.webserver.where_is("command_contexts/res/first-page.html")) 17 18 def test_window_handle_is_not_current(self): 19 handle = self.driver.get_window_handle() 20 self.assertNotEquals(handle, "current") 21 22 def test_window_handles_are_unique(self): 23 number_of_windows = 20 24 new_window_button = self.driver.find_element_by_id("open_new_window") 25 for i in range(0, number_of_windows): 26 new_window_button.click() 27 28 handles = self.driver.get_window_handles() 29 if len(handles) > len(set(handles)): 30 self.fail('At least one window handle was repeated') 31 32if __name__ == "__main__": 33 unittest.main() 34