From 251a0a84e7501fbcf332512a0ac824c625d327bd Mon Sep 17 00:00:00 2001 From: debugtalk Date: Fri, 30 Mar 2018 18:47:07 +0800 Subject: [PATCH] log extract field --- httprunner/response.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/httprunner/response.py b/httprunner/response.py index 94a92e7a..226642fb 100644 --- a/httprunner/response.py +++ b/httprunner/response.py @@ -98,10 +98,21 @@ class ResponseObject(object): def extract_field(self, field): """ extract value from requests.Response. """ - if text_extractor_regexp_compile.match(field): - return self._extract_field_with_regex(field) - else: - return self._extract_field_with_delimiter(field) + msg = "extract field: {}".format(field) + + try: + if text_extractor_regexp_compile.match(field): + value = self._extract_field_with_regex(field) + else: + value = self._extract_field_with_delimiter(field) + + msg += "\t=> {}".format(value) + logger.log_debug(msg) + except exception.ParseResponseError: + logger.log_error("failed to extract field: {}".format(field)) + raise + + return value def extract_response(self, extractors): """ extract value from requests.Response and store in OrderedDict. @@ -114,6 +125,10 @@ class ResponseObject(object): ] @return (OrderDict) variable binds ordered dict """ + if not extractors: + return {} + + logger.log_info("start to extract from response object.") extracted_variables_mapping = OrderedDict() extract_binds_order_dict = utils.convert_to_order_dict(extractors)