本文整理汇总了Python中reporter.Reporter.output_report方法的典型用法代码示例。如果您正苦于以下问题:Python Reporter.output_report方法的具体用法?Python Reporter.output_report怎么用?Python Reporter.output_report使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reporter.Reporter
的用法示例。
在下文中一共展示了Reporter.output_report方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from reporter import Reporter [as 别名]
# 或者: from reporter.Reporter import output_report [as 别名]
#.........这里部分代码省略.........
self.test_result[case_classify]['summary'] = {
'ran_cases': ran_cases,
'passed_cases': passed_cases,
'failed_cases': failed_cases,
'total_run_time': total_run_time
}
return True
def _replace_attribue_with_vaiablespool(self, obj):
from Engine.config import VariablesPool
for key in VariablesPool.__dict__.keys():
if not re.match(r'_{2}', key):
setattr(obj, key, getattr(VariablesPool, key))
def _invoke_test_case(self, case_id):
'''
:returns: the test result, the log message, the running time
:rtype: string, string, string
'''
start_time = time.time()
try:
case_classify = case_id.split('_')[0]
mod = __import__('TestCases.{0}.{0}'.format(case_classify), fromlist=[case_id])
mod_class = getattr(mod, case_id)
mod_class_inst = mod_class()
self._replace_attribue_with_vaiablespool(mod_class_inst)
run_result, log_message = getattr(mod_class_inst, 'run')()
logger.debug('Run test case: {0}.{1}'.format(case_classify, case_id))
end_time = time.time()
run_time = end_time - start_time
result = (run_result, log_message, int(run_time))
except:
test_result = False
logger.error('[RUN] TestCases.{0}.{1}'.format(case_classify, case_id))
logger.error(traceback.format_exc())
end_time = time.time()
run_time = end_time - start_time
result = ('Error', str(traceback.format_exc()), int(run_time))
return result[0], result[1], result[2]
def run_all(self):
self.run('.*')
def run(self, spec_case_id):
run_count = 0
passed_num = 0
failed_num = 0
spec_case_id = '\w' if spec_case_id == '' else spec_case_id
self.feedback.feedback_to_server(self.test_result) # this can initial feedback server.
if self.test_case_suites is False:
return
for case_classify in self.test_case_suites.keys():
if case_classify is None:
logger.error('Found a None case_classify!')
continue
total_run_time = 0
for case_id in self.test_case_suites[case_classify]['ordered_cases']:
case_run = self.test_case_suites[case_classify][case_id]['run']
# CaseID can support REGEX
pattern = re.compile(spec_case_id)
re_result = pattern.search(case_id)
if re_result is None: # skip test case
continue
logger.debug('Pattern: {0}, Match case: {1}'.format(spec_case_id, case_id))
# TestCaseSuites can control which case could be run
if case_run == '1': # filter run = 0
run_count += 1
try:
run_result, log_message, run_time = self._invoke_test_case(case_id)
except:
logger.error(traceback.format_exc())
continue
passed_num, failed_num = self._store_result(case_classify,
case_id,
run_result,
log_message,
passed_num, failed_num,
run_time)
total_run_time = total_run_time + run_time
else:
csv_file_path = self.test_case_suites[case_classify]['csv_file_path']
self._store_csv_path(case_classify, csv_file_path) # save csv_file_path in test_result
self._store_summary(case_classify, run_count, passed_num, failed_num, total_run_time)
run_count = passed_num = failed_num = 0
logger.debug('Test Result: %s' % str(self.test_result))
try:
self.feedback.feedback_to_server(self.test_result)
except:
logger.error(traceback.format_exc())
logger.error('Please check the server configuration!')
self.reporter.output_report(self.test_result)