requests、logging是python第三方库,pytest框架,yaml文件、allure是pytest插件、jenkins持续集成工具1、基于接口工具类的自动化(接口功能测试),适用于中小型项目或企业,10-15k 40%-45%
(资料图)
postman+newman+git+jenkins
jmeter+ant+git+jenkins
2、基于代码类接口自动化,适用于大中型的企业或项目,15-20k 40%-45%
python+requests+pytest+yaml+allure+logging+jenkins+热加载 Java 自动化使用比较低
httprunner 基于框架类的自动化测试
robotframework 基于框架类的自动化测试
3、基于平台类接口自动化,适用于特大型企业或项目,30k以上,10%测试开发
requests是python第三方库安装命令方法如下: pip install requests
python的默认的测试用来规则1、模块名必须以test_开头或_test结尾;2、类名必须以Test开头;3、测试用例名必须以test_开头
#核心的六个方法#post、delete、put、get =======增、删、改、查def test_get_token(self): requests.post() requests.delete() requests.put() requests.get() requests.request() requests.session()
Ctrl+鼠标点击,可进入该方法如下图:
def post(url, data=None, json=None, **kwargs): #发送post请求 #url: #data: #json: #**kwargs:def delete(url, **kwargs): #发送delete请求 #url: #**kwargs:可变长度的字典def put(url, data=None, **kwargs): #发送put请求 #url: #data: #**kwargs:可变长度的字典def get(url, params=None, **kwargs): #发送get请求 #url: #params: #**kwargs:可变长度的字典--------------前边四个方法都会调用下面的方法------------------def request(method, url, **kwargs): #根据method传参的请求方式发送请求 #method:接收方法例如get、post,传给session里面的request方法的method #url:接收url,传给session里面的request方法的url #**kwargs:可变长度的字典,接收**kwargs,传给session里面的request方法的 params,data,headers,cookies,files,auth,timeout,allow_redirects,proxies,hookse,stream,verify,cert,json,--------------request方法都会调用下面session里面的request方法------------------#session里面的request方法 def request(self, method, #请求方式 url, #请求路径 params=None, #get请求传参 data=None, #post或put请求传参 headers=None, #请求头 cookies=None, #请求头里的cookie信息 files=None, #文件上传 auth=None, #文件上传 timeout=None, allow_redirects=True, proxies=None, hooks=None, stream=None, #文件下载 verify=None, cert=None, json=None, #post请求的第二种传参方式 ):----------------------------------------------------def session(): #获得回话对象,获得的是会话对象
*args和**kwargs有什么区别*args:传输的数据作为一个元组来处理**kwargs;传输的数据作为一个字典来处理
res.text #响应的文本信息(返回字符串) res.content #响应的字节信息(返回字节数据) res.json() #响应的json信息(返回json数据,python是字典) res.status_code #响应的状态码信息(返回状态码) res.reason #响应的状态信息(返回状态信息) res.cookies #响应的cookies信息(返回响应cookie) res.encoding #响应的编码格式(返回响应编码) res.headers #响应的响应头信息(返回响应头) res.request.xxxxxx #在响应里得到请求信息(返回请求的一些数据)
get请求通过params传参post请求通过data和json传参
files data 除了json用json传参,其他全部用data
标签: