postman

postman常见使用

1、断言:

常用断言:
(1)

1
2
3
pm.test("内容msg为成功", function () {					//'内容msg为成功'代表可根据具体的接口情况进行变换
pm.expect(pm.response.text()).to.include("成功"); //'成功'代表可根据具体的接口情况进行变换
}); // 说明:响应的内容中包括“成功”

(2)

1
2
3
4
pm.test("验证msg为成功", function () {					//'验证msg为成功'代表可根据具体的接口情况进行变换
var jsonData = pm.response.json();
pm.expect(jsonData.msg).to.eql("成功"); //'msg、成功'代表可根据具体的接口情况进行变换
}); //说明:响应的结果中验证“msg”的值是否为“成功”

示例图片

1
2
3
4
pm.test("验证列表中的第一个人是否是范卓", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.list[0].name).to.eql("范卓");
}); //说明:响应的结果中验证“msg”的值是否为“成功”

(3)

1
2
3
pm.test("Response time is less than 200ms", function () {//'Response time is less than 200ms'代表可根据具体的接口情况进行变换
pm.expect(pm.response.responseTime).to.be.below(200);//'200'代表可根据具体的接口情况进行变换
}); //说明:检验响应时间是都超过200ms

(4)

1
2
3
pm.test("Status code is 200", function () {				//'Status code is 200'代表可根据具体的接口情况进行变换
pm.response.to.have.status(200); //'200'代表可根据具体的接口情况进行变换
}); //说明:验证响应状态码是否为200

2、在test中设置环境变量:

常用情景:将A接口中的响应结果值用在B的请求参数中,在A接口中

1
2
3
4
//获取返回的JSON信息
res = JSON.parse(responseBody) //'res'代表可根据具体的接口情况进行变换
//将接口搜索人员信息中返回的人员的id的值设置为环境变量,变量名为person_id,在B接口中引用该变量
pm.environment.set("person_id",res.data.list[0].id); //'person_id、res.data.list[0].id'代表可根据具体的接口情况进行变换

3、随机数:

说明:在pre-request-script中添加,然后在请求体中直接引用变量
(1)postman自带随机数:五种
* 添加一个当前的时间戳
* 添加一个时分秒的时间戳
* 添加一个v4风格的guid
* 添加一个 0–1000的随机整数
* 添加一个0–1000的随机浮点数

示例图片

(2)随机生成姓名:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function getName(){
var familyNames = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万支柯昝管卢莫经房裘缪干解应宗丁宣贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁荀羊於惠甄曲家封芮羿储靳汲邴糜松井段富巫乌焦巴弓牧隗山谷车侯宓蓬全郗班仰秋仲伊宫宁仇栾暴甘钭厉戎祖武符刘景詹束龙叶幸司韶郜黎蓟薄印宿白怀蒲邰从鄂索咸籍赖卓蔺屠蒙池乔阴鬱胥能苍双闻莘党翟谭贡劳逄姬申扶堵冉宰郦雍卻璩桑桂濮牛寿通边扈燕冀郏浦尚农温别庄晏柴瞿阎充慕连茹习宦艾鱼容向古易慎戈廖庾终暨居衡步都耿满弘匡国文寇广禄阙东欧殳沃利蔚越夔隆师巩厍聂晁勾敖融冷訾辛阚那简饶空曾毋沙乜养鞠须丰巢关蒯相查后荆红游竺权逯盖益桓公万俟司马上官欧阳夏侯诸葛闻人东方赫连皇甫尉迟公羊澹台公冶宗政濮阳淳于单于太叔申屠公孙仲孙轩辕令狐钟离宇文长孙慕容鲜于闾丘司徒司空丌官司寇仉督子车颛孙端木巫马公西漆雕乐正壤驷公良拓跋夹谷宰父谷梁晋楚闫法汝鄢涂钦段干百里东郭南门呼延归海羊舌微生岳帅缑亢况郈有琴梁丘左丘东门西门商牟佘佴伯赏南宫墨哈谯笪年爱阳佟";
var givenNames = "子璇淼国栋夫子瑞堂甜敏尚国贤贺祥晨涛昊轩易轩辰益帆冉瑾春瑾昆春齐杨文昊东雄霖浩晨熙涵溶溶冰枫欣宜豪欣慧建政美欣淑慧文轩杰欣源忠林榕润欣汝慧嘉新建建林亦菲林冰洁佳欣涵涵禹辰淳美泽惠伟洋涵越润丽翔淑华晶莹凌晶苒溪雨涵嘉怡佳毅子辰佳琪紫轩瑞辰昕蕊萌明远欣宜泽远欣怡佳怡佳惠晨茜晨璐运昊汝鑫淑君晶滢润莎榕汕佳钰佳玉晓庆一鸣语晨添池添昊雨泽雅晗雅涵清妍诗悦嘉乐晨涵天赫玥傲佳昊天昊萌萌若萌";
var i = parseInt(familyNames.length * Math.random());
var familyName = familyNames.substr(i,1);
var len=givenNames.length;
var j = parseInt(len * Math.random()) ;
var k = parseInt(len * Math.random()) ;
var givenName = givenNames.substr(j,1)+givenNames.substr(k,1);
var name = familyName + givenName;
return name;
}
console.log(getName()); //在控制台打印输出
pm.globals.set("random_name", getName()) //设置随机姓名设置为全局变量

(3)随机生成电话号码:

1
2
3
4
5
6
7
8
9
10
11
function getMoble() {
var prefixArray = new Array("130", "131", "132", "133", "135", "137", "138", "170", "187", "177", "189");
var i = parseInt(10 * Math.random());
var prefix = prefixArray[i];
for (var j = 0; j < 8; j++) {
prefix = prefix + Math.floor(Math.random() * 10);
}
return prefix;
}
console.log(getMoble()); //在控制台打印输出
pm.globals.set("random_mobile_phone", getMoble()); //设置随机电话号码设置为全局变量

(4)随机生成身份证号码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function getId_no(){
var coefficientArray = [ "7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"];
var lastNumberArray = [ "1","0","X","9","8","7","6","5","4","3","2"];
var address = "610523";
var birthday = "19990101";
var s = Math.floor(Math.random()*10).toString() + Math.floor(Math.random()*10).toString() + Math.floor(Math.random()*10).toString();
var array = (address + birthday + s).split("");
var total = 0;
for(var i in array){
total = total + parseInt(array[i])*parseInt(coefficientArray[i]);
}
var lastNumber = lastNumberArray[parseInt(total%11)];
var id_no_String = address + birthday + s + lastNumber;
return id_no_String;
}
console.log(getId_no()); //在控制台打印输出
pm.globals.set("random_id_no",getId_no()); //设置随机身份证号码设置为全局变量

(5)随机获取一个0-9999的随机数

1
2
3
4
5
6
7
8
9
    function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
}
var myval = getRandomInt(0,10000);

console.log(myval); //在控制台打印输出
pm.globals.set("random_num",getRandomInt());

4、将postman的脚本转化为python代码在pycharm中运行

选择一个接口,点击右边的code 然后选择将其转化为python的requests,copy到pycharm去粘贴(注意在pycharm内添加requests包,最好使用python2.7,使用python3+可能会报错)

示例图片


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!