| 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..2770fb75651f307e237b1dfc1ce5ed1d624dcef0 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)
|
| +
|
|
|
|
|
| class GeolocationTest(ChromeDriverTest):
|
|
|