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]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源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命令行模式