踩坑读Exel的接口参数

get请求的入参必须是字典类型, Exel读出来的数据类型是字符串必需转为字典,而post请求的入参是json为字符串类型,Exel读出来的数据类型是字符串,可以直接使用。

       def verdict(self,row,url, str_param,testname,sheet1,expect,method):

        if method=='get':
            param = eval(str_param)  # Exel读出来的数据类型是字符串,而get请求的入参必须是字典类型,post请求的入参是json字符串类型
            API_data = ReadAPI.get(url, param, testname)
            ReadAPI.writedata(API_data,expect,sheet1,row,testname)

        elif method=='post':
            API_data = ReadAPI.post(url, str_param, testname)
            ReadAPI.writedata(API_data, expect, sheet1, row, testname)

get为获取数据,入参为params;post为上传数据,入参为data

    def get(self, url, param):
        try:
            r = requests.get(url, params=param, timeout=1)
            r.raise_for_status()  # 如果响应状态码不是 200,就主动抛出异常
        except requests.RequestException as e:
            print(e)
        else:
            js = json.dumps(r.json())

            return [r.json(), r.elapsed.total_seconds(),js,r.status_code]

    def post(self, url, param):

        try:
            r = requests.post(url, data=param, timeout=1)
            r.raise_for_status()  # 如果响应状态码不是 200,就主动抛出异常
        except requests.RequestException as e:
            print(e)
        else:
            js = json.dumps(r.json())

            return [r.json(), r.elapsed.total_seconds(), js, r.status_code]

发布了58 篇原创文章 · 获赞 18 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_42846555/article/details/99679734