@@ -84,14 +84,14 @@ def tearDown(self):
84
84
try :
85
85
self .web_driver .refresh ()
86
86
except UnexpectedAlertPresentException :
87
- self .web_driver .switch_to_alert () .accept ()
87
+ self .web_driver .switch_to_alert .accept ()
88
88
else :
89
89
try :
90
90
WebDriverWait (self .web_driver , 1 ).until (EC .alert_is_present ())
91
91
except TimeoutException :
92
92
pass
93
93
else :
94
- self .web_driver .switch_to_alert () .accept ()
94
+ self .web_driver .switch_to_alert .accept ()
95
95
self .web_driver .refresh ()
96
96
WebDriverWait (self .web_driver , 2 ).until (
97
97
EC .visibility_of_element_located ((By .XPATH , '//*[@id="site-name"]' ))
@@ -108,6 +108,14 @@ def _assert_loading_overlay_hidden(self):
108
108
EC .invisibility_of_element ((By .CSS_SELECTOR , '#loading-overlay' ))
109
109
)
110
110
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
+
111
119
@capture_any_output ()
112
120
def test_restoring_deleted_device (self ):
113
121
org = self ._get_org ()
@@ -147,6 +155,9 @@ def test_restoring_deleted_device(self):
147
155
f'admin:{ self .config_app_label } _device_recover' , args = [version_obj .id ]
148
156
)
149
157
)
158
+ WebDriverWait (self .web_driver , 5 ).until (
159
+ EC .invisibility_of_element ((By .ID , "command_set-group" ))
160
+ )
150
161
WebDriverWait (self .web_driver , 5 ).until (
151
162
EC .element_to_be_clickable (
152
163
(By .XPATH , '//*[@id="device_form"]/div/div[1]/input[1]' )
@@ -177,6 +188,12 @@ def save_device():
177
188
self .web_driver .find_element (
178
189
by = By .XPATH , value = '//*[@id="device_form"]/div/div[1]/input[3]'
179
190
).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 ()
180
197
181
198
_ , _ , _ , _ , _ , image , device = self ._set_up_env ()
182
199
self .login ()
@@ -194,7 +211,6 @@ def save_device():
194
211
)
195
212
)
196
213
image_select = self ._get_device_firmware_dropdown_select ()
197
- self ._assert_loading_overlay_hidden ()
198
214
image_select .select_by_value (str (image .pk ))
199
215
# JSONSchema configuration editor should not be rendered
200
216
WebDriverWait (self .web_driver , 1 ).until (
@@ -238,7 +254,6 @@ def save_device():
238
254
# When adding firmware to the device for the first time,
239
255
# JSONSchema editor should be rendered only when the image
240
256
# is selected
241
- self ._assert_loading_overlay_hidden ()
242
257
self .web_driver .find_element (
243
258
by = By .XPATH , value = '//*[@id="devicefirmware-group"]/fieldset/div[2]/a'
244
259
).click ()
@@ -371,7 +386,6 @@ def test_upgrader_with_unsupported_upgrade_options(self, *args):
371
386
)
372
387
)
373
388
image_select = self ._get_device_firmware_dropdown_select ()
374
- self ._assert_loading_overlay_hidden ()
375
389
image_select .select_by_value (str (image2 .pk ))
376
390
# Ensure JSONSchema editor is not rendered because
377
391
# the upgrader does not define a schema
0 commit comments