apifox接口测试工具

目录

  • 1 apifox介绍
  • 2 使用说明
    • 2.1 团队、人员管理
    • 2.2 对比
    • 2.3 重点内容
      • 2.3.1 关联
      • 2.3.2 变量
      • 2.3.3 断言
      • 2.3.4 环境变量

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": "[email protected]",
    "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 环境变量

自动化用例写好了,想要在测试环境、线上环境都能用,就需要用到环境变量,各个环境不同的值写到环境变量中,比如:

  1. 请求地址
  2. appid
  3. appsecret
  4. 初始化用户id

示例:
apifox接口测试工具_第1张图片
apifox接口测试工具_第2张图片
在用例或者接口中直接引用即可 {{c_user}}

你可能感兴趣的:(自动化测试,自动化测试,apifox)