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 fb030abdecb8a7d27ecde637cd8a1aaa8348be8f..357af1d5b14061da27b9d45288e415186d6e8a1c 100644 |
| --- a/chrome/test/webdriver/test/chromedriver_tests.py |
| +++ b/chrome/test/webdriver/test/chromedriver_tests.py |
| @@ -979,62 +979,93 @@ class AlertTest(ChromeDriverTest): |
| class WindowTest(ChromeDriverTest): |
| - def testSizeAndPosition(self): |
| - driver = self.GetNewDriver() |
| + """Tests for WebDriver window commands.""" |
| + def setUp(self): |
| + super(WindowTest, self).setUp() |
| + self._driver = self.GetNewDriver() |
| # TODO(kkania): Update the python bindings and get rid of these. |
| - driver.command_executor._commands.update({ |
| + self._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') |
| + 'setPos': ('POST', '/session/$sessionId/window/$windowHandle/position'), |
| + 'max': ('POST', '/session/$sessionId/window/$windowHandle/maximize') |
| }) |
| - 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']) |
| + |
| + def _getSize(self, window='current'): |
| + return self._driver.execute('getSize', {'windowHandle': window})['value'] |
| + |
| + def _setSize(self, width, height, window='current'): |
| + params = { 'windowHandle': window, |
| + 'width': width, |
| + 'height': height |
| + } |
| + return self._driver.execute('setSize', params) |
| + |
| + def _getPosition(self, window='current'): |
| + return self._driver.execute('getPos', {'windowHandle': window})['value'] |
| + |
| + def _setPosition(self, x, y, window='current'): |
| + params = { 'windowHandle': window, |
| + 'x': x, |
| + 'y': y |
| + } |
| + return self._driver.execute('setPos', params) |
| + |
| + def testSize(self): |
| + size = self._getSize() |
| + self._setSize(size['width'], size['height']) |
| + self.assertEquals(size, self._getSize()) |
| + self._setSize(800, 600) |
| + self.assertEquals(800, self._getSize()['width']) |
| + self.assertEquals(600, self._getSize()['height']) |
| # Test specifying window handle. |
| - driver.execute_script( |
| + self._driver.execute_script( |
| 'window.open("about:blank", "name", "height=200, width=200")') |
| - windows = driver.window_handles |
| + windows = self._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])) |
| + self._setSize(400, 300, windows[1]) |
| + self.assertEquals(400, self._getSize(windows[1])['width']) |
| + self.assertEquals(300, self._getSize(windows[1])['height']) |
| + self.assertNotEquals(self._getSize(windows[1]), self._getSize(windows[0])) |
| + # Test specifying invalid handle. |
| + invalid_handle = 'f1-120' |
| + self.assertRaises(WebDriverException, self._setSize, 400, 300, |
| + invalid_handle) |
| + self.assertRaises(NoSuchWindowException, self._getSize, invalid_handle) |
| + |
| + def testPosition(self): |
| + pos = self._getPosition() |
| + self._setPosition(pos['x'], pos['y']) |
| + self.assertEquals(pos, self._getPosition()) |
| + self._setPosition(100, 200) |
| + self.assertEquals(100, self._getPosition()['x']) |
| + self.assertEquals(200, self._getPosition()['y']) |
| # 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) |
| + self.assertRaises(NoSuchWindowException, self._setPosition, 1, 1, |
|
kkania
2012/05/24 17:25:38
seems like this should be in a separate test, and
zori
2012/05/29 23:53:32
Done.
|
| + invalid_handle) |
| + self.assertRaises(NoSuchWindowException, self._getPosition, invalid_handle) |
| + |
| + def testMaximize(self): |
| + def maximize(window='current'): |
| + return self._driver.execute('max', {'windowHandle': window}) |
| + old_size = self._getSize() |
| + maximize() |
| + new_size = self._getSize() |
| + self.assertTrue(old_size['width'] <= new_size['width']) |
| + self.assertTrue(old_size['height'] <= new_size['height']) |
| + self.assertEquals(0, self._getPosition()['x']) |
| + self.assertEquals(0, self._getPosition()['y']) |
| + # Maximize two windows. |
| + self._driver.execute_script('window.open("about:blank")') |
| + windows = self._driver.window_handles |
| + self.assertEquals(2, len(windows)) |
| + maximize(window=windows[0]) |
| + maximize(window=windows[1]) |
| + size0, size1 = self._getSize(windows[0]), self._getSize(windows[1]) |
| + self.assertEquals(size0, size1) |
| class GeolocationTest(ChromeDriverTest): |