mirror of
https://github.com/httprunner/httprunner.git
synced 2026-06-11 18:59:39 +08:00
refactor: dumps request and response headers/body, display indented json in report
This commit is contained in:
@@ -1,5 +1,11 @@
|
|||||||
# Release History
|
# 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)
|
## 2.4.3 (2019-12-16)
|
||||||
|
|
||||||
**Added**
|
**Added**
|
||||||
|
|||||||
@@ -110,6 +110,19 @@ def stringify_summary(summary):
|
|||||||
record["response_time"] = __get_total_response_time(meta_datas_expanded)
|
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):
|
def __stringify_request(request_data):
|
||||||
""" stringfy HTTP request data
|
""" stringfy HTTP request data
|
||||||
|
|
||||||
@@ -140,8 +153,8 @@ def __stringify_request(request_data):
|
|||||||
"""
|
"""
|
||||||
for key, value in request_data.items():
|
for key, value in request_data.items():
|
||||||
|
|
||||||
if isinstance(value, list):
|
if isinstance(value, (list, dict)):
|
||||||
value = json.dumps(value, indent=2, ensure_ascii=False)
|
value = dumps_json(value)
|
||||||
|
|
||||||
elif isinstance(value, bytes):
|
elif isinstance(value, bytes):
|
||||||
try:
|
try:
|
||||||
@@ -189,8 +202,8 @@ def __stringify_response(response_data):
|
|||||||
"""
|
"""
|
||||||
for key, value in response_data.items():
|
for key, value in response_data.items():
|
||||||
|
|
||||||
if isinstance(value, list):
|
if isinstance(value, (list, dict)):
|
||||||
value = json.dumps(value, indent=2, ensure_ascii=False)
|
value = dumps_json(value)
|
||||||
|
|
||||||
elif isinstance(value, bytes):
|
elif isinstance(value, bytes):
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -232,14 +232,10 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>{{key}}</th>
|
<th>{{key}}</th>
|
||||||
<td>
|
<td>
|
||||||
{% if key == "headers" %}
|
{% if key in ["headers", "body"] %}
|
||||||
{% for header_key, header_value in req_resp.request.headers.items() %}
|
<pre>{{ value | e }}</pre>
|
||||||
<div>
|
|
||||||
<strong>{{ header_key }}</strong>: {{ header_value }}
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{{value}}
|
{{value}}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -254,19 +250,13 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>{{key}}</th>
|
<th>{{key}}</th>
|
||||||
<td>
|
<td>
|
||||||
{% if key == "headers" %}
|
{% if key == "content" %}
|
||||||
{% for header_key, header_value in req_resp.response.headers.items() %}
|
|
||||||
<div>
|
|
||||||
<strong>{{ header_key }}</strong>: {{ header_value }}
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
{% elif key == "content" %}
|
|
||||||
{% if "image" in req_resp.response.content_type %}
|
{% if "image" in req_resp.response.content_type %}
|
||||||
<img src="{{ req_resp.response.content }}" />
|
<img src="{{ req_resp.response.content }}" />
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ value }}
|
{{ value }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% elif key in ["text", "json"] %}
|
{% elif key in ["headers", "text", "json"] %}
|
||||||
<pre>{{ value | e }}</pre>
|
<pre>{{ value | e }}</pre>
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ value }}
|
{{ value }}
|
||||||
|
|||||||
Reference in New Issue
Block a user