mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 02:21:29 +08:00
Merge pull request #794 from httprunner/leo_dev
2.4.4 (2019-12-17) **Changed** - refactor: dumps request and response headers/body, display indented json in report
This commit is contained in:
@@ -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**
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -232,14 +232,10 @@
|
||||
<tr>
|
||||
<th>{{key}}</th>
|
||||
<td>
|
||||
{% if key == "headers" %}
|
||||
{% for header_key, header_value in req_resp.request.headers.items() %}
|
||||
<div>
|
||||
<strong>{{ header_key }}</strong>: {{ header_value }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% if key in ["headers", "body"] %}
|
||||
<pre>{{ value | e }}</pre>
|
||||
{% else %}
|
||||
{{value}}
|
||||
{{value}}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -254,19 +250,13 @@
|
||||
<tr>
|
||||
<th>{{key}}</th>
|
||||
<td>
|
||||
{% if key == "headers" %}
|
||||
{% for header_key, header_value in req_resp.response.headers.items() %}
|
||||
<div>
|
||||
<strong>{{ header_key }}</strong>: {{ header_value }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% elif key == "content" %}
|
||||
{% if key == "content" %}
|
||||
{% if "image" in req_resp.response.content_type %}
|
||||
<img src="{{ req_resp.response.content }}" />
|
||||
{% else %}
|
||||
{{ value }}
|
||||
{% endif %}
|
||||
{% elif key in ["text", "json"] %}
|
||||
{% elif key in ["headers", "text", "json"] %}
|
||||
<pre>{{ value | e }}</pre>
|
||||
{% else %}
|
||||
{{ value }}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
@@ -267,8 +268,9 @@ class TestHttpRunner(ApiServerUnittest):
|
||||
self.assertTrue(summary["success"])
|
||||
self.assertEqual(summary["stat"]["testcases"]["total"], 1)
|
||||
self.assertEqual(summary["stat"]["teststeps"]["total"], 1)
|
||||
resp_json = json.loads(summary["details"][0]["records"][0]["meta_datas"]["data"][0]["response"]["json"])
|
||||
self.assertEqual(
|
||||
summary["details"][0]["records"][0]["meta_datas"]["data"][0]["response"]["json"]["data"],
|
||||
resp_json["data"],
|
||||
"abc"
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user