1 apifox介绍
apifox与postman、yapi功能类似,提供接口管理、用例管理功能。可以用来进行自动化测试。
2 使用说明
2.1 团队、人员管理
创建团队后,可以加入相关的开发人员、测试人员
理想应用场景:
开发维护接口、测试维护用例
2.2 对比
支持http和socket协议
对比yapi,对文件上传、文件下载的支持更友好
对比postman,对json请求body有大小限制,最大支持500KB
2.3 重点内容
2.3.1 关联
yapi对用例之间的关联更友好,可以通过页面选择,或者直接使用变量{{ $.1213.params.app_id }}
apifox只能使用后置脚本保存数据到变量,再通过请求中{{name}}来进行替换
保存变量示例
try {
var jsonData = pm.response.json();
var file_id = jsonData.data.file_id;
} catch{
var file_id = '';
}
pm.variables.set("sign_file_id", file_id);
注:如果需要对请求进行加密等操作,需要先替换变量再进行操作,示例如下:
var requestBody = pm.request.body.raw;
requestBody=pm.variables.replaceIn(requestBody);
console.log(requestBody);
//下发写加密之类的代码
2.3.2 变量
自动化测试过程中,免不了唯一值的使用,比如用户注册时身份证号唯一,可以使用内置变量,如下:
使用时间戳{{$timestamp}}来使身份证号唯一
{
"area_code": "452700",
"id_number": "37091119{{$timestamp}}",
"id_type": "111",
"phone": "15628811989",
"user_name": "测试-余秀兰-{{$timestamp}}",
"mail": "11@qq.com",
"description": "velit sint Excepteur exercitation commodo"
}
2.3.3 断言
自动化测试过程中,肯定不可能手工去查看请求返回是否正确,所以需要用到断言,常用断言有两种:
a、响应中包含指定字符
b、响应中某个字段值为true
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("user_id");
});
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.sign_state).to.eql(true);
});
2.3.4 环境变量
自动化用例写好了,想要在测试环境、线上环境都能用,就需要用到环境变量,各个环境不同的值写到环境变量中,比如:
- 请求地址
- appid
- appsecret
- 初始化用户id
示例:
在用例或者接口中直接引用即可 {{c_user}}
版权声明:本文为u010098760原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。