阿萨学工具: 你会用Apifox预处理接口的前置操作吗?

简介: 阿萨学工具: 你会用Apifox预处理接口的前置操作吗?

大家好,我是阿萨。昨天我们学习了Apifox 后置操作的功能。日常测试过程中,经常需要用到接口 URL 时间戳或者是随机值。或者是需要从数据库查某个接口等前置操作。什么是前置操作?顾名思义,就是在发送请求前做的操作。

今天我们就来学习下不同场景的前置操作。


场景一:接口发送的请求需要从数据库提取。


比如典型的登录接口,我们需要从数据库里获取登录的用户名或者密码。今天我们就学习下从数据库获取用户名或者密码来执行接口测试。打开 前置操作, 点击 添加前置操作



场景二:修改接口请求的相关信息。


接口请求的Body/Header包含时间戳 或者是参数,以及他们用到了随机值。需要修改URL 或者Query参数的时候需要用到前置操作里的脚本。


var timestamp = new Date().getTime();
pm.environment.set("timestamp",timestamp);
  • 脚本可以读取所有请求参数信息,但是只能修改 header 和 query 参数,不能修改其他参数。
  • 只有在前置脚本里修改请求信息才是有效的,在后置脚本里修改无效。
  • 通过脚本取出来的接口参数,如果参数包含变量,变量是不会替换成对应的值。如想要获取替换后的值,可使用pm.variables.replaceIn方法处理:

// pm.variables.replaceIn 处理参数里的变量
var body = pm.variables.replaceIn(pm.request.body.raw);
var jsonData = JSON.parse(body);


修改Query 参数里的值:


// 获取 Query 参数对象
var queryParams = pm.request.url.query;
 // 增加 query 参数
queryParams.add({
  key: "field1",
  value: "value1",
});
 // 修改 query 参数(如不存在则新增)
queryParams.upsert({
  key: "field2",
  value: "value2",
});


场景三:公共脚本


和昨天的公共脚本一样(有点现在共享单车的意思,公共脚本一直在那里,你用或者不用它都在那里),然后后置脚本只需要从公共脚本获取即可。




场景四: 等待时间。


有些特殊场景,一个接口完成后需要等待一段时间后再去执行下一个接口。所以就需要用到这个功能。



最后一定要记得保存为用例哦。否则白辛苦了半天去设置前置操作以及脚本。



测试用例保存好了。就可以发送运行了。赶紧校验下自己设置的前置操作和公共脚本对不对?



相关文章
|
2月前
阿萨学工具:Apifox 用Mock.js写高级Mock的期望
阿萨学工具:Apifox 用Mock.js写高级Mock的期望
103 0
|
2月前
|
测试技术 API
阿萨学工具:初识Apifox
阿萨学工具:初识Apifox
|
2月前
|
存储 JSON 测试技术
阿萨学工具: 你会用Apifox写断言吗?
阿萨学工具: 你会用Apifox写断言吗?
116 0
Apifox测试导出excel接口
Apifox测试导出excel接口
313 0
|
2月前
|
测试技术 API
阿萨学工具:用Apifox 发送接口请求
阿萨学工具:用Apifox 发送接口请求
|
3天前
|
前端开发 JavaScript
前端模拟接口工具推荐——Apifox(mock数据)【图解教程】
前端模拟接口工具推荐——Apifox(mock数据)【图解教程】
15 1
|
1天前
|
Web App开发 开发者
Apifox 网页端调试本地接口
Apifox 网页端调试本地接口
5 0
|
2月前
|
前端开发 小程序 测试技术
前端后端测试接口mork神器,Apifox使用一分钟入门
前端后端测试接口mork神器,Apifox使用一分钟入门
72 0
|
2月前
|
API
IDEA使用apifox插件生成接口
IDEA使用apifox插件生成接口
54 1
|
2月前
|
前端开发
阿萨学工具:Apifox的高级Mock 功能
阿萨学工具:Apifox的高级Mock 功能