最新要闻

广告

手机

英国房地产因利率上升陷入困境 房价正以2011年来最快速度下跌

英国房地产因利率上升陷入困境 房价正以2011年来最快速度下跌

宁夏评选出上半年10名“宁夏好人” 95后消防员因敬业奉献入选

宁夏评选出上半年10名“宁夏好人” 95后消防员因敬业奉献入选

家电

接口自动化测试框架实战训练营第一天

来源:博客园

一、目前市面上的自动化的行情

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库的常用方法

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;传输的数据作为一个字典来处理

三、全面认识reponse库的常用方法

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

关键词: