Chromium Code Reviews| Index: chrome/test/functional/passwords.py |
| =================================================================== |
| --- chrome/test/functional/passwords.py (revision 127799) |
| +++ chrome/test/functional/passwords.py (working copy) |
| @@ -13,7 +13,7 @@ |
| class PasswordTest(pyauto.PyUITest): |
| """Tests that passwords work correctly.""" |
| - INFOBAR_BUTTON_TEXT = 'Save password' |
| + INFOBAR_TYPE = 'password_infobar' |
| def Debug(self): |
| """Test method for experimentation. |
| @@ -81,36 +81,43 @@ |
| self.ExecuteJavascript(js_template % 'Passwd', |
| tab_index, window_index) != '')) |
| - def _InfobarButtonContainsText(self, search_text, windex, tab_index): |
| - """Identifies whether an infobar button exists with the specified text. |
| + def _GetInfobarIndexByType(self, infobar_type, windex, tab_index): |
| + """Returns the index of the infobar of the given type. |
| Args: |
| - search_text: The text to search for on the infobar buttons. |
| + infobar_type: The infobar type to look for. |
| windex: Window index. |
| tab_index: Tab index. |
| Returns: |
| - True, if search_text is found in the buttons, or False otherwise. |
| + Index of infobar for infobar type, or None if not found. |
| """ |
| - infobar = ( |
| + infobar_list = ( |
| self.GetBrowserInfo()['windows'][windex]['tabs'][tab_index] \ |
| ['infobars']) |
| - for infobar_info in infobar: |
| - if search_text in infobar_info['buttons']: |
| - return True |
| - return False |
| + for infobar in infobar_list: |
| + if infobar_type == infobar['type']: |
| + return infobar_list.index(infobar) |
| + return None |
| - def _WaitForSavePasswordInfobar(self, windex=0, tab_index=0): |
| - """Wait for and asserts that the save password infobar appears. |
| + def _GetIndexForSavePasswordInfobar(self, windex=0, tab_index=0): |
| + """Return the index and asserts that the save password infobar appears. |
|
dennis_jeffrey
2012/03/21 18:09:00
Waits for save password infobar to appear and retu
dyu1
2012/03/21 18:29:44
Done. I wanted to make it generic originally as I
|
| Args: |
| windex: Window index. Defaults to 0 (first window). |
| tab_index: Tab index. Defaults to 0 (first tab). |
| + |
| + Returns: |
| + Index of infobar for infobar type. |
| """ |
| self.assertTrue( |
| - self.WaitUntil(lambda: self._InfobarButtonContainsText( |
| - self.INFOBAR_BUTTON_TEXT, windex, tab_index)), |
| + self.WaitUntil(lambda: self._InfobarTypeDisplayed( |
|
dennis_jeffrey
2012/03/21 18:09:00
_InfobarTypeDisplayed --> _GetInfobarIndexByType
dyu1
2012/03/21 18:29:44
Done.
|
| + self.INFOBAR_TYPE, windex, tab_index)), |
| msg='Save password infobar did not appear.') |
| + # Return the infobar index. |
| + # TODO(dyu): Use the return value in future tests. |
| + return self._GetInfobarIndexByType( |
| + self.INFOBAR_TYPE, windex, tab_index) |
| def testSavePassword(self): |
| """Test saving a password and getting saved passwords.""" |
| @@ -156,7 +163,7 @@ |
| self.WaitUntil( |
| lambda: self.GetDOMValue('document.readyState'), |
| expect_retval='complete') |
| - self._WaitForSavePasswordInfobar() |
| + self._GetIndexForSavePasswordInfobar() |
| infobar = self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars'] |
| self.assertEqual(infobar[0]['type'], 'confirm_infobar') |
| self.PerformActionOnInfobar('accept', infobar_index=0) |
| @@ -172,14 +179,14 @@ |
| creds1 = self.GetPrivateInfo()['test_google_account'] |
| test_utils.GoogleAccountsLogin( |
| self, creds1['username'], creds1['password']) |
| - self._WaitForSavePasswordInfobar() |
| + self._GetIndexForSavePasswordInfobar() |
| self.PerformActionOnInfobar('accept', infobar_index=0) |
| self.assertEquals(1, len(self.GetSavedPasswords())) |
| self.AppendTab(pyauto.GURL(creds1['logout_url'])) |
| creds2 = self.GetPrivateInfo()['test_google_account_2'] |
| test_utils.GoogleAccountsLogin( |
| self, creds2['username'], creds2['password'], tab_index=1) |
| - self._WaitForSavePasswordInfobar(tab_index=1) |
| + self._GetIndexForSavePasswordInfobar(tab_index=1) |
| # Selecting 'Never for this site' option on password infobar. |
| self.PerformActionOnInfobar('cancel', infobar_index=0, tab_index=1) |
| @@ -197,7 +204,7 @@ |
| password = creds['password'] |
| # Login to Google a/c |
| test_utils.GoogleAccountsLogin(self, username, password) |
| - self._WaitForSavePasswordInfobar() |
| + self._GetIndexForSavePasswordInfobar() |
| self.assertTrue(self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars']) |
| self.PerformActionOnInfobar('accept', infobar_index=0) |
| self.NavigateToURL(url_logout) |
| @@ -221,7 +228,7 @@ |
| creds = self.GetPrivateInfo()['test_google_account'] |
| # Login to Google a/c |
| test_utils.GoogleAccountsLogin(self, creds['username'], creds['password']) |
| - self._WaitForSavePasswordInfobar() |
| + self._GetIndexForSavePasswordInfobar() |
| self.assertTrue(self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars']) |
| self.NavigateToURL('chrome://history') |
| self.assertTrue(self.WaitForInfobarCount(0)) |
| @@ -234,7 +241,7 @@ |
| creds = self.GetPrivateInfo()['test_google_account'] |
| # Login to Google a/c |
| test_utils.GoogleAccountsLogin(self, creds['username'], creds['password']) |
| - self._WaitForSavePasswordInfobar() |
| + self._GetIndexForSavePasswordInfobar() |
| self.assertTrue(self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars']) |
| self.GetBrowserWindow(0).GetTab(0).Reload() |
| self.assertTrue(self.WaitForInfobarCount(0)) |
| @@ -291,7 +298,7 @@ |
| password = creds['password'] |
| # Login to Google a/c |
| test_utils.GoogleAccountsLogin(self, username, password) |
| - self._WaitForSavePasswordInfobar() |
| + self._GetIndexForSavePasswordInfobar() |
| self.assertTrue(self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars']) |
| self.PerformActionOnInfobar('accept', infobar_index=0) |
| self.NavigateToURL(url_logout) |