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

Unified Diff: chrome/test/functional/passwords.py

Issue 9775001: Refactor tests that performs an action on the password infobar to identify the infobar by type and … (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 9 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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)
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698