参数关联-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-修改个人资料
......

最新文章

  1. Swift 备忘单和快速参考
  2. C# 统计在线人数和总访问人数
  3. OpenGL阴影,Shadow Volumes(附源程序,使用 VCGlib )
  4. 【液晶模块系列基础视频】1.1.iHMI43模块介绍
  5. Expression Blend制作自定义按钮(转)
  6. ECSTORE2.0 下载 (变量标签)
  7. C#函数式程序设计之泛型(下)
  8. 转:详解JMeter正则表达式(1)
  9. AWS EC2笔记
  10. awk处理重复行错误分析
  11. 移动端调用电话、短信、唤起QQ和使用百度地图
  12. VM中centos设置子网内虚拟机ip
  13. HDU-6370 Werewolf(杭电多校6I)
  14. Jmeter中默认语言的显示
  15. 去除ArcMap连接空间数据库中多余的属性表
  16. 转:google测试分享-GTA
  17. POJ 2449 Remmarguts' Date(第k短路のA*算法)
  18. stm32 IDR寄存器软件仿真的BUG
  19. Redis之set类型操作
  20. CSS3 @font-face的url要添加?#iefix的原因

热门文章

  1. Vue 3-150行代码实现新国标红绿灯效果案例
  2. KingbaseES R3 受限dba影响集群切换
  3. KingbaseES 并行查询
  4. Unity-编辑器拓展之GUILayout,EditorGUILayout布局 { }
  5. 【Vue项目笔记】—— 父子组件之间传递参数和子组件执行父组件中的方法
  6. Mysql阶段性项目——QQ数据库管理
  7. 使用kubectl管理Kubernetes(k8s)集群:常用命令,查看负载,命名空间namespace管理
  8. 使用pktmon抓包
  9. 022年9月12日 学习ASP.NET Core Blazor编程系列三——实体
  10. k8s 中的 Pod 细节了解