POSTMAN的断言方法

下面以一个退出登录接口,在POSTMAN进行接口测试

接口:

{{something_uat1}}/api-homething/loginOutThird

返回值:

{
    "code": "200",
    "message": "操作成功",
    "dataMap": true
}

Postman接口截图:

Postman的test断言:

具体的TEST 方法:

说明:红色部分是对test方法的说明;橙黄色区域是Postman内test方法的原样例;下面黑色部分的断言方法是根据退出登录接口编写的具体实操。

//1.检测返回的结果包含字段 Response body:Contains a string
/*
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});

*/
pm.test("检测返回结果中包含字段", function () {
    pm.expect(pm.response.text()).to.include("操作成功");
});

//2.获取环境变量的值:pm.variables.get("variable_key");
var data=pm.environment.get("something_uat1");
tests['检测设置的环境变量值']=data==="http://shomething.uat1.rs.com";

//3.测试返回的结果包含code:200
/*
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
*/

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

//4.测试响应低于规定时长
/*
pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});
*/

pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});
//5.检测返回结果字符串 
/*pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");
});*/

pm.test("检测返回的整段文字是否相等", function () {
    pm.response.to.have.body('{"code":"200","message":"操作成功","dataMap":true}');
});
//6.检测返回字段值与预期是否相等.下面有三种写法Response body:JSON value check
/*
pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});
*/

//1).postman方法将字符串转换成json对象
pm.test("测试返回的message的值", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("操作成功");
});
//2).JSON语法将字符串转换成json对象
pm.test("测试返回的dataMap的值", function () {
    var jsonData =JSON.parse(responseBody);
    jsonData.dataMap===true;
});
//3)使用tests方法来进行断言
var jsondata =JSON.parse(responseBody);
tests["测试返回的code=200"]=jsondata.code==="200";
//7.返回code包含任意元素
/*
pm.test("Successful POST request", function () {
    pm.expect(pm.response.code).to.be.oneOf([201,202]);
});*/

pm.test("返回code包含任意元素", function () {
    pm.expect(pm.response.code).to.be.oneOf([200,202]);
});

//8 校验JSON的文档格式 Use Tiny Validator for JSON data
/* var schema = {
  "items": {
    "type": "boolean"
  }
};

var data1 = [true, false];
var data2 = [true, 123];

pm.test('Schema is valid', function() {
  pm.expect(tv4.validate(data1, schema)).to.be.true;
  pm.expect(tv4.validate(data2, schema)).to.be.true;
});      */

//注意:type类型内的 string,boolean都要小写 且加引号 

//解释说明,下方定义一个schema描述JSON文档格式
var schema = {
    "properties":{
        "code": {
        "type": "string",
         "description":"return code"
                 },
        "message":{
        "type": "string",
        "description":"return message"
                },
        "dataMap": {
        "type": "boolean",
        "description":"return if it  is successful"
                }
        },
    "required": ["code", "message", "dataMap"]
};

//获取接口返回的JSON格式的数据

var data=JSON.parse(responseBody);

//校验返回的responseBody和定义的schema是否相符
pm.test('Schema is valid', function() {
  pm.expect(tv4.validate(data, schema)).to.be.true;
 
});

 

 

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Postman进行API测试时,断言是非常有用的。它们允许你验证API响应是否符合预期。以下是使用Postman进行断言的实操步骤: 1. 发送请求:首先,发送一个API请求。可以选择请求类型(如GET、POST),并设置URL和参数。 2. 添加断言:在收到API响应后,你可以通过选择“Tests”选项卡来添加断言。在这里,你可以使用JavaScript代码编写你的断言逻辑。 3. 编写断言代码:在“Tests”选项卡中,你可以使用Postman提供的JavaScript测试框架编写断言代码。以下是一个简单的例子: ```javascript // 检查响应状态码是否为200 pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); // 检查响应体是否包含特定字段 pm.test("Response body contains field", function () { var jsonData = pm.response.json(); pm.expect(jsonData.fieldName).to.eql("expectedValue"); }); ``` 在上面的例子中,我们使用了`pm.test`函数来创建一个断言。在每个断言中,我们使用了一些断言函数,如`pm.response.to.have.status`来检查响应状态码,`pm.expect`来检查响应体中的特定字段。 4. 运行测试:保存断言代码后,点击发送按钮重新运行请求。Postman将执行断言并显示结果。如果所有断言都通过,你将看到测试通过的消息。 通过上述步骤,你可以在Postman中实操断言,以验证API响应是否符合预期。这有助于确保API的正确性和稳定性。希望这对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值