接口自动化框架是如何搭建的?
1 框架文件架构
2优势:
(1) 采用的yaml作为测试用例,对测试用例做了非常严格的规范,name,request(method,url),validator,
(2) 支持多种请求方式和传参方式 Get:params,Post:表单和json传参,也支持文件上传,同时包括内置MD5,Base64,签名和加密算法
(3) 支持轻量级的接口关联,支持正则和json提取
(4) 支持热加载(在代码执行过程中自动在yaml中执行外部函数)
(5) 框架支持多种断言方式,(相等,包含,数据库断言)
(6) 框架支持基于yaml的数据驱动
(7) 框架支持多种环境切换
接口自动化框架YAML测试用例规范:
一 一级关键字必须包含:name,base_url,request,validate,在一级关键字request下必须包含:method,url
二传参方式:
1get请求:必须通过params传参
2post请求:传json格式,通过json传参
传表单格式,通过data传参
3文件上传: 使用files传参
三接口关联:
支持多种提取方式,正则表达式跟jsonpath表达式提取
Extract:
Access_token:”access_token”:”(.*?)” #正则
Expires_in:$.expires_in #jsonpath
取值方式:read_extract_data是热加载的方法名,access_token是提取的变量名
四 热加载:
1在hotloads目录下创建一个py文件并建立一个类(自定义),然后写方法,注意返回值需要字符串就返回字符串,需要整形就返回整形
#获得随机数,需要字符串 返回的字符串
Def get_random(self,min,max):
Rm =random.randomint(int(min),int(max))
Return str(rm)
2在测试用例当中传入类的对象,如DebugTalk()
@pytest.mark.parameterize(‘caseinfo’,read_testcase_yaml(‘path’)
Def test_create_flga(self,caseinfo):
Request(DebugTalk()).standard_yaml(caseinfo)
3在YAML测试用例中调用函数,如:
Json:{“tag”:{“name”:”测试${get_random(100,900)}”}}
五此框架支持两种断言方式:分别是equals和contains断言

浙公网安备 33010602011771号