系统与系统之间,组件与组件之间,数据传递交互的通道
按协议划分:http、tcp、IP
按语言划分:C++、java、PHP……
按范围划分:
对系统或组件之间的接口进行测试,校验传递的数据正确性和逻辑依赖关系的正确行。
主要针对服务器,模拟客户端向服务器发送请求,通过工具或者代码来测试服务器针对客户端请求回发的响应数据是否与预期结果一致。
编号、用例名称(标题)、模块、优先级、预置条件、请求方法、URL、请求头、请求体(请求数据)、预期结果
(1)断言相应状态码 :Status code :Code is 200
在test标签中,选中 Status code :Code is 200,生成对应的代码
可调整方法参数里面的状态码
点击send按钮发送请求,从而执行断言代码
pm.test("status code is 200",function(){
pm.response.to.have.status(200);
});
pm:代表 postman 的一个实例
test():是 pm实例的一个方法。有两个参数
参数1:在断言成功后,给出的文字提示。可以修改。"Status code is 200"
参数2:匿名函数。
pm.response.to.have.status(200);
// 意思:postman 的响应结果中应该包含状态码 200
200 ——> 预期结果!
例如:
(2)断言响应体是否包含某个字符串 : Response body: Contains string
pm.test("body matches string",function(){
pm.expect(pm.response.text()).to.include("i love success");
});
(3)断言响应体是否等于某个字符串 : Response body : Is equal to string
pm.test("Body is currect",function(){
pm.response.to.have.body("response_body_string");
});
(4)断言JSON数据 : Response bode : JSON value check
pm.test("Your test name",function(){
pm.expect(pm.response.json.value).to.equal(100);
});
(5)断言响应头 : Response headers:Content-Type header check
pm.test("Content-Type is present",function(){
pm.response.to.have.header("Contype-Type");
});
(1)全局变量
设置:pm.globals.set(“全局变量名”,全局变量的值);
获取:
(2)环境变量
设置:pm.environment.set(“环境变量名”, 环境变量值)
获取:
在send按钮点击后,请求前置脚本代码第一时间被执行,在postman内部实际Http请求之前。
例如:设定时间内调用有效,超过时间调用无效
实现步骤:
1、在 Pre-request Script 标签页中,添加代码。拿到时间戳,写入全局变量
var timestamp=new Date().getTime();
pm.globles.set("glb_timestamp",timestamp);
2、点击send按钮,发送请求。请求发送前执行上述代码,写入全局变量
3、然后再请求参数界面中,使用全局变量。{{全局变量名}}
应用于多个http请求之间,有数据关联或依赖关系时。
实现步骤:
A接口依赖B接口的数据
①向B接口发送http请求,获取数据
②将数据设置到全局变量或者环境变量中
③A接口获取全局变量或者环境变量的数据值,进行使用
CSV文件:
根据使用数据 位置 不同,有两种获取数据文件中数据的方法。
步骤:
newman run 用例集名称.json -d 数据文件名.csv/.json -r html --reporter-html-export 报告名称.html