From c9fbceb92cea6a9091a7e470786b630b45a8d021 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Thu, 2 Aug 2018 12:46:19 +0800 Subject: [PATCH] bugfix: make compatible with Python 2.7 --- httprunner/response.py | 7 +++++-- tests/test_response.py | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/httprunner/response.py b/httprunner/response.py index 547cae9f..7bfda117 100644 --- a/httprunner/response.py +++ b/httprunner/response.py @@ -4,9 +4,9 @@ import json import re from httprunner import exceptions, logger, testcase, utils -from httprunner.compat import OrderedDict, basestring -from requests.structures import CaseInsensitiveDict +from httprunner.compat import OrderedDict, basestring, is_py2 from requests.models import PreparedRequest +from requests.structures import CaseInsensitiveDict text_extractor_regexp_compile = re.compile(r".*\(.*\).*") @@ -197,6 +197,9 @@ class ResponseObject(object): else: value = self._extract_field_with_delimiter(field) + if is_py2 and isinstance(value, unicode): + value = value.encode("utf-8") + msg += "\t=> {}".format(value) logger.log_debug(msg) diff --git a/tests/test_response.py b/tests/test_response.py index df8c275c..06d78649 100644 --- a/tests/test_response.py +++ b/tests/test_response.py @@ -1,6 +1,6 @@ import requests from httprunner import exceptions, response, utils -from httprunner.compat import bytes, str +from httprunner.compat import basestring, bytes from tests.base import HTTPBIN_SERVER, ApiServerUnittest @@ -259,7 +259,7 @@ class TestResponse(ApiServerUnittest): ] extract_binds_dict = resp_obj.extract_response(extract_binds_list) - self.assertIsInstance(extract_binds_dict["resp_content"], str) + self.assertIsInstance(extract_binds_dict["resp_content"], basestring) self.assertIn("httpbin.org", extract_binds_dict["resp_content"]) extract_binds_list = [