diff --git a/httprunner/client.py b/httprunner/client.py index 3de42679..4444e81d 100644 --- a/httprunner/client.py +++ b/httprunner/client.py @@ -6,6 +6,7 @@ import time import requests import urllib3 from httprunner import logger +from httprunner.compat import urljoin from httprunner.exception import ParamsError from requests import Request, Response from requests.exceptions import (InvalidSchema, InvalidURL, MissingSchema, @@ -46,7 +47,7 @@ class HttpSession(requests.Session): if absolute_http_url_regexp.match(path): return path elif self.base_url: - return "%s%s" % (self.base_url, path) + return urljoin(self.base_url, path) else: raise ParamsError("base url missed!") diff --git a/httprunner/compat.py b/httprunner/compat.py index 3753affc..75d731fe 100644 --- a/httprunner/compat.py +++ b/httprunner/compat.py @@ -34,6 +34,7 @@ except ImportError: if is_py2: from urllib3.packages.ordered_dict import OrderedDict + from urlparse import urljoin builtin_str = str bytes = str @@ -44,6 +45,7 @@ if is_py2: elif is_py3: from collections import OrderedDict + from urllib.parse import urljoin builtin_str = str str = str