From 45207bbf73b160ec95977b638d4bfa9025a47a73 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Tue, 27 Mar 2018 17:59:57 +0800 Subject: [PATCH] fix #123: display report detail data in order --- httprunner/report.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/httprunner/report.py b/httprunner/report.py index d8dcbb71..6d55c6dd 100644 --- a/httprunner/report.py +++ b/httprunner/report.py @@ -5,7 +5,7 @@ import os import platform import time import unittest -from collections import Iterable +from collections import Iterable, OrderedDict from datetime import datetime from httprunner import logger @@ -69,7 +69,13 @@ def make_json_serializable(raw_json): serializable_json[key] = value - return json.dumps(serializable_json, indent=2, ensure_ascii=False) + keyorder = ["url", "method", "request_headers", "request_body", "request_time", + "status_code", "response_headers", "response_body", + "content_size", "response_time", "elapsed"] + serializable_ordered_json = OrderedDict( + sorted(serializable_json.items(), key=lambda x:keyorder.index(x[0]))) + + return json.dumps(serializable_ordered_json, indent=2, ensure_ascii=False) class HtmlTestResult(unittest.TextTestResult):