接口测试在python、jmeter、postman工具下如何做断言?

断言在接口测试中至关重要,用于验证预期结果。本文介绍了Python的内置assert和unittest框架的断言方法,包括各种常用的断言表达式。同时,详细阐述了在JMeter中如何添加Response Assertion进行断言,以及Postman中的快捷断言,如状态码、响应内容、返回标识符、响应时间和响应头的断言方式。

断言是判定用例是否达到测试标准,验证实际结果是否与预期结果一致的关建锁。

在接口测试、GUI自动化测试,接口自动化测试时自动校验结果适合做大批量重复的判断时使用。

Python做接口测试的断言

1.1 Python内置断言方式——assert( )

语法:assert boolean [,arguments] 其中arguments参数设置为异常信息的解释

示例:

(1)assert ‘a’ == b

(2)assert len(lists) >= 20 , ‘列表信息小于20个’

(3)assert ‘请求成功’ in response.text , “请求失败,请检查入参和请求头”

(4)assert response.json().message == “OK” ,“统一标识符检验失败”

1.2 unittest框架独有断言方式

该框架需要引用unittest,以及类继承unittest.TestCase,使用方式为self.assertXXX( )

断言方式导图
无法上传图片,断言方式导图请查看:接口测试在不同工具下如何做断言?

常用断言的说明:

(1)assertIn(a,b) 校验a是b的子串

(2)assertIs(a,b) 校验a和b是同一个对象

(3)assertTrue(x) 校验x为True

(4)assertFalse(x) 校验x为False

(5)assertEqual(a,b) 校验a等于b

(6)assertNotEqual(a,b) 校验不等于b

(7)assertIsNot(a,b) 校验a和b不是同一个对象

(8)assertIsNone(x) 校验x是None

(9)assertIsNotNone(x) 校验x不是None

(10)assertNotIn(a,b) 校验a不是b的自串

(11) isinstance(a,b) 校验a对象是b类的实例

(12)not isinstance(a,b) 校验a不是b的实例

(13)assertRegex(s, r) 校验r.search(s)

(14)assertNotRegex(s, r) 校验not r.search(s)

(15)assertListEqual(a, b) 校验list列表类型的a和b内容一致

(16)assertTupleEqual(a, b) 校验tuple元组类型的a和b内容一致

(17)assertSetEqual(a, b) 校验set集合类型的a和b内容一致

(18)assertMultiLineEqual(a, b) 校验string类型的a和b内容一致

jMeter做接口测试的断言
Jmeter接口测试中实现数据库断言

在请求接口下添加断言:

比如选择Response Assertion,然后进行具体的断言配置

最后在接口请求下添加观察结果树、断言结果等监听组件

查看断言结果展示的情况

标题postman做接口测试的断言

postman上的快捷断言Tests

常用断言方式:学会几种断言,才算掌握了postman

Postman接口测试工具如何发送请求、断言以及请求数据参数化

(1)响应状态码断言:验证响应结果的状态码是否为200

pm.test(“校验响应码为200”, function () {

pm.response.to.have.status(200);

});

(2)响应String断言:校验响应内容String包含某字符串

pm.test(“响应结构包含操作成功”, function () {

pm.expect(pm.response.text()).to.include(“操作成功”);

});

(3)响应统一返回标识符断言:校验响应Json格式的某个字段等于OK

pm.test(“统一返回标识符为OK”, function () {

var jsonData = pm.response.json();

pm.expect(jsonData.message).to.eql(“OK”);

});

(4)响应时间断言:响应的时间是否小于1000毫秒

pm.test(“响应时间小于1000ms”, function () {

pm.expect(pm.response.responseTime).to.be.below(1000);

});

(5)响应头断言:响应头信息是否包含某个字段

pm.test(“响应头包含Content-Type字段”, function () {

pm.response.to.have.header(“Content-Type”);

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值