HOME AUTHORS

Postman多接口测试

2021年9月23日 17:12 2022年3月23日 00:13 更新
ali
Tags data var 参数

URL字符编码

在get请求中,参数是直接加在了URL里面,但是当有+、=等特殊字符存在时,可能会出现在服务器端获取不到正确参数值的情况,解决办法:将这些特殊字符转为服务器可以识别的字符,进行URL字符编码

除了大小写英文字母、数字、-_.(横线、下划线、点)之外的其他字符都是特殊字符,需要对特殊字符进行编码

对应关系如下:

对应的URL字符 转义之后的代替字符
空格 %20
: %3A
+ %2B
? %3F
% %25
/ %2F
# %23
& %26
= %3D
; %3B

%XX是以16进制表示的ASCII

比如传递的参数中有日期,日期格式为2021-08-09 17:30:00,那么传参的时候就可以转换为2021-08-09%2017%3A30%3A00

在数据库中导出数据可以使用REPLACE函数进行替换,例如

REPLACE(REPLACE(course_date," ","%20"),":","%3A")

也可以使用在线编码方式自行转换:

在线URL编码/解码

配置环境变量或全局变量

配置环境变量或全局变量

可以应用在URL、Params、Headers、Body中的form-data、x-www-form-urlencoded、以及raw中的参数值中,使用{{配置的变量名}}即可使用

多接口联合测试

2022-03-19_17-58

var data=JSON.parse(responseBody);//获取响应体并解析

var 参数1=data.data.具体的返回参数名1;//不一定是data.data,根据接口返回的实际情况来进行调用

var 参数2=data.data.具体的返回参数名2;//同上

pm.enviroment.set("环境变量名1",参数1);//将拿到的返回值设置成环境变量供后面的接口调用

pm.enviroment.set("环境变量名2",参数2);//将拿到的返回值设置成环境变量供后面的接口调用

接口2中的请求参数就可以直接使用{{环境变量名1}}或者{{环境变量名2}}取得接口1相应的返回值

也可以拿到其他的参数值:

      获得header中的参数值:
      var header=pm.request.header;
      var authorization=header.get("authorization");

      如果请求参数是通过params进行设置的,可以通过以下代码获得请求内容的值:
      var requestBody=pm.request.url.query;
      var userid=requestBody.get("想要获取的请求参数名");

      如果请求是通过body的form-data进行传输的,可以通过以下代码获得请求内容的值:
      var requestBody=pm.request.body.formdata;
      var userid=requestBody.get("想要获取的请求参数名");

可参考pm对象API

也可以进行设置断言,例如:

tests["教师teacherId为:"+teacherId]=teacherId!=null;//断言teacherId不为空

tests["msg"]=msg==="OK";//断言msg的值为Ok

也可以在断言中输出变量的值:

tests["userid为"+userid]=msg==="OK";

2022-03-19_18-02

上传完毕之后,会自动设置迭代次数,这时可以检查参数文件是否正确(可以进行预览)。之后便可以点击run运行

2022-03-19_18-05

2022-03-19_18-50