| 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..1e9698b5bba0a020272b818bb94fc3b550fef6cb 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
|
| @@ -921,6 +922,7 @@ class FrameSwitchingTest(ChromeDriverTest):
|
| self.assertEquals(str(i), driver.current_url.split('?')[-1])
|
| driver.switch_to_default_content()
|
|
|
| +
|
| class AlertTest(ChromeDriverTest):
|
|
|
| def testAlertOnLoadDoesNotHang(self):
|
| @@ -982,6 +984,66 @@ class AlertTest(ChromeDriverTest):
|
| driver.execute_async_script('arguments[0](); window.alert("ok")')
|
| driver.switch_to_alert().accept()
|
|
|
| +
|
| +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)
|
| +
|
| +
|
| class ExtensionTest(ChromeDriverTest):
|
|
|
| INFOBAR_BROWSER_ACTION_EXTENSION = test_paths.TEST_DATA_PATH + \
|
|
|