Exemplo n.º 1
0
    def run_tests(self, tests_mapping):
        """ run testcase/testsuite data
        """
        # parse tests
        self.exception_stage = "parse tests"
        parsed_tests_mapping = parser.parse_tests(tests_mapping)

        if self.save_tests:
            utils.dump_tests(parsed_tests_mapping, "parsed")

        # add tests to test suite
        self.exception_stage = "add tests to test suite"
        test_suite = self._add_tests(parsed_tests_mapping)

        # run test suite
        self.exception_stage = "run test suite"
        results = self._run_suite(test_suite)

        # aggregate results
        self.exception_stage = "aggregate results"
        self._summary = self._aggregate(results)

        # generate html report
        self.exception_stage = "generate html report"
        report.stringify_summary(self._summary)

        if self.save_tests:
            utils.dump_summary(self._summary, tests_mapping["project_mapping"])

        report_path = report.render_html_report(self._summary,
                                                self.report_template,
                                                self.report_dir)

        return report_path
Exemplo n.º 2
0
 def gen_html_report(self,
                     html_report_name=None,
                     html_report_template=None):
     """ generate html report and return report path
     @param (str) html_report_name:
         output html report file name
     @param (str) html_report_template:
         report template file path, template should be in Jinja2 format
     """
     return render_html_report(self.summary, html_report_name,
                               html_report_template)
Exemplo n.º 3
0
 def gen_html_report(self, html_report_name=None, html_report_template=None):
     """ generate html report and return report path
     @param (str) html_report_name:
         output html report file name
     @param (str) html_report_template:
         report template file path, template should be in Jinja2 format
     """
     return render_html_report(
         self.summary,
         html_report_name,
         html_report_template
     )
Exemplo n.º 4
0
    def gen_html_report(self,
                        html_report_name=None,
                        html_report_template=None):
        """ generate html report and return report path.

        Args:
            html_report_name (str): output html report file name
            html_report_template (str): report template file path, template should be in Jinja2 format

        Returns:
            str: generated html report path

        """
        return report.render_html_report(self.summary, html_report_name,
                                         html_report_template)
Exemplo n.º 5
0
    def gen_html_report(self, html_report_name=None, html_report_template=None):
        """ generate html report and return report path.

        Args:
            html_report_name (str): output html report file name
            html_report_template (str): report template file path, template should be in Jinja2 format

        Returns:
            str: generated html report path

        """
        if not self.summary:
            raise exceptions.MyBaseError("run method should be called before gen_html_report.")

        self.exception_stage = "generate report"
        return report.render_html_report(
            self.summary,
            html_report_name,
            html_report_template
        )
Exemplo n.º 6
0
    def run_tests(self, tests_mapping):
        """ run testcase/testsuite data
        """
        project_mapping = tests_mapping.get("project_mapping", {})
        if self.save_tests:
            utils.dump_logs(tests_mapping, project_mapping, "loaded")

        # parse tests
        self.exception_stage = "parse tests"
        parsed_testcases = parser.parse_tests(tests_mapping)

        if self.save_tests:
            utils.dump_logs(parsed_testcases, project_mapping, "parsed")

        # add tests to test suite
        self.exception_stage = "add tests to test suite"
        test_suite = self._add_tests(parsed_testcases)  # 添加为unittest框架识别的test_suite

        # run test suite
        self.exception_stage = "run test suite"
        results = self._run_suite(test_suite)

        # aggregate results
        self.exception_stage = "aggregate results"
        self._summary = self._aggregate(results)  # 解析返回结果为正确的json格式

        # generate html report
        self.exception_stage = "generate html report"
        report.stringify_summary(self._summary)

        if self.save_tests:
            utils.dump_logs(self._summary, project_mapping, "summary")
        report_path = report.render_html_report(
            self._summary,
            self.report_template,
            self.report_dir
        )

        return report_path
Exemplo n.º 7
0
 def render_html_report(self,
                        html_report_name=None,
                        html_report_template=None):
     return render_html_report(get_summary(self.test_result),
                               html_report_name, html_report_template)