fix #120: UnicodeEncodeError occured when response text contains Chinese in Python 2

This commit is contained in:
debugtalk
2018-03-21 22:34:49 +08:00
parent 6d05ac32dc
commit f177ffe680
2 changed files with 5 additions and 1 deletions

View File

@@ -1,7 +1,7 @@
__title__ = 'HttpRunner'
__description__ = 'One-stop solution for HTTP(S) testing.'
__url__ = 'https://github.com/HttpRunner/HttpRunner'
__version__ = '1.2.2-beta'
__version__ = '1.2.3-beta'
__author__ = 'debugtalk'
__author_email__ = 'mail@debugtalk.com'
__license__ = 'MIT'

View File

@@ -5,6 +5,7 @@ import requests
import urllib3
from httprunner import logger
from httprunner.exception import ParamsError
from httprunner.utils import PYTHON_VERSION
from requests import Request, Response
from requests.exceptions import (InvalidSchema, InvalidURL, MissingSchema,
RequestException)
@@ -113,7 +114,10 @@ class HttpSession(requests.Session):
self.meta_data["request_body"] = response.request.body
self.meta_data["status_code"] = response.status_code
self.meta_data["response_headers"] = response.headers
self.meta_data["response_body"] = response.text
if PYTHON_VERSION == 2 and isinstance(self.meta_data["response_body"], unicode):
self.meta_data["response_body"] = self.meta_data["response_body"].encode("utf-8")
logger.log_debug("response status_code: {}".format(self.meta_data["status_code"]))
logger.log_debug("response headers: {}".format(self.meta_data["response_headers"]))