pytest+yml+requests api自动化接口测试框架操作说明

最近有同学问我发布到gitee上的接口测试框架中的一些不明白的地方。现在把之前写好的文档分享给大家。

接口自动化框架有所变动,最近几天会同步更新到gitee上。之前有同学问我为啥不用github,因为github不稳定,经常掉,其次是慢,所以就放到了gitee上。后续也会把之前的ui的框架合并到这个接口框架中来。不过需要一段时间。

  1. 框架运行流程图

  2.  

  1. Yml文件说明

host: &host http://192.168.x.xxx
page_template:
 
type: "api"
 
# 接口相关的数据
 
api_data:
   
# 是否运行,当为Nonetrue时,表示运行
   
run_whether: true
   
# 引用,访问地址
   
host: *host
   
path: /xxx/xxx/xxx/xxx/list
   
# data_type的值: params(get请求),data(post请求),json(post请求)
    #
当更改data_type里的值后,要将request_data里的data的值也进行更改.
   
data_type: data
   
request_data:
     
method: post
     
url: ${url}
     
data:
       
id: ${id}
       
name: ${name}
       
student:
       
starttime:
       
endtime:
       
desc:
       
status:
     
# 是否需要上传文件,不需要时,则不需要该字段,或不填写具体的值.
      #
目前框架中没及写files这块的逻辑
     
files:
   
# 是否有登录依赖(主要是获取token),默认值为false
   
dependence_login:
   
login_data:
     
# token_filepath不为None,大小不0,且在session有效期内,则会优先读取json文件中的token
      #
token_filepath不为None,当为0或过期了,会使用下面的login_data进行登录,
      #
然后再将token保存到token_filepath指定的json文件里.
     
token_filepath: xxx/xxx.json
     
login_data:
       
username: ${username}
       
password: ${password}
   
# 是否有case数据依赖. 默认值为false
   
dependence_case:
   
dependence_case_data:
     
# 依赖类型,目前有4种值: json(默认),request,response,sql(暂不支持,未写具体的逻辑)
     
dependence_type: response
     
# 依赖的json数据,jsonfile目录下所存放的相对位置
     
jsonfilepath:
     
# 要执行的sql语句(未实现),dependence_type的值为sql,要填该值.
     
sqlstatement:
     
# 所依赖的yml文件,dependence_typerequest response,填写该值.
      #
这部分的值有两部分组成,case层的ymlcase层写,依赖的page层的yml文件,page层维护
     
case_id: xxx/xxx.yml::all
     
# 依赖的字段,list,要写jsonpath里的提取值的表达式.
     
dependence_key:
     
# 要替换的key,这些key为当前要执行的接口里的 request_data里的data里的某一个key.
     
replace_key:
   
# 是否保存当前接口的执行的响应结果,默认值为false
   
ensure_save_response:
   
save_response:
     
# 保存的文件类型,默认值为json.值有3:json,sql,all(当为all,是同时保存为json文件,和数据库中)
     
save_type:
     
# 响应结果保存的文件名称(含路径),是相对于jsonfile目录的相对路径
     
response_filepath:
   
# 是否需要进行数据校验(一般用于查询接口.来校验并找到目标数据后,保存起来,供其他接口进行调用),默认值为false
   
ensure_check:
   
check_data:
     
# 把当前的最终的校验保存到jsonfile目录下的,指定json文件中.
      #
一般都要填写该值,因为查询数据后,对结果进行校验,获取到目标数据后,会将目标数据中的一些字段,传递给其他的接口使用.
     
save_jsonfilepath: &web_checkdata  qingjia/web_query_check.json
     
# 当查找到目标数据时,要保存的字段.这些字段,必须为query_keys的真子集
     
save_keys: [id]
     
# 查询的字段,就是当查找到目标数据后,要从下面的一些字段中取值,并进行保存.
      #
amount为固定字段外,其余字段,均为动态字段,根据实际的需要进行填写即可
     
query_keys:
       

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值