diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index e9eb25c8..492e365c 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,5 +1,11 @@ # Release History +## 2.4.4 (2019-12-17) + +**Changed** + +- refactor: dumps request and response headers/body, display indented json in report + ## 2.4.3 (2019-12-16) **Added** diff --git a/httprunner/report.py b/httprunner/report.py index 1cc69d3b..82bebf3d 100644 --- a/httprunner/report.py +++ b/httprunner/report.py @@ -110,6 +110,19 @@ def stringify_summary(summary): record["response_time"] = __get_total_response_time(meta_datas_expanded) +def dumps_json(value): + """ dumps json value to indented string + + Args: + value (dict): raw json data + + Returns: + str: indented json dump string + + """ + return json.dumps(value, indent=2, ensure_ascii=False) + + def __stringify_request(request_data): """ stringfy HTTP request data @@ -140,8 +153,8 @@ def __stringify_request(request_data): """ for key, value in request_data.items(): - if isinstance(value, list): - value = json.dumps(value, indent=2, ensure_ascii=False) + if isinstance(value, (list, dict)): + value = dumps_json(value) elif isinstance(value, bytes): try: @@ -189,8 +202,8 @@ def __stringify_response(response_data): """ for key, value in response_data.items(): - if isinstance(value, list): - value = json.dumps(value, indent=2, ensure_ascii=False) + if isinstance(value, (list, dict)): + value = dumps_json(value) elif isinstance(value, bytes): try: diff --git a/httprunner/static/report_template.html b/httprunner/static/report_template.html index 209c18ae..f943172a 100644 --- a/httprunner/static/report_template.html +++ b/httprunner/static/report_template.html @@ -232,14 +232,10 @@
{{ value | e }}
{% else %}
- {{value}}
+ {{value}}
{% endif %}
{{ value | e }}
{% else %}
{{ value }}