diff --git a/httprunner/report.py b/httprunner/report.py index 37decadf..cc8e38c6 100644 --- a/httprunner/report.py +++ b/httprunner/report.py @@ -153,12 +153,6 @@ def __stringify_request(request_data): """ for key, value in request_data.items(): - if key == "body": - try: - value = json.loads(value) - except JSONDecodeError: - pass - if isinstance(value, (list, dict)): value = dumps_json(value) @@ -169,6 +163,13 @@ def __stringify_request(request_data): except UnicodeDecodeError: pass + if key == "body": + try: + # request body is in json format + value = json.loads(value) + except JSONDecodeError: + pass + elif not isinstance(value, (basestring, numeric_types, Iterable)): # class instance, e.g. MultipartEncoder() value = repr(value)