bugfix: UnicodeDecodeError in Python2.7

This commit is contained in:
debugtalk
2018-07-26 11:46:46 +08:00
parent 62bc08dde6
commit e3d17d27d1
5 changed files with 17 additions and 7 deletions

View File

@@ -115,7 +115,7 @@ class HttpSession(requests.Session):
def log_print(request_response):
msg = "\n================== {} details ==================\n".format(request_response)
for key, value in self.meta_data[request_response].items():
msg += "{:<16} : {}\n".format(key, value)
msg += "{:<16} : {}\n".format(key, repr(value))
logger.log_debug(msg)
# record original request info

View File

@@ -261,6 +261,10 @@ class Context(object):
def validate(self, validators, resp_obj):
""" make validations
"""
if not validators:
return
logger.log_info("start to validate.")
self.evaluated_validators = []
validate_pass = True

View File

@@ -197,14 +197,14 @@ class Runner(object):
err_req_msg = "request: \n"
err_req_msg += "headers: {}\n".format(parsed_request.pop("headers", {}))
for k, v in parsed_request.items():
err_req_msg += "{}: {}\n".format(k, v)
err_req_msg += "{}: {}\n".format(k, repr(v))
logger.log_error(err_req_msg)
# log response
err_resp_msg = "response: \n"
err_resp_msg += "status_code: {}\n".format(resp_obj.status_code)
err_resp_msg += "headers: {}\n".format(resp_obj.headers)
err_resp_msg += "content: {}\n".format(resp_obj.content)
err_resp_msg += "content: {}\n".format(repr(resp_obj.text))
logger.log_error(err_resp_msg)
raise

View File

@@ -26,7 +26,7 @@ class TestCase(unittest.TestCase):
try:
self.test_runner.run_test(self.testcase_dict)
except exceptions.MyBaseFailure as ex:
self.fail(str(ex))
self.fail(repr(ex))
finally:
if hasattr(self.test_runner.http_client_session, "meta_data"):
self.meta_data = self.test_runner.http_client_session.meta_data

View File

@@ -10,7 +10,8 @@ import random
import re
from httprunner import exceptions, logger, utils
from httprunner.compat import OrderedDict, basestring, numeric_types
from httprunner.compat import (OrderedDict, basestring, builtin_str,
numeric_types, str)
from httprunner.utils import FileUtils
variable_regexp = r"\$([\w_]+)"
@@ -627,7 +628,9 @@ def substitute_variables_with_mapping(content, mapping):
# content is a variable
content = value
else:
content = content.replace(var, str(value))
if not isinstance(value, str):
value = builtin_str(value)
content = content.replace(var, value)
return content
@@ -850,9 +853,12 @@ class TestcaseParser(object):
content = variable_value
else:
# content contains one or several variables
if not isinstance(variable_value, str):
variable_value = builtin_str(variable_value)
content = content.replace(
"${}".format(variable_name),
str(variable_value), 1
variable_value, 1
)
return content