Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7849)

Unified Diff: chrome/test/webdriver/test/chromedriver_tests.py

Issue 10388251: Support maximize window command. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Unit test in chromedriver_tests.py; nicer error reporting - a method to check whether the current v… Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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):

Powered by Google App Engine
This is Rietveld 408576698