Postman是做接口测试的,但是很多接口并不是直接就能测,有的需要一些预处理。比如说身份认证,需要传递一个token。如果做网页测试,一般打开登陆界面的时候就会生成一个token,如果返回值是json格式,用Postman从中提取值是很简单的,在Tests中输入。

 

1.返回值是json格式,其中的某个参数的值又是一个json格式;需要获取第二个层级的json参数值,可以如下:

var jsonData=JSON.parse(responseBody);  //获取body中返回的所有参数
var jdata=jsonData.data;  //获取其中data的值,jdata是一个json格式
pm.environment.set("token",JSON.parse(jdata).JwtKey);    //再从jdata中获取其中的JwtKey参数值

 send之后点右上角小眼睛,如果环境变量取到值的话这里会有显示的:

 

 

2.返回值是json格式,其中的某个参数的值又是一个数组格式,数组的每一个值又是json格式;如果获取第三个层级的json某个参数值,可以如下:

pm.test("运营商ID 1111", function () {
var jsonData = pm.response.json();    //获取body返回值的全部参数
var jsonDicData = jsonData.data;    //获取其中的data参数
var jsonDicData = jsonData.data;
pm.expect(jsonDicData[0].oI_ID).to.eql("1111");   //jsonDicData[0]是获取数组中的第一个值,这个值也是一个json格式。 .oI_ID 是获取第三个层级中json某个参数值
});

 

 

 

总结

Postman从响应中提取值的方法:

  • 从json中提取

    var jsonData =JSON.parse(responseBody);
    
  • 从html的Header中提取

    var value = postman.getResponseHeader("Access-Token");
    pm.environment.set("Access-Token",value);
    
  • 从html的body中提取

    var jsonObject = xml2Json(responseBody);
    

将json object转换成字符串的函数JSON.stringify(jsonObject)

 

参考文章:https://jlhxxxx.github.io/postman-start.html

posted on 2019-05-16 20:30  紫霞315  阅读(3739)  评论(0编辑  收藏  举报