当前位置:网站首页>Methods commonly used interface automation test framework postman tests
Methods commonly used interface automation test framework postman tests
2022-08-05 00:59:00 【Soft Test Small Watermelon】
目录
3.检查response body中是否包含某个string
6.检查response body是否与某个string相等
7.测试response Headers中的某个元素是否存在(如:Content-Type)
14.JSON.parse()和JSON.stringify()
postman常用方法集合:
1.设置环境变量
postman.setEnvironmentVariable("key", "value");
pm.environment.set("key", "value");//postman 5.0以上版本设置环境变量的方法
2.设置全局变量
postman.setGlobalVariable("key", "value");
pm.globals.set("variable_key", "variable_value");//postman 5.0以上版本设置全局变量方法
3.检查response body中是否包含某个string
tests["Body matches string"] = responseBody.has("string_you_want_to_search");
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});//5.0以上版本方法
4.检测JSON中的某个值是否等于预期的值
var data = JSON.parse(responseBody);
tests["Your test name"] = data.value === 100;
JSON.parse()方法,把json字符串转化为对象.parse()会进行json格式的检查是一个安全的函数.
如:检查json中某个数组元素的个数(这里检测programs的长度)
var data = JSON.parse(responseBody);
tests["program's lenght"] = data.programs.length === 5;
5.转换XML body为JSON对象
var jsonObject = xml2Json(responseBody);
tests["Body is correct"] = responseBody === "response_body_string";
6.检查response body是否与某个string相等
7.测试response Headers中的某个元素是否存在(如:Content-Type)
//getResponseHeader()方法会返回header的值,如果该值存在
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");
上面的方法,不区分大小写.下面的方法,要区分大小写.
8.验证Status code的值
tests["Status code is 200"] = responseCode.code === 200;
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});//5.0以上版本方法
9.验证Response time是否小于某个值
tests["Response time is less than 200ms"] = responseTime < 200;
//5.0以上版本方法
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
10.name是否包含某个值
tests["Status code name has string"] = responseCode.name.has("Created");
//5.0以上版本方法
pm.test("Status code name has string", function () {
pm.response.to.have.status("Created");
});
11.POST 请求的状态响应码是否是某个值
tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
//5.0以上版本方法
pm.test("Successful POST request", function () {
pm.expect(pm.response.code).to.be.oneOf([201,202]);
});
12.很小的JSON数据验证器
var schema = {
"items": {
"type": "boolean"
}
};
var data1 = [true, false];
var data2 = [true, 123];
console.log(tv4.error);
tests["Valid Data1"] = tv4.validate(data1, schema);
tests["Valid Data2"] = tv4.validate(data2, schema);
13.获取request.data值:
var Json = JSON.parse(request.data);
- data {object}:
this is a dictionary of form data for the request. (request.data["key"]=="value") - headers {object}:
this is a dictionary of headers for the request (request.headers["key"]=="value") - method {string}:
GET/POST/PUT etc. - url {string}:
the url for the request.
假设requestBody中有"version":"1.0";这个值,如果想获取到version的value值,代码如下
var Json = JSON.parse(request.data);
var version = Json["version"];
14.JSON.parse()和JSON.stringify()
JSON.parse()【从一个字符串中解析出json对象】
JSON.stringify()【从一个对象中解析出字符串】
var data={name:'goatling'}
JSON.parse(data)
结果是: '{"name":"goatling"}'
JSON.stringify(data)
结果是:name:"goatling"
15.判断字段值是否为空typeof()
var Jsondata = JSON.parse(responseBody);
if( typeof(Jsondata.data) != "undefined" )
边栏推荐
- 【机器学习】21天挑战赛学习笔记(二)
- 从一次数据库误操作开始了解MySQL日志【bin log、redo log、undo log】
- Software testing interview questions: How many types of software are there?
- 2021年11月网络规划设计师上午题知识点(上)
- Software Testing Interview Questions: What do you think about software process improvement? Is there something that needs improvement in the enterprise you have worked for? What do you expect the idea
- Memory Forensics Series 1
- Redis visual management software Redis Desktop Manager2022
- 配置类总结
- ORA-00257
- MBps与Mbps区别
猜你喜欢
随机推荐
2022杭电多校训练第三场 1009 Package Delivery
Interview summary: Why do interviewers in large factories always ask about the underlying principles of Framework?
Pytorch usage and tricks
配置类总结
Knowledge Points for Network Planning Designers' Morning Questions in November 2021 (Part 1)
Binary tree [full solution] (C language)
DHCP的工作过程
[230] Execute command error after connecting to Redis MISCONF Redis is configured to save RDB snapshots
内存取证系列1
如何用 Solidity 创建一个“Hello World”智能合约
pytorch的使用:使用神经网络进行气温预测
sqlite--nested exception is org.apache.ibatis.exceptions.PersistenceException:
Inter-process communication and inter-thread communication
第十一章 开关级建模
ORA-00257
More than 2022 cattle school training topic Link with the second L Level Editor I
CNI(Container Network Plugin)
蓝牙Mesh系统开发四 ble mesh网关节点管理
node uses redis
【TA-霜狼_may-《百人计划》】图形4.3 实时阴影介绍