作者:听海的音_104 | 来源:互联网 | 2023-07-21 20:26
       之前用过Jmeter和Postman做http接口请求,因工作需要需用代码自动化跑覆盖,我用的是python语言;经过快2周的实践,已经基本可以实现接口自动化,现将使用过程中遇到的问题和大家分享下。
 
1、请求https安全问题:
1.1 使用过程中报错SSL errorException:
这种问题基本在请求里加入一个参数就可以搞定,verify = False;
requests.post/get(url,param,verify = False)即可。
1.2 ...\site-packages\urllib3\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  InsecureRequestWarning)
这种警告信息,在我们做接口测试中可忽略,如果想不显示在控制台,可进行如下操作:
import urllib3
urllib3.disable.warning()
 
2、请求post中入参问题:
2.1 会报各种问题,例如:参数不能为空、请求后结果报错bizerror...等等;基本这种情况可以确定是传递的param参数格式问题或者指定的content type格式问题,以下用"content-type":'application/x-www-form-urlencoded; charset=UTF-8'为例,这些从Request-Headers中即可拿到。
content-type确定后,看data,从Form Data中可看到,数据的大概格式,此处处理要特别小心,很容易出错,但简单归纳就是key-value形式传递;
filterMap即为key,后面的{...}即为value,value需要通过json解析;
实际传递时需要参数格式为data= {'filterMap':json.dumps(value)}
如果这步搞定,基本post请求算是成功了,具体的业务和数据传递不同当自行分析处理,如果有不明白的可以留言给我,一起探讨。
 
框架用的是unittest,数据核对断言,清除等、有的点没有一一去罗列,暂时写这些,希望能帮到需要的人吧!