3.httprunner-extract/.env/Testcase
2024-09-08 16:03:16
参数关联-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-修改个人资料
......
最新文章
- Swift 备忘单和快速参考
- C# 统计在线人数和总访问人数
- OpenGL阴影,Shadow Volumes(附源程序,使用 VCGlib )
- 【液晶模块系列基础视频】1.1.iHMI43模块介绍
- Expression Blend制作自定义按钮(转)
- ECSTORE2.0 下载 (变量标签)
- C#函数式程序设计之泛型(下)
- 转:详解JMeter正则表达式(1)
- AWS EC2笔记
- awk处理重复行错误分析
- 移动端调用电话、短信、唤起QQ和使用百度地图
- VM中centos设置子网内虚拟机ip
- HDU-6370 Werewolf(杭电多校6I)
- Jmeter中默认语言的显示
- 去除ArcMap连接空间数据库中多余的属性表
- 转:google测试分享-GTA
- POJ 2449 Remmarguts' Date(第k短路のA*算法)
- stm32 IDR寄存器软件仿真的BUG
- Redis之set类型操作
- CSS3 @font-face的url要添加?#iefix的原因
热门文章
- Vue 3-150行代码实现新国标红绿灯效果案例
- KingbaseES R3 受限dba影响集群切换
- KingbaseES 并行查询
- Unity-编辑器拓展之GUILayout,EditorGUILayout布局 { }
- 【Vue项目笔记】—— 父子组件之间传递参数和子组件执行父组件中的方法
- Mysql阶段性项目——QQ数据库管理
- 使用kubectl管理Kubernetes(k8s)集群:常用命令,查看负载,命名空间namespace管理
- 使用pktmon抓包
- 022年9月12日 学习ASP.NET Core Blazor编程系列三——实体
- k8s 中的 Pod 细节了解