diff options
author | nirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-28 21:37:56 +0000 |
---|---|---|
committer | nirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-28 21:37:56 +0000 |
commit | 1424babd5dbbd5200d6e4b4ef71b38f791bce8b1 (patch) | |
tree | d35e0705c92327c288e75bf5971f72f549d50d96 /chrome/test | |
parent | 2fc3b4267fd4f28dd864c2858cea0e84f55cbb0a (diff) | |
download | chromium_src-1424babd5dbbd5200d6e4b4ef71b38f791bce8b1.zip chromium_src-1424babd5dbbd5200d6e4b4ef71b38f791bce8b1.tar.gz chromium_src-1424babd5dbbd5200d6e4b4ef71b38f791bce8b1.tar.bz2 |
Fix PyAuto tests to account for dynamic autofill labels.
Also, match full phone number.
BUG=56844
TEST=python chrome/test/functional/autofill.py
Review URL: http://codereview.chromium.org/3437025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60843 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r-- | chrome/test/data/autofill/crazy_autofill.txt | 15 | ||||
-rw-r--r-- | chrome/test/data/autofill/crazy_creditcards.txt | 8 | ||||
-rw-r--r-- | chrome/test/functional/PYAUTO_TESTS | 4 | ||||
-rw-r--r-- | chrome/test/functional/autofill.py | 47 | ||||
-rw-r--r-- | chrome/test/pyautolib/pyauto.py | 19 |
5 files changed, 44 insertions, 49 deletions
diff --git a/chrome/test/data/autofill/crazy_autofill.txt b/chrome/test/data/autofill/crazy_autofill.txt index d1b4b3c..66a5526 100644 --- a/chrome/test/data/autofill/crazy_autofill.txt +++ b/chrome/test/data/autofill/crazy_autofill.txt @@ -6,18 +6,17 @@ # ascii. # Used by: chrome/test/functional/autofill.py [ - {u'label': u'3243444', u'NAME_FIRST': u'\u0623\u0648\u0628\u0627\u0645\u0627 \u064a\u0639\u062a\u0630\u0631 \u0647\u0627\u062a\u0641\u064a\u0627 \u0644\u0645\u0648\u0638\u0641\u0629 \u0633\u0648\u062f\u0627\u0621 \u0627\u0633\u062a\u0642\u0627\u0644\u062a \u0628\u0633\u0628\u0628 \u062a\u0635\u0631\u064a\u062d\u0627\u062a \u0645\u062c\u062a\u0632\u0623\u0629', u'NAME_MIDDLE': u'BANK\xdcBERF\xc4LLE', u'EMAIL_ADDRESS': u'\uacbd\uc81c \ub274\uc2a4 \ub354\ubcf4\uae30@google.com', u'ADDRESS_HOME_LINE1': u'\uad6d\uc815\uc6d0\xb7\uac80\ucc30, \ub178\ubb34\ud604\uc815\ubd80 \ub300\ubd81\uc811\ucd09 \ub2f4\ub2f9 \uc778\uc0ac\ub4e4 \uc870\uc0ac', u'ADDRESS_HOME_CITY': u'\u653f\u5e9c\u4e0d\u6392\u9664\u7acb\u6cd5\u898f\u7ba1\u5c0e\u904a', u'ADDRESS_HOME_ZIP': u'YOHO_54676', u'PHONE_HOME_NUMBER': u'861088828000',u'ADDRESS_HOME_COUNTRY': u'INDIA', u'PHONE_FAX_NUMBER': u'861088828000',}, + {u'NAME_FIRST': u'\u0623\u0648\u0628\u0627\u0645\u0627 \u064a\u0639\u062a\u0630\u0631 \u0647\u0627\u062a\u0641\u064a\u0627 \u0644\u0645\u0648\u0638\u0641\u0629 \u0633\u0648\u062f\u0627\u0621 \u0627\u0633\u062a\u0642\u0627\u0644\u062a \u0628\u0633\u0628\u0628 \u062a\u0635\u0631\u064a\u062d\u0627\u062a \u0645\u062c\u062a\u0632\u0623\u0629', u'NAME_MIDDLE': u'BANK\xdcBERF\xc4LLE', u'EMAIL_ADDRESS': u'\uacbd\uc81c \ub274\uc2a4 \ub354\ubcf4\uae30@google.com', u'ADDRESS_HOME_LINE1': u'\uad6d\uc815\uc6d0\xb7\uac80\ucc30, \ub178\ubb34\ud604\uc815\ubd80 \ub300\ubd81\uc811\ucd09 \ub2f4\ub2f9 \uc778\uc0ac\ub4e4 \uc870\uc0ac', u'ADDRESS_HOME_CITY': u'\u653f\u5e9c\u4e0d\u6392\u9664\u7acb\u6cd5\u898f\u7ba1\u5c0e\u904a', u'ADDRESS_HOME_ZIP': u'YOHO_54676', u'PHONE_HOME_WHOLE_NUMBER': u'861088828000', u'ADDRESS_HOME_COUNTRY': u'INDIA', u'PHONE_FAX_WHOLE_NUMBER': u'861088828000',}, - {u'label': u'Profile 1', u'NAME_FIRST': u'\u4e0a\u6d77\u5e02\u91d1\u5c71\u533a \u677e\u9690\u9547\u4ead\u67ab\u516c\u8def1915\u53f7','NAME_LAST': u'aguantó', u'ADDRESS_HOME_ZIP': u'HOME 94043',}, + {u'NAME_FIRST': u'\u4e0a\u6d77\u5e02\u91d1\u5c71\u533a \u677e\u9690\u9547\u4ead\u67ab\u516c\u8def1915\u53f7','NAME_LAST': u'aguantó', u'ADDRESS_HOME_ZIP': u'HOME 94043',}, - {u'label': u'\u4e0a\u6d77\u5e02\u91d1\u5c71\u533a \u677e\u9690\u9547\u4ead\u67ab\u516c\u8def1915\u53f7', u'EMAIL_ADDRESS': u'sue@example.com','COMPANY_NAME': u'Company X',}, + {u'EMAIL_ADDRESS': u'sue@example.com','COMPANY_NAME': u'Company X',}, - {u'label': u'Profile 3', u'NAME_FIRST': u'Joe 3254','NAME_LAST': u'\u8bb0\u8d262\u5e74\u591a', u'ADDRESS_HOME_ZIP': u'\uff08\u90ae\u7f16\uff1a201504\uff09',u'EMAIL_ADDRESS': u'télévision@example.com','COMPANY_NAME': u'\u0907\u0932\u0947\u0915\u093f\u091f\u094d\u0930\u0928\u093f\u0915\u094d\u0938, \u0905\u092a\u094b\u0932\u094b \u091f\u093e\u092f\u0930\u094d\u0938 \u0906\u0926\u093f',}, + {u'NAME_FIRST': u'Joe 3254','NAME_LAST': u'\u8bb0\u8d262\u5e74\u591a', u'ADDRESS_HOME_ZIP': u'\uff08\u90ae\u7f16\uff1a201504\uff09',u'EMAIL_ADDRESS': u'télévision@example.com','COMPANY_NAME': u'\u0907\u0932\u0947\u0915\u093f\u091f\u094d\u0930\u0928\u093f\u0915\u094d\u0938, \u0905\u092a\u094b\u0932\u094b \u091f\u093e\u092f\u0930\u094d\u0938 \u0906\u0926\u093f',}, - {u'label': u'Profile_SAKA', u'NAME_FIRST': u'Larry','NAME_LAST': u'\u0938\u094d\u091f\u093e\u0902\u092a \u0921\u094d\u092f\u0942\u091f\u0940', u'ADDRESS_HOME_ZIP': u'111111111111110000GOOGLE',u'EMAIL_ADDRESS': u'page@000000.com','COMPANY_NAME': u'Google',}, + {u'NAME_FIRST': u'Larry','NAME_LAST': u'\u0938\u094d\u091f\u093e\u0902\u092a \u0921\u094d\u092f\u0942\u091f\u0940', u'ADDRESS_HOME_ZIP': u'111111111111110000GOOGLE',u'EMAIL_ADDRESS': u'page@000000.com','COMPANY_NAME': u'Google',}, - {u'label': u'U d\xe1lni\u010dn\xedho p\u0159ivad\u011b\u010de n\u011bkdo odp\xe1lil n\xe1lo\u017e', u'NAME_FIRST': u'\u4e0a\u6d77\u5e02\u91d1\u5c71\u533a \u677e\u9690\u9547\u4ead\u67ab\u516c\u8def1915\u53f7','NAME_LAST': u'\u0646\u062c\u0627\u0645\u064a\u0646\u0627 \u062f\u0639\u0645\u0647\u0627 \u0644\u0644\u0631\u0626\u064a\u0633 \u0627\u0644\u0633\u0648\u062f\u0627\u0646\u064a \u0639\u0645\u0631 \u0627\u0644\u0628\u0634\u064a\u0631', u'ADDRESS_HOME_ZIP': u'HOME 94043',}, + {u'NAME_FIRST': u'\u4e0a\u6d77\u5e02\u91d1\u5c71\u533a \u677e\u9690\u9547\u4ead\u67ab\u516c\u8def1915\u53f7','NAME_LAST': u'\u0646\u062c\u0627\u0645\u064a\u0646\u0627 \u062f\u0639\u0645\u0647\u0627 \u0644\u0644\u0631\u0626\u064a\u0633 \u0627\u0644\u0633\u0648\u062f\u0627\u0646\u064a \u0639\u0645\u0631 \u0627\u0644\u0628\u0634\u064a\u0631', u'ADDRESS_HOME_ZIP': u'HOME 94043',}, - {u'label': u'HOHO_tryuitty' , u'NAME_FIRST': u'&$%$$$ TESTO *&*&^&^& MOKO',u'NAME_MIDDLE': - u'WOHOOOO$$$$$$$$****',u'EMAIL_ADDRESS': u'yuvu@example.com', u'ADDRESS_HOME_LINE1': u'34544, anderson ST.(120230)', u'ADDRESS_HOME_CITY': u'Sunnyvale', 'ADDRESS_HOME_STATE': u'CA', u'ADDRESS_HOME_ZIP': u'94086', u'PHONE_HOME_NUMBER': u'15466784565', u'ADDRESS_HOME_COUNTRY': u'USA', u'PHONE_FAX_NUMBER': u'6505674567',}, + {u'NAME_FIRST': u'&$%$$$ TESTO *&*&^&^& MOKO',u'NAME_MIDDLE': u'WOHOOOO$$$$$$$$****',u'EMAIL_ADDRESS': u'yuvu@example.com', u'ADDRESS_HOME_LINE1': u'34544, anderson ST.(120230)', u'ADDRESS_HOME_CITY': u'Sunnyvale', 'ADDRESS_HOME_STATE': u'CA', u'ADDRESS_HOME_ZIP': u'94086', u'PHONE_HOME_WHOLE_NUMBER': u'15466784565', u'ADDRESS_HOME_COUNTRY': u'USA', u'PHONE_FAX_WHOLE_NUMBER': u'6505674567',}, ] diff --git a/chrome/test/data/autofill/crazy_creditcards.txt b/chrome/test/data/autofill/crazy_creditcards.txt index 413a497..fcdc405 100644 --- a/chrome/test/data/autofill/crazy_creditcards.txt +++ b/chrome/test/data/autofill/crazy_creditcards.txt @@ -6,8 +6,8 @@ # ascii. # Used by: chrome/test/functional/autofill.py [ -{'label': 'Credit Card 1', 'CREDIT_CARD_NAME': u'\u751f\u6d3b\u5f88\u6709\u89c4\u5f8b \u4ee5\u73a9\u4e3a\u4e3b', 'CREDIT_CARD_NUMBER': '6011111111111117', 'CREDIT_CARD_EXP_MONTH': '12', 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2011'}, -{'label': u'\u88dc\u511f\u8ad6\u8b70\u3068\u5207\u308a\u96e2\u3057\u305f\u3044\u8003\u3048\u3060', 'CREDIT_CARD_NAME': 'John Williams', 'CREDIT_CARD_NUMBER': 'WokoAwesome12345', 'CREDIT_CARD_EXP_MONTH': '10', 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2015'}, -{'label': u'Wohlt\xe4tigkeitsorganisationen flie\xdfen', 'CREDIT_CARD_NAME': u'\u0623\u062d\u0645\u062f\u064a \u0646\u062c\u0627\u062f \u0644\u0645\u062d\u0627\u0648\u0644\u0647 \u0627\u063a\u062a\u064a\u0627\u0644 \u0641\u064a \u0645\u062f\u064a\u0646\u0629 \u0647\u0645\u062f\u0627\u0646 ', 'CREDIT_CARD_NUMBER':u'\u092a\u0941\u0928\u0930\u094d\u091c\u0940\u0935\u093f\u0924 \u0939\u094b\u0917\u093e \u0928\u093e\u0932\u0902\u0926\u093e', 'CREDIT_CARD_EXP_MONTH': '10', 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2015'}, -{'label': u'\u05ea\u05d5\u05e9\u05d1\u05ea \u05d9-\u05dd \u05d8\u05d1\u05e2\u05d4 \u05d1\u05d1\u05d9\u05dc\u05d5\u05d9 \u05e2\u05dd \u05d0\u05d7\u05d5\u05ea\u05d4 \u05d1\u05d7\u05d5\u05e3 \u05d1\u05ea"\u05d0', 'CREDIT_CARD_NAME': u'\u039d\u03ad\u03b5\u03c2 \u03c3\u03c5\u03b3\u03c7\u03c9\u03bd\u03b5\u03cd\u03c3\u03b5\u03b9\u03c2 \u03ba\u03b1\u03b9 \u03ba\u03b1\u03c4\u03b1\u03c1\u03b3\u03ae\u03c3\u03b5\u03b9\u03c2', 'CREDIT_CARD_NUMBER':'00000000000000000000000', 'CREDIT_CARD_EXP_MONTH': '01', 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2016'}, +{'CREDIT_CARD_NAME': u'\u751f\u6d3b\u5f88\u6709\u89c4\u5f8b \u4ee5\u73a9\u4e3a\u4e3b', 'CREDIT_CARD_NUMBER': '6011111111111117', 'CREDIT_CARD_EXP_MONTH': '12', 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2011'}, +{'CREDIT_CARD_NAME': 'John Williams', 'CREDIT_CARD_NUMBER': 'WokoAwesome12345', 'CREDIT_CARD_EXP_MONTH': '10', 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2015'}, +{'CREDIT_CARD_NAME': u'\u0623\u062d\u0645\u062f\u064a \u0646\u062c\u0627\u062f \u0644\u0645\u062d\u0627\u0648\u0644\u0647 \u0627\u063a\u062a\u064a\u0627\u0644 \u0641\u064a \u0645\u062f\u064a\u0646\u0629 \u0647\u0645\u062f\u0627\u0646 ', 'CREDIT_CARD_NUMBER':u'\u092a\u0941\u0928\u0930\u094d\u091c\u0940\u0935\u093f\u0924 \u0939\u094b\u0917\u093e \u0928\u093e\u0932\u0902\u0926\u093e', 'CREDIT_CARD_EXP_MONTH': '10', 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2015'}, +{'CREDIT_CARD_NAME': u'\u039d\u03ad\u03b5\u03c2 \u03c3\u03c5\u03b3\u03c7\u03c9\u03bd\u03b5\u03cd\u03c3\u03b5\u03b9\u03c2 \u03ba\u03b1\u03b9 \u03ba\u03b1\u03c4\u03b1\u03c1\u03b3\u03ae\u03c3\u03b5\u03b9\u03c2', 'CREDIT_CARD_NUMBER':'00000000000000000000000', 'CREDIT_CARD_EXP_MONTH': '01', 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2016'}, ] diff --git a/chrome/test/functional/PYAUTO_TESTS b/chrome/test/functional/PYAUTO_TESTS index aa5c6e8..55e1ad8 100644 --- a/chrome/test/functional/PYAUTO_TESTS +++ b/chrome/test/functional/PYAUTO_TESTS @@ -21,7 +21,7 @@ { 'all': [ - # 'autofill', crbug.com/56844 + 'autofill', 'bookmark_bar', 'bookmarks', 'browser', @@ -65,7 +65,7 @@ 'mac': [ # Keychain popups make password & autofill tests difficult. crbug.com/49378 '-passwords', - # '-autofill', crbug.com/56844 + '-autofill', # codesign tests should run *after* signing. crbug.com/50481 '-codesign', '-content.ContentTest.testThreeWindows', # crbug.com/47457 diff --git a/chrome/test/functional/autofill.py b/chrome/test/functional/autofill.py index 248a7a8..9ede23b 100644 --- a/chrome/test/functional/autofill.py +++ b/chrome/test/functional/autofill.py @@ -12,25 +12,35 @@ import pyauto class AutoFillTest(pyauto.PyUITest): """Tests that autofill works correctly""" + def Debug(self): + """Test method for experimentation. + + This method will not run automatically. + """ + import pprint + pp = pprint.PrettyPrinter(indent=2) + while True: + raw_input('Hit <enter> to dump info.. ') + info = self.GetAutoFillProfile() + pp.pprint(info) + def testFillProfile(self): """Test filling profiles and overwriting with new profiles.""" - profiles = [{'label': 'Profile 1', 'NAME_FIRST': 'Bob', + profiles = [{'NAME_FIRST': 'Bob', 'NAME_LAST': 'Smith', 'ADDRESS_HOME_ZIP': '94043',}, - {'label': 'Profile 2', 'EMAIL_ADDRESS': 'sue@example.com', + {'EMAIL_ADDRESS': 'sue@example.com', 'COMPANY_NAME': 'Company X',}] - credit_cards = [{'label': 'Credit Card 1', - 'CREDIT_CARD_NUMBER': '6011111111111117', + credit_cards = [{'CREDIT_CARD_NUMBER': '6011111111111117', 'CREDIT_CARD_EXP_MONTH': '12', 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2011'}, - {'label': 'Credit Card 2', - 'CREDIT_CARD_NAME': 'Bob C. Smith'}] + {'CREDIT_CARD_NAME': 'Bob C. Smith'}] self.FillAutoFillProfile(profiles=profiles, credit_cards=credit_cards) profile = self.GetAutoFillProfile() self.assertEqual(profiles, profile['profiles']) self.assertEqual(credit_cards, profile['credit_cards']) - profiles = [ {'label': 'Profile3', 'NAME_FIRST': 'Larry'}] + profiles = [ {'NAME_FIRST': 'Larry'}] self.FillAutoFillProfile(profiles=profiles) profile = self.GetAutoFillProfile() self.assertEqual(profiles, profile['profiles']) @@ -42,6 +52,7 @@ class AutoFillTest(pyauto.PyUITest): file_path = os.path.join(self.DataDir(), 'autofill', 'crazy_autofill.txt') profiles = self.EvalDataFrom(file_path) self.FillAutoFillProfile(profiles=profiles) + self.assertEqual(profiles, self.GetAutoFillProfile()['profiles']) # Adding credit cards. @@ -61,28 +72,24 @@ class AutoFillTest(pyauto.PyUITest): def testAutofillInvalid(self): """Test filling in invalid values for profiles and credit cards.""" # First try profiles with invalid input. - without_invalid = {'label': 'Invalid_Profile' , 'NAME_FIRST': u'Will', + without_invalid = {'NAME_FIRST': u'Will', 'ADDRESS_HOME_CITY': 'Sunnyvale', 'ADDRESS_HOME_STATE': 'CA', 'ADDRESS_HOME_ZIP': 'my_zip', 'ADDRESS_HOME_COUNTRY': 'USA'} # Add some invalid fields. with_invalid = without_invalid.copy() - with_invalid['PHONE_HOME_NUMBER'] = 'Invalid_Phone_Number' - with_invalid['PHONE_FAX_NUMBER'] = 'Invalid_Fax_Number' + with_invalid['PHONE_HOME_WHOLE_NUMBER'] = 'Invalid_Phone_Number' + with_invalid['PHONE_FAX_WHOLE_NUMBER'] = 'Invalid_Fax_Number' self.FillAutoFillProfile(profiles=[with_invalid]) - self.assertEqual([without_invalid], self.GetAutoFillProfile()['profiles']) + self.assertEqual([without_invalid], + self.GetAutoFillProfile()['profiles']) # Then try credit cards with invalid input. - without_invalid = {'label': 'Invalid_CC', - 'CREDIT_CARD_NUMBER': 'Not_Checked'} - # Add some invalid fields. - with_invalid = without_invalid.copy() - with_invalid['CREDIT_CARD_EXP_MONTH'] = 'Not_A_Month' - with_invalid['CREDIT_CARD_EXP_4_DIGIT_YEAR'] = 'Not_A_Year' - self.FillAutoFillProfile(credit_cards=[with_invalid]) - self.assertEqual([without_invalid], - self.GetAutoFillProfile()['credit_cards']) + credit_card = {'CREDIT_CARD_NUMBER': 'Not_Checked'} + self.FillAutoFillProfile(credit_cards=[credit_card]) + self.assertEqual([credit_card], + self.GetAutoFillProfile()['credit_cards']) if __name__ == '__main__': diff --git a/chrome/test/pyautolib/pyauto.py b/chrome/test/pyautolib/pyauto.py index bb4526e..7b20154 100644 --- a/chrome/test/pyautolib/pyauto.py +++ b/chrome/test/pyautolib/pyauto.py @@ -1027,42 +1027,39 @@ class PyUITest(pyautolib.PyUITestBase, unittest.TestCase): profiles: (optional) a list of dictionaries representing each profile to add. Example: [{ - 'label': 'Profile 1', # Note: 'label' must be present 'NAME_FIRST': 'Bob', 'NAME_LAST': 'Smith', 'ADDRESS_HOME_ZIP': '94043', }, { - 'label': 'Profile 2', 'EMAIL_ADDRESS': 'sue@example.com', 'COMPANY_NAME': 'Company X', }] - Each dictionary must have a key 'label'. Other possible keys are: + Other possible keys are: 'NAME_FIRST', 'NAME_MIDDLE', 'NAME_LAST', 'EMAIL_ADDRESS', 'COMPANY_NAME', 'ADDRESS_HOME_LINE1', 'ADDRESS_HOME_LINE2', 'ADDRESS_HOME_CITY', 'ADDRESS_HOME_STATE', 'ADDRESS_HOME_ZIP', - 'ADDRESS_HOME_COUNTRY', 'PHONE_HOME_NUMBER', 'PHONE_FAX_NUMBER' + 'ADDRESS_HOME_COUNTRY', 'PHONE_HOME_WHOLE_NUMBER', + 'PHONE_FAX_WHOLE_NUMBER' All values must be strings. credit_cards: (optional) a list of dictionaries representing each credit card to add. Example: [{ - 'label': 'Personal Credit Card', # Note: 'label' must be present 'CREDIT_CARD_NAME': 'Bob C. Smith', 'CREDIT_CARD_NUMBER': '5555555555554444', 'CREDIT_CARD_EXP_MONTH': '12', 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2011' }, { - 'label': 'Work Credit Card', 'CREDIT_CARD_NAME': 'Bob C. Smith', 'CREDIT_CARD_NUMBER': '4111111111111111', 'CREDIT_CARD_TYPE': 'Visa' } - Each dictionary must have a key 'label'. Other possible keys are: + Other possible keys are: 'CREDIT_CARD_NAME', 'CREDIT_CARD_NUMBER', 'CREDIT_CARD_EXP_MONTH', 'CREDIT_CARD_EXP_4_DIGIT_YEAR' @@ -1081,14 +1078,6 @@ class PyUITest(pyautolib.PyUITestBase, unittest.TestCase): 'profiles': profiles, 'credit_cards': credit_cards } - if profiles: - for profile in profiles: - if not 'label' in profile: - raise JSONInterfaceError('must specify label for all profiles') - if credit_cards: - for credit_card in credit_cards: - if not 'label' in credit_card: - raise JSONInterfaceError('must specify label for all credit cards') self._GetResultFromJSONRequest(cmd_dict, windex=window_index) def GetAutoFillProfile(self, tab_index=0, window_index=0): |