9
9
from seleniumbase .config import settings
10
10
from seleniumbase .fixtures import js_utils
11
11
12
- LATEST_REPORT_DIR = settings .LATEST_REPORT_DIR
13
- ARCHIVE_DIR = settings .REPORT_ARCHIVE_DIR
14
- RESULTS_PAGE = settings .HTML_REPORT
15
- BAD_PAGE_LOG = settings .RESULTS_TABLE
16
- DEFAULT_VALIDATION_MESSAGE = settings .MASTERQA_DEFAULT_VALIDATION_MESSAGE
17
- WAIT_TIME_BEFORE_VERIFY = settings .MASTERQA_WAIT_TIME_BEFORE_VERIFY
18
- START_IN_FULL_SCREEN_MODE = settings .MASTERQA_START_IN_FULL_SCREEN_MODE
19
- MAX_IDLE_TIME_BEFORE_QUIT = settings .MASTERQA_MAX_IDLE_TIME_BEFORE_QUIT
20
-
21
12
# This tool allows testers to quickly verify pages while assisted by automation
22
13
23
14
@@ -27,10 +18,22 @@ def setUp(self):
27
18
self .check_count = 0
28
19
self .auto_close_results_page = False
29
20
super (MasterQA , self ).setUp (masterqa_mode = True )
21
+ self .LATEST_REPORT_DIR = settings .LATEST_REPORT_DIR
22
+ self .ARCHIVE_DIR = settings .REPORT_ARCHIVE_DIR
23
+ self .RESULTS_PAGE = settings .HTML_REPORT
24
+ self .BAD_PAGE_LOG = settings .RESULTS_TABLE
25
+ self .DEFAULT_VALIDATION_MESSAGE = (
26
+ settings .MASTERQA_DEFAULT_VALIDATION_MESSAGE )
27
+ self .WAIT_TIME_BEFORE_VERIFY = (
28
+ settings .MASTERQA_WAIT_TIME_BEFORE_VERIFY )
29
+ self .START_IN_FULL_SCREEN_MODE = (
30
+ settings .MASTERQA_START_IN_FULL_SCREEN_MODE )
31
+ self .MAX_IDLE_TIME_BEFORE_QUIT = (
32
+ settings .MASTERQA_MAX_IDLE_TIME_BEFORE_QUIT )
30
33
self .__manual_check_setup ()
31
34
if self .headless :
32
35
self .auto_close_results_page = True
33
- if START_IN_FULL_SCREEN_MODE :
36
+ if self . START_IN_FULL_SCREEN_MODE :
34
37
self .maximize_window ()
35
38
36
39
def verify (self , * args ):
@@ -73,26 +76,28 @@ def __manual_check_setup(self):
73
76
def __clear_out_old_logs (
74
77
self , archive_past_runs = True , get_log_folder = False ):
75
78
abs_path = os .path .abspath ('.' )
76
- file_path = abs_path + "/%s" % LATEST_REPORT_DIR
79
+ file_path = abs_path + "/%s" % self . LATEST_REPORT_DIR
77
80
if not os .path .exists (file_path ):
78
81
os .makedirs (file_path )
79
82
80
83
if archive_past_runs :
81
84
archive_timestamp = int (time .time ())
82
- if not os .path .exists ("%s/../%s/" % (file_path , ARCHIVE_DIR )):
83
- os .makedirs ("%s/../%s/" % (file_path , ARCHIVE_DIR ))
85
+ if not os .path .exists ("%s/../%s/" % (file_path , self . ARCHIVE_DIR )):
86
+ os .makedirs ("%s/../%s/" % (file_path , self . ARCHIVE_DIR ))
84
87
archive_dir = "%s/../%s/log_%s" % (
85
- file_path , ARCHIVE_DIR , archive_timestamp )
88
+ file_path , self . ARCHIVE_DIR , archive_timestamp )
86
89
shutil .move (file_path , archive_dir )
87
90
os .makedirs (file_path )
88
91
if get_log_folder :
89
92
return archive_dir
90
93
else :
91
94
# Just delete bad pages to make room for the latest run.
92
95
filelist = [f for f in os .listdir (
93
- "./%s" % LATEST_REPORT_DIR ) if f .startswith ("failed_" ) or (
94
- f == RESULTS_PAGE ) or (f .startswith ("automation_failure" )) or (
95
- f == BAD_PAGE_LOG )]
96
+ "./%s" % self .LATEST_REPORT_DIR ) if (
97
+ f .startswith ("failed_" )) or (
98
+ f == self .RESULTS_PAGE ) or (
99
+ f .startswith ("automation_failure" )) or (
100
+ f == self .BAD_PAGE_LOG )]
96
101
for f in filelist :
97
102
os .remove ("%s/%s" % (file_path , f ))
98
103
@@ -137,7 +142,7 @@ def __jq_confirm_dialog(self, question):
137
142
138
143
def __manual_page_check (self , * args ):
139
144
if not args :
140
- instructions = DEFAULT_VALIDATION_MESSAGE # self.verify()
145
+ instructions = self . DEFAULT_VALIDATION_MESSAGE # self.verify()
141
146
else :
142
147
instructions = str (args [0 ])
143
148
if len (args ) > 1 :
@@ -149,7 +154,7 @@ def __manual_page_check(self, *args):
149
154
elif instructions and "?" in instructions :
150
155
question = instructions
151
156
152
- wait_time_before_verify = WAIT_TIME_BEFORE_VERIFY
157
+ wait_time_before_verify = self . WAIT_TIME_BEFORE_VERIFY
153
158
if self .verify_delay :
154
159
wait_time_before_verify = float (self .verify_delay )
155
160
# Allow a moment to see the full page before the dialog box pops up
@@ -237,7 +242,7 @@ def __manual_page_check(self, *args):
237
242
return 1
238
243
else :
239
244
bad_page_name = "failed_check_%s.png" % self .manual_check_count
240
- self .save_screenshot (bad_page_name , folder = LATEST_REPORT_DIR )
245
+ self .save_screenshot (bad_page_name , folder = self . LATEST_REPORT_DIR )
241
246
self .page_results_list .append (
242
247
'"%s","%s","%s","%s","%s","%s","%s","%s"' % (
243
248
self .manual_check_count ,
@@ -250,8 +255,8 @@ def __manual_page_check(self, *args):
250
255
"*" ))
251
256
return 0
252
257
253
- def __wait_for_special_alert_absent (
254
- self , timeout = MAX_IDLE_TIME_BEFORE_QUIT ):
258
+ def __wait_for_special_alert_absent (self ):
259
+ timeout = self . MAX_IDLE_TIME_BEFORE_QUIT
255
260
for x in range (int (timeout * 20 )):
256
261
try :
257
262
alert = self .driver .switch_to .alert
@@ -277,7 +282,7 @@ def __add_failure(self, exception=None):
277
282
278
283
self .incomplete_runs += 1
279
284
error_page = "automation_failure_%s.png" % self .incomplete_runs
280
- self .save_screenshot (error_page , folder = LATEST_REPORT_DIR )
285
+ self .save_screenshot (error_page , folder = self . LATEST_REPORT_DIR )
281
286
self .page_results_list .append (
282
287
'"%s","%s","%s","%s","%s","%s","%s","%s"' % (
283
288
"ERR" ,
@@ -298,8 +303,8 @@ def __add_failure(self, exception=None):
298
303
299
304
def __add_bad_page_log_file (self ):
300
305
abs_path = os .path .abspath ('.' )
301
- file_path = abs_path + "/%s" % LATEST_REPORT_DIR
302
- log_file = "%s/%s" % (file_path , BAD_PAGE_LOG )
306
+ file_path = abs_path + "/%s" % self . LATEST_REPORT_DIR
307
+ log_file = "%s/%s" % (file_path , self . BAD_PAGE_LOG )
303
308
f = open (log_file , 'w' )
304
309
h_p1 = '''"Num","Result","Screenshot","URL","Browser","Epoch Time",'''
305
310
h_p2 = '''"Verification Instructions","Additional Info"\n '''
@@ -311,8 +316,8 @@ def __add_bad_page_log_file(self):
311
316
312
317
def __add_results_page (self , html ):
313
318
abs_path = os .path .abspath ('.' )
314
- file_path = abs_path + "/%s" % LATEST_REPORT_DIR
315
- results_file_name = RESULTS_PAGE
319
+ file_path = abs_path + "/%s" % self . LATEST_REPORT_DIR
320
+ results_file_name = self . RESULTS_PAGE
316
321
results_file = "%s/%s" % (file_path , results_file_name )
317
322
f = open (results_file , 'w' )
318
323
f .write (html )
@@ -345,7 +350,7 @@ def __process_manual_check_results(self, auto_close_results_page=False):
345
350
log_string = self .__clear_out_old_logs (get_log_folder = True )
346
351
log_folder = log_string .split ('/' )[- 1 ]
347
352
abs_path = os .path .abspath ('.' )
348
- file_path = abs_path + "/%s" % ARCHIVE_DIR
353
+ file_path = abs_path + "/%s" % self . ARCHIVE_DIR
349
354
log_path = "%s/%s" % (file_path , log_folder )
350
355
web_log_path = "file://%s" % log_path
351
356
@@ -376,9 +381,9 @@ def __process_manual_check_results(self, auto_close_results_page=False):
376
381
%s</h1>''' % summary_table
377
382
378
383
log_link_shown = '../%s%s/' % (
379
- ARCHIVE_DIR , web_log_path .split (ARCHIVE_DIR )[1 ])
380
- csv_link = '%s/%s' % (web_log_path , BAD_PAGE_LOG )
381
- csv_link_shown = '%s' % BAD_PAGE_LOG
384
+ self . ARCHIVE_DIR , web_log_path .split (self . ARCHIVE_DIR )[1 ])
385
+ csv_link = '%s/%s' % (web_log_path , self . BAD_PAGE_LOG )
386
+ csv_link_shown = '%s' % self . BAD_PAGE_LOG
382
387
log_table = '''<p><p><p><p><h2><table><tbody>
383
388
<tr><td>LOG FILES LINK: <td><a href="%s">%s</a></tr>
384
389
<tr><td>RESULTS TABLE: <td><a href="%s">%s</a></tr>
@@ -411,7 +416,7 @@ def __process_manual_check_results(self, auto_close_results_page=False):
411
416
report_html = '<html><head>%s</head><body>%s</body></html>' % (
412
417
style , table_view )
413
418
results_file = self .__add_results_page (report_html )
414
- archived_results_file = log_path + '/' + RESULTS_PAGE
419
+ archived_results_file = log_path + '/' + self . RESULTS_PAGE
415
420
shutil .copyfile (results_file , archived_results_file )
416
421
print (
417
422
"\n *** The results html page is located at: ***\n " + results_file )
0 commit comments