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..bfc78296a3d48af83ae5b1b9568297cdf6153307 100644 |
| --- a/chrome/test/webdriver/test/chromedriver_tests.py |
| +++ b/chrome/test/webdriver/test/chromedriver_tests.py |
| @@ -979,62 +979,90 @@ 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']) |
| - # Test specifying window handle. |
| - driver.execute_script( |
| + |
| + 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 _maximize(self, window='current'): |
| + return self._driver.execute('max', {'windowHandle': window}) |
| + |
| + 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']) |
| + |
| + 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']) |
| + |
| + # Systems without window manager (Xvfb, Xvnc) do not implement maximization. |
| + @SkipIf(util.IsLinux()) |
| + def testMaximize(self): |
| + old_size = self._getSize() |
| + self._maximize() |
| + new_size = self._getSize() |
| + self.assertTrue(old_size['width'] <= new_size['width']) |
| + self.assertTrue(old_size['height'] <= new_size['height']) |
| + |
| + def testWindowHandle(self): |
| + """Test specifying window handle.""" |
| + 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])) |
| - # Test specifying invalid handle. |
| + 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])) |
| + |
| + def testInvalidWindowHandle(self): |
| + """Tests 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(WebDriverException, self._setSize, 400, 300, |
| + invalid_handle) |
| + self.assertRaises(NoSuchWindowException, self._getSize, invalid_handle) |
| + self.assertRaises(NoSuchWindowException, self._setPosition, 1, 1, |
| + invalid_handle) |
| + self.assertRaises(NoSuchWindowException, self._getPosition, invalid_handle) |
| + # self.assertRaises(NoSuchWindowException, self._maximize, invalid_handle) |
|
kkania
2012/06/01 04:14:03
?
zori
2012/06/02 01:20:54
Sorry about that. Fixed.
On 2012/06/01 04:14:03, k
|
| + |
| class GeolocationTest(ChromeDriverTest): |