summaryrefslogtreecommitdiff
path: root/tests/admin_views/tests.py
diff options
context:
space:
mode:
authorSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-03-13 11:17:17 +0100
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-03-18 10:52:01 +0100
commit8f400a7ff086b9ea2a20e69826d211f965b31185 (patch)
treebc3ac3114f4900d7acab56aad700eea7a1a32c32 /tests/admin_views/tests.py
parent90fc76294808b16a86acc9a073435250466932e3 (diff)
Made selenium tests less flaky by waiting until popups are closed and page is loaded.
Diffstat (limited to 'tests/admin_views/tests.py')
-rw-r--r--tests/admin_views/tests.py25
1 files changed, 16 insertions, 9 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 5e1aa719c1..feafde47fd 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -6448,6 +6448,7 @@ class SeleniumTests(AdminSeleniumTestCase):
ActionChains(self.selenium).move_to_element(delete_parent).click().perform()
self.wait_for_and_switch_to_popup()
self.selenium.find_element(By.XPATH, '//input[@value="Yes, I’m sure"]').click()
+ self.wait_until(lambda d: len(d.window_handles) == 1, 1)
self.selenium.switch_to.window(self.selenium.window_handles[0])
select = Select(self.selenium.find_element(By.ID, "id_parent"))
self.assertEqual(ParentWithUUIDPK.objects.count(), 0)
@@ -6582,6 +6583,7 @@ class SeleniumTests(AdminSeleniumTestCase):
self.selenium.find_element(By.ID, "id_title").send_keys("test3")
self.selenium.find_element(By.XPATH, '//input[@value="Save"]').click()
+ self.wait_until(lambda d: len(d.window_handles) == 3, 1)
self.selenium.switch_to.window(popup_window_test2)
select = Select(self.selenium.find_element(By.ID, "id_next_box"))
next_box_id = str(Box.objects.get(title="test3").id)
@@ -6590,6 +6592,7 @@ class SeleniumTests(AdminSeleniumTestCase):
)
self.selenium.find_element(By.XPATH, '//input[@value="Save"]').click()
+ self.wait_until(lambda d: len(d.window_handles) == 2, 1)
self.selenium.switch_to.window(popup_window_test)
select = Select(self.selenium.find_element(By.ID, "id_next_box"))
next_box_id = str(Box.objects.get(title="test2").id)
@@ -6598,6 +6601,7 @@ class SeleniumTests(AdminSeleniumTestCase):
)
self.selenium.find_element(By.XPATH, '//input[@value="Save"]').click()
+ self.wait_until(lambda d: len(d.window_handles) == 1, 1)
self.selenium.switch_to.window(base_window)
select = Select(self.selenium.find_element(By.ID, "id_next_box"))
next_box_id = str(Box.objects.get(title="test").id)
@@ -6833,15 +6837,17 @@ class SeleniumTests(AdminSeleniumTestCase):
self.selenium.get(self.live_server_url + add_url)
name_input = self.selenium.find_element(By.ID, "id_name")
name_input.send_keys("Test section 1")
- self.selenium.find_element(
- By.XPATH, '//input[@value="Save and add another"]'
- ).click()
+ with self.wait_page_loaded():
+ self.selenium.find_element(
+ By.XPATH, '//input[@value="Save and add another"]'
+ ).click()
self.assertEqual(Section.objects.count(), 1)
name_input = self.selenium.find_element(By.ID, "id_name")
name_input.send_keys("Test section 2")
- self.selenium.find_element(
- By.XPATH, '//input[@value="Save and add another"]'
- ).click()
+ with self.wait_page_loaded():
+ self.selenium.find_element(
+ By.XPATH, '//input[@value="Save and add another"]'
+ ).click()
self.assertEqual(Section.objects.count(), 2)
def test_redirect_on_add_view_continue_button(self):
@@ -6854,9 +6860,10 @@ class SeleniumTests(AdminSeleniumTestCase):
self.selenium.get(self.live_server_url + add_url)
name_input = self.selenium.find_element(By.ID, "id_name")
name_input.send_keys("Test section 1")
- self.selenium.find_element(
- By.XPATH, '//input[@value="Save and continue editing"]'
- ).click()
+ with self.wait_page_loaded():
+ self.selenium.find_element(
+ By.XPATH, '//input[@value="Save and continue editing"]'
+ ).click()
self.assertEqual(Section.objects.count(), 1)
name_input = self.selenium.find_element(By.ID, "id_name")
name_input_value = name_input.get_attribute("value")