python接口自动化系列(02):yaml测试数据文件设计

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/18033074

实现目标

对测试数据进行设计,数据设计决定了后续读取数据的代码该如何实现。

关于被测试接口

配套练习环境(含相关接口):https://www.cnblogs.com/uncleyong/p/17165143.html

常用数据

用例数据频繁使用到的值,我们可以放到一个变量中,这样避免修改值的时候大面积修改

多个常用的变量放到variables.yaml中

---
'#{username}': tester
'#{password_correct}': 123456
'#{password_wrong}': 1234567
'#{productname}': thinkpad

内容是字典:

  • key是变量名,#{xxx}整体表示变量名

  • value是变量值

测试用例数据

放case.yaml中

---
- epic: 全栈测试笔记
  feature: user
  story: register
  title: 用户注册成功
  description: 这是用户注册成功的用例
  severity: blocker
  request:
    url: /qzcsbj/user/register
    method: post
    headers: {'Content-Type':'application/json'}
    cookies:
    files:
    params: {"username":"#{username}","password":"#{password_correct}","realName":"#{username}","sex":"1","birthday":"1990-06-16","phone":"13500000006","utype":"1","adduser":"#{username}"}
  initSql: ["delete from user where username = '#{username}';"]
  globalVariables:
  assertFields: $.msg=注册成功;

内容是字典元素的列表:

  • 每个json字符串是一条用例数据

  • epic、feature、story、title、description、severity是为了集成allure的时候,动态添加allure报告描述,用法详见:https://www.cnblogs.com/uncleyong/p/18030825

  • request是请求相关的内容,包含:url(只写路径,不需要写ip、端口)、method(目前只支持post、get)、headers(请求头)、cookies(预留,暂未使用)、files(预留,暂未使用)、params(请求参数,如果是非关联变量,也就是上面的常用变量,填写为#{xxx},如果是关联参数,填写为${xxx})

  • initSql:初始化sql,要求是json列表,例如:[{"sqlNo":"1","sql":"delete from users where username = '#{username}';"}],用到的常用变量,填写为#{xxx}

  • globalVariables:需要关联的参数值,样例:token=$.token;,左侧是字段名,右侧是其jsonpath路径,并以英文分号结尾,多个断言字段用英文分号间隔

  • assertFields:要断言字段的jsonpath路径以及值,并以英文分号结尾,多个断言字段用英文分号间隔,如:

$.code=9550;$.msg=success;
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值