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)
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)
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)
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)
def __get_cases_chart_html(self, data): return Template( Utils.open_file(os.path.dirname(__file__) + '/tpl/chart.html')).render(data)