3.httprunner-extract/.env/Testcase

参数关联-extract
场景:上一个接口的返回值,传给下一个接口当请求参数
extract:提取变量
$变量名 :引用变量
假设我们有如下场景
用户A登录之后,返回值返回用户UID,我们需要查询该用户的用户信息,需要用到登录接口返回值的uid
那我们先请求登录接口,然后使用extract提取uid,获取用户信息接口里面我们再引用uid变量
config:
  name: 登录用例
  base_url: http://xxx.com

teststeps:
-
  name: step-登录
  request:
    url: /v1/login/
    method: POST
    params:
      user: test
      password: 123456
  # 使用extract提取,使用jmespath提取表达式获得返回值的uid,赋值给变量UID
  extract: 
      uid: body.uid
  validate:
    - eq: [status_code,200]

-
  name: setp-获取用户信息
  request:
    url: /v1/userInfo/
    method: POST
    params:
      uid: $uid # 请求这里直接使用$变量名来引用提取的uid
  validate:
    - eq: [ status_code,200 ]
环境变量.env
在自动化测试项目的根目录中,创建.env文件
并将敏感数据信息放置到其中,采用name=value存储,例如账号密码、数据配置等信息
创建环境变量
#.env文件
base_url=http://www.123.com
username=test
password=123456
引用环境变量
引用格式:
${ENV(key)} #ENV是内置函数

 示例

config:
  name: 登录用例
  base_url: ${ENV(base_url)} # 对应格式引用环境变量

teststeps:
-
  name: step-登录
  request:
    url: /v1/login/
    method: POST
    params:
      user: ${ENV(username)}
      password: ${ENV(password)}

  extract:
      uid: body.uid
  validate:
    - eq: [status_code,200]
Testcase引用Testcase
假设我们有两个用例,用例1:登录,用例2:登录,修改个人资料
那么登录步骤就会重复,我们可以第二个用例引用第一个用例,当成测试步骤
httprunner3中,可以使用testcase引用另一个testcase
config:
  name: 用户用例
  base_url: ${ENV(base_url)}

teststeps:
-
  name: step-登录
  # login用例是其他yaml用例写好的,在这里直接引用
  # 使用testcase关键字,项目根目录相对路径引用登录的yaml文件路径
  testcase: testcase/login.yaml
-
  name: step-修改个人资料
  ......
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值