Exemplo n.º 1
0
    def __send_mail(self, data):
        receivers = self.yaml_repore.get('receivers')
        subject = self.yaml_repore.get('title')
        host = self.yaml_repore.get('server.host')
        port = self.yaml_repore.get('server.port')

        # 获取mail_html路径
        html_path = os.path.dirname(__file__) + '/tpl/mail_html.txt'
        # 基础模板文件
        html_code = Utils.open_file(html_path)
        # 邮件发送内容
        content = Template(html_code).render({
            "title":
            subject,
            "all_case_sum":
            data['all_case_sum'],
            "success_case_sum":
            data['success_case_sum'],
            "errors_case_sum":
            data['errors_case_sum'],
            "skipped_case_sum":
            data['skipped_case_sum'],
            "report_path":
            str(host) + ':' + str(port) + '/report.html'
        })
        # 发送邮件
        self._mail.send(receivers, subject, content)
Exemplo n.º 2
0
    def get_cases_content_html(self, data):
        table = self.yaml_repore.get('table')
        new_titles = []
        for k, v in table.items():
            obj = {'name': k, 'text': v}
            new_titles.append(obj)

        content = Utils.open_file(
            os.path.dirname(__file__) + '/tpl/content.html')
        return Template(content).render(datas=data, titles=new_titles)
Exemplo n.º 3
0
    def build(self):
        get_data = self.get_output_field_data()

        # 获取template路径
        code_path = os.path.dirname(__file__) + '/tpl/template.html'
        # 基础模板文件
        template_html = Utils.open_file(code_path)
        html = Template(template_html).render(get_data)
        # 写入内容
        Utils.write_file(self.report_html_path, html)
        # 发送邮件
        if self.yaml_config.get('reportSendMail') is True:
            self.__send_mail(get_data)
Exemplo n.º 4
0
 def __get_cases_nav_html(self, data):
     cases = self.yaml_repore.get("cases")
     new_data = []
     for k, v in cases.items():
         obj = {'text': v}
         if k == 'all':
             obj['num'] = data['all_case_sum']
             obj['bg'] = '#428bca'
         elif k == 'success':
             obj['num'] = data['success_case_sum']
             obj['bg'] = '#3c763d'
         elif k == 'error':
             obj['num'] = data['errors_case_sum']
             obj['bg'] = '#FF4000'
         else:
             obj['num'] = data['skipped_case_sum']
             obj['bg'] = '#0099CC'
         new_data.append(obj)
     return Template(
         Utils.open_file(os.path.dirname(__file__) +
                         '/tpl/nav.html')).render(datas=new_data)
Exemplo n.º 5
0
 def __get_cases_chart_html(self, data):
     return Template(
         Utils.open_file(os.path.dirname(__file__) +
                         '/tpl/chart.html')).render(data)