Chromium Code Reviews| Index: chrome/test/webdriver/test/chromedriver_tests.py |
| diff --git a/chrome/test/webdriver/test/chromedriver_tests.py b/chrome/test/webdriver/test/chromedriver_tests.py |
| index 690e47375c914798c49340ba2d78fcf3f99d1e06..437663545be0e48662fb93468378224d9f25e2b0 100644 |
| --- a/chrome/test/webdriver/test/chromedriver_tests.py |
| +++ b/chrome/test/webdriver/test/chromedriver_tests.py |
| @@ -36,6 +36,7 @@ try: |
| except ImportError: |
| import json |
| +from selenium.common.exceptions import NoSuchWindowException |
| from selenium.common.exceptions import WebDriverException |
| from selenium.webdriver.common.action_chains import ActionChains |
| from selenium.webdriver.common.desired_capabilities import DesiredCapabilities |
| @@ -982,6 +983,64 @@ class AlertTest(ChromeDriverTest): |
| driver.execute_async_script('arguments[0](); window.alert("ok")') |
| driver.switch_to_alert().accept() |
|
dennis_jeffrey
2012/01/27 16:23:29
insert another blank line here
kkania
2012/01/27 22:48:31
Sorry. I think I keep on forgetting this. Done.
|
| +class WindowTest(ChromeDriverTest): |
| + def testSizeAndPosition(self): |
| + driver = self.GetNewDriver() |
| + |
| + # TODO(kkania): Update the python bindings and get rid of these. |
| + driver.command_executor._commands.update({ |
| + 'getSize': ('GET', '/session/$sessionId/window/$windowHandle/size'), |
| + 'setSize': ('POST', '/session/$sessionId/window/$windowHandle/size'), |
| + 'getPos': ('GET', '/session/$sessionId/window/$windowHandle/position'), |
| + 'setPos': ('POST', '/session/$sessionId/window/$windowHandle/position') |
| + }) |
| + def getSize(window='current'): |
| + return driver.execute('getSize', {'windowHandle': window})['value'] |
| + def setSize(width, height, window='current'): |
| + params = { 'windowHandle': window, |
| + 'width': width, |
| + 'height': height |
| + } |
| + return driver.execute('setSize', params) |
| + def getPosition(window='current'): |
| + return driver.execute('getPos', {'windowHandle': window})['value'] |
| + def setPosition(x, y, window='current'): |
| + params = { 'windowHandle': window, |
| + 'x': x, |
| + 'y': y |
| + } |
| + return driver.execute('setPos', params) |
| + |
| + # Test size. |
| + size = getSize() |
| + setSize(size['width'], size['height']) |
| + self.assertEquals(size, getSize()) |
| + setSize(800, 600) |
| + self.assertEquals(800, getSize()['width']) |
| + self.assertEquals(600, getSize()['height']) |
| + # Test position. |
| + pos = getPosition() |
| + setPosition(pos['x'], pos['y']) |
| + self.assertEquals(pos, getPosition()) |
| + setPosition(100, 200) |
| + self.assertEquals(100, getPosition()['x']) |
| + self.assertEquals(200, getPosition()['y']) |
| + # Test specifying window handle. |
| + driver.execute_script( |
| + 'window.open("about:blank", "name", "height=200, width=200")') |
| + windows = driver.window_handles |
| + self.assertEquals(2, len(windows)) |
| + setSize(400, 300, windows[1]) |
| + self.assertEquals(400, getSize(windows[1])['width']) |
| + self.assertEquals(300, getSize(windows[1])['height']) |
| + self.assertNotEquals(getSize(windows[1]), getSize(windows[0])) |
| + # Test specifying invalid handle. |
| + invalid_handle = 'f1-120' |
| + self.assertRaises(WebDriverException, setSize, 400, 300, invalid_handle) |
| + self.assertRaises(NoSuchWindowException, getSize, invalid_handle) |
| + self.assertRaises(NoSuchWindowException, setPosition, 1, 1, invalid_handle) |
| + self.assertRaises(NoSuchWindowException, getPosition, invalid_handle) |
| + |
|
dennis_jeffrey
2012/01/27 16:23:29
insert another blank line here
kkania
2012/01/27 22:48:31
Done.
|
| class ExtensionTest(ChromeDriverTest): |
| INFOBAR_BROWSER_ACTION_EXTENSION = test_paths.TEST_DATA_PATH + \ |