httprunner 4.x学习 - 12. 测试用例引用前面一个用例testcase

前言

当登录用例写完后,后面想继续写其他用例,可以导入前面的login用例,当成下个用例的步骤使用
导入前一个用例之前,需先 export 导出变量,变成全局变量。

登录用例

在testcase下新建一个test_login.yml 文件,用于测试登录成功接口信息
testcase/test_login.yml

# 作者-上海悠悠 wx:283340479
# blog地址 https://www.cnblogs.com/yoyoketang/

config:
  name: 测试登录后关联
  variables:
    username: test
    password: 123456
  export:
    - token

teststeps:
-
  name: 登录成功
  request:
      url: http://127.0.0.1:8000/api/v1/login
      method: POST
      json:
        username: ${username}
        password: ${password}
  extract:
      token: body.token
  validate:
      - eq: ["status_code", 200]
      - eq: [body.code, 0]

其他用例需用到登录的场景,可以使用testcase 关键字导入

# 作者-上海悠悠 wx:283340479
# blog地址 https://www.cnblogs.com/yoyoketang/

config:
  name: 测试登录后关联

teststeps:
-
  name: 1.登录后-获取token
  testcase: testcase/test_login.yml

- name: 2.info
  request:
    method: GET
    headers:
      Authorization: Token ${token}
    url: http://127.0.0.1:8000/api/v1/userinfo
  validate:
    - eq: [body.code, 0]

使用testcase 导入前面一个用例,导入用例的路径根据项目根目录使用相对路径
使用hrp 命令运行后生成报告

hrp run testcase/test_info.yml --gen-html-report

export 关键字

如果前面一个用例没有写export ,在后面用例引用的时候,也可以用export 导出变量

# 作者-上海悠悠 wx:283340479
# blog地址 https://www.cnblogs.com/yoyoketang/

config:
  name: 测试登录后关联
  variables:
    username: test
    password: 123456


teststeps:
-
  name: 登录成功
  request:
      url: http://127.0.0.1:8000/api/v1/login
      method: POST
      json:
        username: ${username}
        password: ${password}
  extract:
      token: body.token
  validate:
      - eq: ["status_code", 200]
      - eq: [body.code, 0]

后面用例在步骤中使用export

# 作者-上海悠悠 wx:283340479
# blog地址 https://www.cnblogs.com/yoyoketang/

config:
  name: 测试登录后关联

teststeps:
-
  name: 1.登录后-获取token
  testcase: testcase/test_login.yml
  export:
    - token

- name: 2.info
  request:
    method: GET
    headers:
      Authorization: Token ${token}
    url: http://127.0.0.1:8000/api/v1/userinfo
  validate:
    - eq: [body.code, 0]
posted @   上海-悠悠  阅读(518)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-05-10 aiohttp 异步http请求-12.aiohttp 请求生命周期(和requests库有什么不一样?)
2021-05-10 postman使用教程13-cookies 管理器
2021-05-10 postman使用教程12-预处理(pre-request) 发送请求
2021-05-10 postman使用教程11- sign 签名预处理(pre-request)
2021-05-10 postman使用教程10-请求前参数预处理(pre-request)
2019-05-10 appium+python自动化63-使用Uiautomator2报错问题解决
2018-05-10 appium+python自动化44-appium命令行模式
点击右上角即可分享
微信分享提示