6
6
from django .test import tag
7
7
from django .urls .base import reverse
8
8
from reversion .models import Version
9
- from selenium .common .exceptions import TimeoutException , UnexpectedAlertPresentException
9
+ from selenium .common .exceptions import TimeoutException
10
10
from selenium .webdriver .common .by import By
11
11
from selenium .webdriver .support import expected_conditions as EC
12
12
from selenium .webdriver .support .ui import Select , WebDriverWait
13
13
14
14
from openwisp_firmware_upgrader .hardware import REVERSE_FIRMWARE_IMAGE_MAP
15
15
from openwisp_firmware_upgrader .tests .base import TestUpgraderMixin
16
- from openwisp_utils .test_selenium_mixins import SeleniumTestMixin
17
- from openwisp_utils .tests import capture_any_output
16
+ from openwisp_utils .tests import SeleniumTestMixin , capture_any_output
18
17
19
18
from ..swapper import load_model
20
19
from ..upgraders .openwisp import OpenWrt
@@ -54,35 +53,10 @@ def setUp(self):
54
53
username = self .admin_username , password = self .admin_password
55
54
)
56
55
57
- def tearDown (self ):
58
- super ().tearDown ()
59
- # Accept unsaved changes alert to allow other tests to run
60
- try :
61
- self .web_driver .refresh ()
62
- except UnexpectedAlertPresentException :
63
- self .web_driver .switch_to_alert .accept ()
64
- else :
65
- try :
66
- WebDriverWait (self .web_driver , 1 ).until (EC .alert_is_present ())
67
- except TimeoutException :
68
- pass
69
- else :
70
- self .web_driver .switch_to_alert .accept ()
71
- self .web_driver .refresh ()
72
- self .wait_for_visibility (By .XPATH , '//*[@id="site-name"]' )
73
-
74
56
def _get_device_firmware_dropdown_select (self ):
75
57
select_element = self .find_element (By .ID , 'id_devicefirmware-0-image' )
76
58
return Select (select_element )
77
59
78
- def _assert_loading_overlay_hidden (self ):
79
- self .wait_for_invisibility (By .CSS_SELECTOR , '#loading-overlay' )
80
-
81
- def open (self , url , driver = None ):
82
- super ().open (url , driver )
83
- driver = driver or self .web_driver
84
- self ._assert_loading_overlay_hidden ()
85
-
86
60
@capture_any_output ()
87
61
def test_restoring_deleted_device (self ):
88
62
org = self ._get_org ()
@@ -150,7 +124,7 @@ def save_device():
150
124
by = By .XPATH , value = '//*[@id="device_form"]/div/div[1]/input[3]'
151
125
).click ()
152
126
self .wait_for_visibility (By .CSS_SELECTOR , '#devicefirmware-group' )
153
- self ._assert_loading_overlay_hidden ()
127
+ self .hide_loading_overlay ()
154
128
155
129
_ , _ , _ , _ , _ , image , device = self ._set_up_env ()
156
130
self .login ()
@@ -161,6 +135,7 @@ def save_device():
161
135
)
162
136
)
163
137
)
138
+ self .hide_loading_overlay ()
164
139
# JSONSchema Editor should not be rendered without a change in the image field
165
140
self .wait_for_invisibility (
166
141
By .CSS_SELECTOR , '#devicefirmware-group .jsoneditor-wrapper'
@@ -312,6 +287,7 @@ def test_upgrader_with_unsupported_upgrade_options(self, *args):
312
287
)
313
288
)
314
289
)
290
+ self .hide_loading_overlay ()
315
291
image_select = self ._get_device_firmware_dropdown_select ()
316
292
image_select .select_by_value (str (image2 .pk ))
317
293
# Ensure JSONSchema editor is not rendered because
0 commit comments