接口测试:postman之断言的使用

postman断言作用及怎么使用

1.环境变量

(1)设置环境变量:

postman.setEnvironmentVariable("key", "value");

(2)获取环境变量:

postman.getEnvironmentVariable("key");
获取一个环境变量(其值是一个字符串对象)

(3)清楚一个环境变量

postman.clearEnvironmentVariable("key");

 

2.全局变量

(1)设置全局变量:

postman.setGlobalVariable("key", "value");

(2)获取全局变量:

postman.getGlobalVariable("key");
(3)清楚全局变量:

postman.clearGlobalVariable("key");

 

3.检查响应中包含string

tests["Body matches string"] = responseBody.has("string_you_want_to_search");

 

4.转化XML格式的响应成JSON对象

var jsonObject = xml2Json(responseBody);

 

5.检查response是否等于一个字符串

 tests["Body is correct"] = responseBody === "response_body_string";

 

6.检查JSON某字段值

var data = JSON.parse(responseBody);

tests["Your test name"] = data.value === 100;

 

7.检查Content-Type是否包含在header返回(大小写不敏感)

 tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");

//Note: the getResponseHeader() method returns the header value, if it exists.

 

8.检查Content-Type是否包含在header返回(大小写敏感)

 tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");

 

9.响应时间检查

(1)检查请求耗时时间小于200ms

tests["Response time is less than 200ms"] = responseTime < 200;

(2)响应时间在一个特定的范围内(包括下限和上限)

tests["Response time is acceptable"] = _.inRange(responseTime, 100, 1001);

 

10.检查Status code为200或者301

tests["Status code is 200"] = responseCode.code === 200 || responseCode.code === 301;

 

11.检查Code name是否包含字符串:

 tests["Status code name has string"] = responseCode.name.has("Created");

 

12.检查成功post的请求status code

tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

 

13. 将TinyValidator用于JSON数据
var schema = {
"items": {
"type": "boolean"
}
};
var data1 = [true, false];
var data2 = [true, 123];

tests["Valid Data1"] = tv4.validate(data1, schema);
tests["Valid Data2"] = tv4.validate(data2, schema);
console.log("Validation failed: ", tv4.error);

 

14. 解码base64编码数据
var intermediate,
base64Content, // assume this has a base64 encoded value
rawContent = base64Content.slice('data:application/octet-stream;base64,'.length);

intermediate = CryptoJS.enc.Base64.parse(base64content); // CryptoJS is an inbuilt object, documented here: https://www.npmjs.com/package/crypto-js
tests["Contents are valid"] = CryptoJS.enc.Utf8.stringify(intermediate); // a check for non-emptiness

 

pm.response.to.be.*

The properties inside the pm.response.to.be object allows you to easily assert a set of pre-defined rules.

  • pm.response.to.be.info

    Checks 1XX status code

  • pm.response.to.be.success

    Checks 2XX status code

  • pm.response.to.be.redirection

    Checks 3XX status code

  • pm.response.to.be.clientError

    Checks 4XX status code

  • pm.response.to.be.serverError

    Checks 5XX

  • pm.response.to.be.error

    Checks 4XX or 5XX

  • pm.response.to.be.ok

    Status code must be 200

  • pm.response.to.be.accepted

    Status code must be 202

  • pm.response.to.be.badRequest

    Status code must be 400

  • pm.response.to.be.unauthorized

    Status code must be 401

  • pm.response.to.be.forbidden

    Status code 403

  • pm.response.to.be.notFound

    Status code of response is checked to be 404

  • pm.response.to.be.rateLimited

    Checks whether response status code is 429

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值