Chromium Code Reviews| Index: chrome/test/webdriver/chromedriver_tests.py |
| =================================================================== |
| --- chrome/test/webdriver/chromedriver_tests.py (revision 79746) |
| +++ chrome/test/webdriver/chromedriver_tests.py (working copy) |
| @@ -351,6 +351,52 @@ |
| self.assertEquals(data['sessionId'], url_parts[4]) |
| +class AutofillTest(unittest.TestCase): |
| + """Autofill tests that interacts with web UI.""" |
| + AUTOFILL_EDIT_ADDRESS = 'chrome://settings/autoFillEditAddress' |
| + |
| + def setUp(self): |
| + self._launcher = ChromeDriverLauncher() |
| + |
| + def tearDown(self): |
| + self._launcher.Kill() |
| + |
| + def NewDriver(self): |
|
Huyen
2011/03/30 19:17:02
Fold the code here into where you're calling NewDr
dyu1
2011/03/30 21:51:45
What do you mean by fold the code here? If I didn'
Huyen
2011/03/30 22:08:03
Inline WebDriver(self._launcher.GetUrl(), {}) wher
dyu1
2011/03/30 22:33:10
If I fold it in then instead of driver.get for all
Huyen
2011/03/30 23:23:12
When you add more tests later you can add that met
|
| + return WebDriver(self._launcher.GetURL(), {}) |
| + |
| + def testPostalCodeAndStateLabelsBasedOnCountry(self): |
| + """Verify postal code and state labels based on selected country.""" |
| + file_path = os.path.join('state_zip_labels.txt') |
| + import simplejson |
| + print dir(simplejson) |
|
Huyen
2011/03/30 19:17:02
Do you need this print? Remove if it is for debugg
dyu1
2011/03/30 21:51:45
Done.
|
| + test_data = simplejson.loads(open(file_path).read()) |
| + |
| + driver = self.NewDriver() |
| + driver.get(self.AUTOFILL_EDIT_ADDRESS) |
| + state_label = driver.find_element_by_id('state-label').text |
| + self.assertEqual('State', state_label) |
| + for country_code in test_data: |
| + query = '//option[@value="%s"]' % country_code |
| + driver.find_element_by_id( |
|
Huyen
2011/03/30 19:17:02
This is fine but if multiple postal codes are not
dyu1
2011/03/30 21:51:45
What do you mean by multiple postal codes? In this
Huyen
2011/03/30 22:08:03
You're looping through the list of postal codes to
|
| + 'country').find_element_by_xpath(query).select() |
| + |
| + # Compare postal labels. |
| + actual_postal_label = driver.find_element_by_id( |
| + 'postal-code-label').text |
| + expected_postal_label = test_data[country_code]['postalCodeLabel'] |
| + self.assertEqual( |
| + actual_postal_label, expected_postal_label, |
| + 'Postal code label on the UI does not correspond to the selected \ |
|
Huyen
2011/03/30 19:17:02
This is a UI test so you don't need to say "on the
dyu1
2011/03/30 21:51:45
Done.
|
| + Country "%s"' % country_code) |
| + # Compare state labels. |
| + actual_state_label = driver.find_element_by_id('state-label').text |
| + expected_state_label = test_data[country_code]['stateLabel'] |
| + self.assertEqual( |
| + actual_state_label, expected_state_label, |
| + 'State label on the UI does not correspond to the selected \ |
|
Huyen
2011/03/30 19:17:02
Same as above.
dyu1
2011/03/30 21:51:45
Done.
|
| + Country "%s"' % country_code) |
| + |
|
Huyen
2011/03/30 19:17:02
You might want to call driver.quit() here.
dyu1
2011/03/30 21:51:45
The driver quits on it's own when I run the test.
|
| + |
| # TODO(jleyba): Port this to WebDriver's own python test suite. |
| class ElementEqualityTest(unittest.TestCase): |
| """Tests that the server properly checks element equality.""" |