Skip to content

Commit 9823739

Browse files
committed
Update MasterQA settings parsing
1 parent 9799152 commit 9823739

File tree

1 file changed

+37
-32
lines changed

1 file changed

+37
-32
lines changed

seleniumbase/masterqa/master_qa.py

Lines changed: 37 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,6 @@
99
from seleniumbase.config import settings
1010
from 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:&nbsp;&nbsp;<td><a href="%s">%s</a></tr>
384389
<tr><td>RESULTS TABLE:&nbsp;&nbsp;<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

Comments
 (0)