diff options
| author | Florian Apolloner <florian@apolloner.eu> | 2013-09-15 01:11:07 +0200 |
|---|---|---|
| committer | Florian Apolloner <florian@apolloner.eu> | 2013-09-15 01:11:07 +0200 |
| commit | 351a061497b262e2ef994552d04c31b63d801179 (patch) | |
| tree | 548788dbc9a165f29302f253b819f19b4d97f262 /tests/admin_widgets | |
| parent | 2fa0dd73b18f55d0fdd1c1d54b1d18031bfcf1ed (diff) | |
Fixed a timing edge case in the RelatedFieldWidgetSeleniumFirefoxTests.
By settings an implicit wait timeout for the find_* methods we can wait
till the javascript code add the new option to the DOM.
See http://ci.djangoproject.com/job/Django/database=mysql_gis,python=python3.3/3174/testReport/junit/admin_widgets.tests/RelatedFieldWidgetSeleniumFirefoxTests/test_foreign_key_using_to_field/
Stacktrace:
Traceback (most recent call last):
File "/var/lib/jenkins/jobs/Django/workspace/database/mysql_gis/python/python3.3/tests/admin_widgets/tests.py", line 1060, in test_foreign_key_using_to_field
self.assertEqual(username_value, new_option.get_attribute('value'))
AssertionError: 'newuser' != 'testser'
- newuser
+ testser
Diffstat (limited to 'tests/admin_widgets')
| -rw-r--r-- | tests/admin_widgets/tests.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py index 7eb68be4d0..c75ffe5def 100644 --- a/tests/admin_widgets/tests.py +++ b/tests/admin_widgets/tests.py @@ -1055,9 +1055,10 @@ class RelatedFieldWidgetSeleniumFirefoxTests(AdminSeleniumWebDriverTestCase): save_button_css_selector = '.submit-row > input[type=submit]' self.selenium.find_element_by_css_selector(save_button_css_selector).click() self.selenium.switch_to_window(main_window) - user_select = self.selenium.find_element_by_id('id_user') - new_option = user_select.find_elements_by_tag_name('option')[-1] - self.assertEqual(username_value, new_option.get_attribute('value')) + # Wait up to 2 seconds for the new option to show up after clicking save in the popup. + self.selenium.implicitly_wait(2) + self.selenium.find_element_by_css_selector('#id_user option[value=newuser]') + self.selenium.implicitly_wait(0) # Go ahead and submit the form to make sure it works self.selenium.find_element_by_css_selector(save_button_css_selector).click() @@ -1070,4 +1071,4 @@ class RelatedFieldWidgetSeleniumChromeTests(RelatedFieldWidgetSeleniumFirefoxTes webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver' class RelatedFieldWidgetSeleniumIETests(RelatedFieldWidgetSeleniumFirefoxTests): - webdriver_class = 'selenium.webdriver.ie.webdriver.WebDriver'
\ No newline at end of file + webdriver_class = 'selenium.webdriver.ie.webdriver.WebDriver' |
