当前位置: 首页>>代码示例>>Python>>正文


Python Reporter.output_report方法代码示例

本文整理汇总了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)
开发者ID:dkentw,项目名称:pi-tester,代码行数:104,代码来源:TestEngine.py


注:本文中的reporter.Reporter.output_report方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。