Skip to content

Commit 561a80c

Browse files
committed
[tests] Fixed tests
1 parent fc33604 commit 561a80c

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

openwisp_firmware_upgrader/tests/test_selenium.py

+19-5
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,14 @@ def tearDown(self):
8484
try:
8585
self.web_driver.refresh()
8686
except UnexpectedAlertPresentException:
87-
self.web_driver.switch_to_alert().accept()
87+
self.web_driver.switch_to_alert.accept()
8888
else:
8989
try:
9090
WebDriverWait(self.web_driver, 1).until(EC.alert_is_present())
9191
except TimeoutException:
9292
pass
9393
else:
94-
self.web_driver.switch_to_alert().accept()
94+
self.web_driver.switch_to_alert.accept()
9595
self.web_driver.refresh()
9696
WebDriverWait(self.web_driver, 2).until(
9797
EC.visibility_of_element_located((By.XPATH, '//*[@id="site-name"]'))
@@ -108,6 +108,14 @@ def _assert_loading_overlay_hidden(self):
108108
EC.invisibility_of_element((By.CSS_SELECTOR, '#loading-overlay'))
109109
)
110110

111+
def open(self, url, driver=None):
112+
super().open(url, driver)
113+
driver = driver or self.web_driver
114+
WebDriverWait(driver, 5).until(
115+
lambda d: d.execute_script('return document.readyState') == 'complete'
116+
)
117+
self._assert_loading_overlay_hidden()
118+
111119
@capture_any_output()
112120
def test_restoring_deleted_device(self):
113121
org = self._get_org()
@@ -147,6 +155,9 @@ def test_restoring_deleted_device(self):
147155
f'admin:{self.config_app_label}_device_recover', args=[version_obj.id]
148156
)
149157
)
158+
WebDriverWait(self.web_driver, 5).until(
159+
EC.invisibility_of_element((By.ID, "command_set-group"))
160+
)
150161
WebDriverWait(self.web_driver, 5).until(
151162
EC.element_to_be_clickable(
152163
(By.XPATH, '//*[@id="device_form"]/div/div[1]/input[1]')
@@ -177,6 +188,12 @@ def save_device():
177188
self.web_driver.find_element(
178189
by=By.XPATH, value='//*[@id="device_form"]/div/div[1]/input[3]'
179190
).click()
191+
WebDriverWait(self.web_driver, 2).until(
192+
EC.visibility_of_all_elements_located(
193+
(By.CSS_SELECTOR, '#devicefirmware-group')
194+
)
195+
)
196+
self._assert_loading_overlay_hidden()
180197

181198
_, _, _, _, _, image, device = self._set_up_env()
182199
self.login()
@@ -194,7 +211,6 @@ def save_device():
194211
)
195212
)
196213
image_select = self._get_device_firmware_dropdown_select()
197-
self._assert_loading_overlay_hidden()
198214
image_select.select_by_value(str(image.pk))
199215
# JSONSchema configuration editor should not be rendered
200216
WebDriverWait(self.web_driver, 1).until(
@@ -238,7 +254,6 @@ def save_device():
238254
# When adding firmware to the device for the first time,
239255
# JSONSchema editor should be rendered only when the image
240256
# is selected
241-
self._assert_loading_overlay_hidden()
242257
self.web_driver.find_element(
243258
by=By.XPATH, value='//*[@id="devicefirmware-group"]/fieldset/div[2]/a'
244259
).click()
@@ -371,7 +386,6 @@ def test_upgrader_with_unsupported_upgrade_options(self, *args):
371386
)
372387
)
373388
image_select = self._get_device_firmware_dropdown_select()
374-
self._assert_loading_overlay_hidden()
375389
image_select.select_by_value(str(image2.pk))
376390
# Ensure JSONSchema editor is not rendered because
377391
# the upgrader does not define a schema

0 commit comments

Comments
 (0)