99from seleniumbase .config import settings
1010from seleniumbase .fixtures import js_utils
1111
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-
2112# This tool allows testers to quickly verify pages while assisted by automation
2213
2314
@@ -27,10 +18,22 @@ def setUp(self):
2718 self .check_count = 0
2819 self .auto_close_results_page = False
2920 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 )
3033 self .__manual_check_setup ()
3134 if self .headless :
3235 self .auto_close_results_page = True
33- if START_IN_FULL_SCREEN_MODE :
36+ if self . START_IN_FULL_SCREEN_MODE :
3437 self .maximize_window ()
3538
3639 def verify (self , * args ):
@@ -73,26 +76,28 @@ def __manual_check_setup(self):
7376 def __clear_out_old_logs (
7477 self , archive_past_runs = True , get_log_folder = False ):
7578 abs_path = os .path .abspath ('.' )
76- file_path = abs_path + "/%s" % LATEST_REPORT_DIR
79+ file_path = abs_path + "/%s" % self . LATEST_REPORT_DIR
7780 if not os .path .exists (file_path ):
7881 os .makedirs (file_path )
7982
8083 if archive_past_runs :
8184 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 ))
8487 archive_dir = "%s/../%s/log_%s" % (
85- file_path , ARCHIVE_DIR , archive_timestamp )
88+ file_path , self . ARCHIVE_DIR , archive_timestamp )
8689 shutil .move (file_path , archive_dir )
8790 os .makedirs (file_path )
8891 if get_log_folder :
8992 return archive_dir
9093 else :
9194 # Just delete bad pages to make room for the latest run.
9295 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 )]
96101 for f in filelist :
97102 os .remove ("%s/%s" % (file_path , f ))
98103
@@ -137,7 +142,7 @@ def __jq_confirm_dialog(self, question):
137142
138143 def __manual_page_check (self , * args ):
139144 if not args :
140- instructions = DEFAULT_VALIDATION_MESSAGE # self.verify()
145+ instructions = self . DEFAULT_VALIDATION_MESSAGE # self.verify()
141146 else :
142147 instructions = str (args [0 ])
143148 if len (args ) > 1 :
@@ -149,7 +154,7 @@ def __manual_page_check(self, *args):
149154 elif instructions and "?" in instructions :
150155 question = instructions
151156
152- wait_time_before_verify = WAIT_TIME_BEFORE_VERIFY
157+ wait_time_before_verify = self . WAIT_TIME_BEFORE_VERIFY
153158 if self .verify_delay :
154159 wait_time_before_verify = float (self .verify_delay )
155160 # Allow a moment to see the full page before the dialog box pops up
@@ -237,7 +242,7 @@ def __manual_page_check(self, *args):
237242 return 1
238243 else :
239244 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 )
241246 self .page_results_list .append (
242247 '"%s","%s","%s","%s","%s","%s","%s","%s"' % (
243248 self .manual_check_count ,
@@ -250,8 +255,8 @@ def __manual_page_check(self, *args):
250255 "*" ))
251256 return 0
252257
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
255260 for x in range (int (timeout * 20 )):
256261 try :
257262 alert = self .driver .switch_to .alert
@@ -277,7 +282,7 @@ def __add_failure(self, exception=None):
277282
278283 self .incomplete_runs += 1
279284 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 )
281286 self .page_results_list .append (
282287 '"%s","%s","%s","%s","%s","%s","%s","%s"' % (
283288 "ERR" ,
@@ -298,8 +303,8 @@ def __add_failure(self, exception=None):
298303
299304 def __add_bad_page_log_file (self ):
300305 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 )
303308 f = open (log_file , 'w' )
304309 h_p1 = '''"Num","Result","Screenshot","URL","Browser","Epoch Time",'''
305310 h_p2 = '''"Verification Instructions","Additional Info"\n '''
@@ -311,8 +316,8 @@ def __add_bad_page_log_file(self):
311316
312317 def __add_results_page (self , html ):
313318 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
316321 results_file = "%s/%s" % (file_path , results_file_name )
317322 f = open (results_file , 'w' )
318323 f .write (html )
@@ -345,7 +350,7 @@ def __process_manual_check_results(self, auto_close_results_page=False):
345350 log_string = self .__clear_out_old_logs (get_log_folder = True )
346351 log_folder = log_string .split ('/' )[- 1 ]
347352 abs_path = os .path .abspath ('.' )
348- file_path = abs_path + "/%s" % ARCHIVE_DIR
353+ file_path = abs_path + "/%s" % self . ARCHIVE_DIR
349354 log_path = "%s/%s" % (file_path , log_folder )
350355 web_log_path = "file://%s" % log_path
351356
@@ -376,9 +381,9 @@ def __process_manual_check_results(self, auto_close_results_page=False):
376381 %s</h1>''' % summary_table
377382
378383 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
382387 log_table = '''<p><p><p><p><h2><table><tbody>
383388 <tr><td>LOG FILES LINK: <td><a href="%s">%s</a></tr>
384389 <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):
411416 report_html = '<html><head>%s</head><body>%s</body></html>' % (
412417 style , table_view )
413418 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
415420 shutil .copyfile (results_file , archived_results_file )
416421 print (
417422 "\n *** The results html page is located at: ***\n " + results_file )
0 commit comments