feat: genernate html report with specified report file

This commit is contained in:
nee
2019-09-14 15:36:01 +08:00
parent 2ebc5a6c75
commit 48064b9004
4 changed files with 25 additions and 4 deletions

View File

@@ -10,7 +10,7 @@ from httprunner import (__version__, exceptions, loader, logger, parser,
class HttpRunner(object):
def __init__(self, failfast=False, save_tests=False, report_template=None, report_dir=None,
log_level="INFO", log_file=None):
log_level="INFO", log_file=None, report_file=None):
""" initialize HttpRunner.
Args:
@@ -35,6 +35,7 @@ class HttpRunner(object):
self.save_tests = save_tests
self.report_template = report_template
self.report_dir = report_dir
self.report_file = report_file
self._summary = None
def _add_tests(self, testcases):
@@ -207,7 +208,8 @@ class HttpRunner(object):
report_path = report.render_html_report(
self._summary,
self.report_template,
self.report_dir
self.report_dir,
self.report_file
)
return report_path

View File

@@ -271,7 +271,7 @@ def __stringify_meta_datas(meta_datas):
__stringify_response(data["response"])
def render_html_report(summary, report_template=None, report_dir=None):
def render_html_report(summary, report_template=None, report_dir=None, report_file=None):
""" render html report with specified report name and template
Args:
@@ -298,7 +298,10 @@ def render_html_report(summary, report_template=None, report_dir=None):
start_at_timestamp = int(summary["time"]["start_at"])
summary["time"]["start_datetime"] = datetime.fromtimestamp(start_at_timestamp).strftime('%Y-%m-%d %H:%M:%S')
report_path = os.path.join(report_dir, "{}.html".format(start_at_timestamp))
if report_file:
report_path = os.path.join(report_dir, report_file)
else:
report_path = os.path.join(report_dir, "{}.html".format(start_at_timestamp))
with io.open(report_template, "r", encoding='utf-8') as fp_r:
template_content = fp_r.read()