postman接口测试
postman界面:
postman日常操作:
**全局变量:**把共同使用的变量放到全局变量中,调用时只需要用{{变量名}}即可,适用于所有的接口。
环境变量的使用:
公司中至少有是三个环境:开发环境,测试环境,验收环境;
postman中可以演示不同的环境;
设置环境变量:
环境变量只适用于自己的环境,其他环境不适用:
错误环境下的环境变量使用:
接口实现关联:
接口测试,如何实现接口关联;
一:
把要获取的值转为json格式的数据
var jsondata = pm.response.json()
打印日志
console.log(jsondata)
用json表达式提取值
var doer = jsondata.result.city
打印日志
console.log(doer)
设置一个全局变量
pm.globals.set("域名",doer);
// 获取响应体的文本内容
var res = responseBody;
consloe.log(res)
//转成json对象
var jsonobj = JSON.parse.responseBody
//通过json表达式提取值
var z.result.provinces
pm.globals.set("jg",z);
接口测试中如何实现上一个接口的返回值作为下一个接口的参数。
设置断言;引用时:通过{{}}在路径中使用:
将第一个接口设置断言,把返回体弄成json,用json表达式进行取值,将这个值设置为全局变量,在另一个接口中使用全局变量,实现接口关联.
**断言:**用于预期结果和实际结果进行对比
tests对断言的几种方式
// 验证接口中状态码
pm.test("验证状态码", function () {
pm.response.to.have.status(200);
});
// 验证返回体重是否存在该字符串
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("北京");
});
// 通过json里的key:value进行验证(如果通过成功error_code=0)
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.error_code).to.eql(0);
});
// 返回文档中的所有内容都要拿出来(返回文本内容极少的情况下才使用)
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});
// 验证响应头中是否包含对应的内容
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Etag");
});
// 此次的响应时间和括号中的毫秒进行对比是否小于括号中的毫秒
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
动态参数:
postman中自带的内置方法;和fiddler一起使用
经常用于不能重复的数据;
{{$timestamp}}:生成当前时间的时间戳
{{$randomInt}}:生成0~1000的随机数
{{$guid}}:生成随机的guid字符串
用例的批量执行:
接口文件加密解密:
1.base64加密
//Base64加密
var username = CryptoJS.enc.Utf8.parse("admin") //转成utf8
var base64_username = CryptoJS.enc.Base64.stringify(username) //转成Base64加密
console.log(base64_username)
//Base64解密
var username = CryptoJS.enc.Base64.parse("YWRtaW4=") //解密
var new_username = username.toString(CryptoJS.enc.Utf8) //转成utf-8
console.log(new_username)
导入导出脚本:
1.在postman中点击集合后的···选择export,将文件导出。
postman+newman+jenkins
接口自动化测试:
newman是postman中一个nodejs库,newman可以更方便的运行和测试集合,并用它构造接口自动化测试和持续集成;
首先验证电脑上nodes是否安装成功
win+r 输入cmd进入黑窗口,输入node -v 回车,出现node的版本号代表node安装成功.
安装JDK
然后把jdk配置到环境变量
JAVA_HOME
路径
在pash里面进行
%JAVA_HOME%\bin
把tomcat复制到电脑上 找到bin目录里面的
进行启动
然后在浏览器
JENKINS。war放在tomcat的webapp里面启动tomcat直接进行解压了
然后127.0.0.1:8080/jeckins路径输入进来
找到初始化密码输入进去