Chromium Code Reviews| Index: chrome/test/functional/fullscreen_mouselock.py |
| =================================================================== |
| --- chrome/test/functional/fullscreen_mouselock.py (revision 139649) |
| +++ chrome/test/functional/fullscreen_mouselock.py (working copy) |
| @@ -164,14 +164,13 @@ |
| def _EnableMouseLockMode(self, button_action='lockMouse1'): |
| """Helper function to enable mouse lock mode. |
| - For now, to lock the mouse, the browser needs to be in fullscreen mode. |
| - |
| Args: |
| button_action: The button id to click to initiate an action. Default is to |
| click lockMouse1. |
| """ |
| self._driver.find_element_by_id(button_action).click() |
| - self.assertTrue(self.IsMouseLockPermissionRequested()) |
| + self.assertTrue(self.WaitUntil( |
| + lambda: self.IsMouseLockPermissionRequested())) |
|
Nirnimesh
2012/05/31 00:19:26
lambda: self.IsMouseLockPermissionRequested() -> s
dyu1
2012/05/31 01:09:16
Done.
|
| self.AcceptCurrentFullscreenOrMouseLockRequest() |
| self.assertTrue(self.IsMouseLocked()) |
| @@ -288,7 +287,6 @@ |
| # Bubble should display prompting to allow mouselock. |
| self.assertTrue(self.WaitUntil(self.IsMouseLockPermissionRequested)) |
| self.AcceptCurrentFullscreenOrMouseLockRequest() |
| - |
| # Waits until lock_result gets 'success' or 'failure'. |
| lock_result = self._driver.execute_script('return lock_result') |
| self.assertEqual(lock_result, 'success', |
| @@ -432,6 +430,43 @@ |
| # TODO(dyu): find a way to verify on screen text instead of using |
| # FindInPage() which searches for text in the HTML. |
| + def SameMouseLockMovement(self): |
| + """Verify the correct feel of mouse movement data when mouse is locked. |
| + This test loads the same web page in two different tabs while in mouse lock |
| + mode. Each tab loads the web page from a different URL (e.g. by loading it |
| + from a localhost server and a file url). The test verifies |
| + that the mouse lock movements work the same in both |
| + tabs. |
| + """ |
| + url1 = self.GetHttpURLForDataPath( |
| + 'fullscreen_mouselock', 'fullscreen_mouselock.html') |
| + url2 = self.GetFileURLForDataPath( |
| + 'fullscreen_mouselock', 'fullscreen_mouselock.html') |
| + tab2 = 'f1-4' |
| + self.NavigateToURL(url1) |
| + self.RunCommand(pyauto.IDC_NEW_TAB) # Open new tab. |
| + self.NavigateToURL(url2, 0, 1) |
| + self._driver.switch_to_window(tab2) |
| + self._EnableMouseLockMode() # Lock mouse in tab 2. |
| + """ |
|
Nirnimesh
2012/05/31 00:19:26
Comments should be comments, not strings
dyu1
2012/05/31 01:09:16
Done.
|
| + Manually move the mouse cursor on the page in tab 2. Shift+Tab into |
|
Nirnimesh
2012/05/31 00:19:26
The entire string can be moved inside the raw_inpu
dyu1
2012/05/31 01:09:16
Done.
|
| + tab 1, click on lockMouse1() button, and move the mouse cursor on |
| + the page in tab 1. Verify mouse movement is smooth. |
| + """ |
| + raw_input() |
|
Nirnimesh
2012/05/31 00:19:26
Put some instructions in the raw_input() here
raw
dyu1
2012/05/31 01:09:16
Done.
|
| + |
| + def MouseLockLostOnReload(self): |
| + """Verify mouse lock is lost on page reload by pressing F5 key.""" |
| + self.NavigateToURL(self.GetHttpURLForDataPath( |
| + 'fullscreen_mouselock', 'fullscreen_mouselock.html')) |
| + self._EnableMouseLockMode() |
| + # Require manual intervention to send F5 key. |
| + print "Press F5 key to reload page and exit mouse lock." |
|
scheib
2012/05/30 23:27:33
Is it possible to use NavigateToURL to reproduce t
Nirnimesh
2012/05/31 00:19:26
print -> logging.info
or better still use raw_inp
dyu1
2012/05/31 01:09:16
I used NavigateToURL on line 461. Is that what you
dyu1
2012/05/31 01:09:16
I can't use raw_input() here since when the mouse
|
| + time.sleep(5) |
| + self.assertTrue(self.WaitUntil(lambda: not self.IsMouseLocked()), |
| + msg='Mouse lock did not break when page is reloaded.') |
| + |
| + |
| if __name__ == '__main__': |
| pyauto_functional.Main() |