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 = [