领取资料,咨询答疑,请➕wei: June__Go
上一小节我们学习了Postman前置脚本的使用方法,本小节我们讲解一下Postman断言脚本的使用方法。
完成postman的请求之后,要构成一个完整的接口测试用例,我们需要对测试用例设置预期结果并进行验证,在Postman中通过tests脚本里添加断言来完成预期结果的验证。
Postman中添加断言
postman中的断言操作在tests菜单中添加脚本进行设计,并且在Snippets列表提供了一系列模板可供使用,点击之后可以在tests脚本中生成对应的脚本代码,postman提供的模板如下:
Postman中的断言使用非常简单:
在Tests菜单中添加断言之后,重新点击Send发起请求,则会在返回结果窗中出现Test Results菜单列出执行的断言脚本的结果。
平常使用时掌握常用断言模板即可,不常用的断言模板可作为了解。
常用断言模板
Response Body: Contains string 断言返回体内容包含指定字符串
使用时,修改Body matches string为用例的名称,修改string_you_want_to_search为预期包含的字符串。
以诗词接口https://api.apiopen.top/api/sentences 为例,返回结果为:
那么断言可以写成:
执行结果如下:
Response Body: Json value check 验证json格式返回中的字段
由于大部分接口的返回体都是json格式,所以Json value check是最常用的断言方法模板,没有之一。
使用时,需要注意从json格式中通过语法层级解析得到想要验证的字符串的内容。
同样以诗词接口https://api.apiopen.top/api/sentences为例:
返回结果为:
可以对其中的message字段值进行校验,那么需要从jsonData对象中获取message字段,即jsonData.message,修改断言脚本如下:
不常用断言模板
Status code:Code is 200 断言返回状态码为200
其中的含义很好理解,pm表示postman,在test方法中设置用例的名称Status code is 200。使用时,根据预期的状态码修改function中的200即可。
通常情况下,希望获取到的返回状态码都是200。
Response Body: Is equal to a String 断言返回体内容与指定字符串相等
与Response Body: Contains string 类似,不同的是,Response Body: Is equal to a String需要设置的预期结果是完整的请求体内容,较少使用。
并且要注意如果是json格式的返回结果,最好选择Text格式显示返回体再行复制。
同时由于json格式的字符串通常带有双引号,所以还需要对字符串中的双引号进行转义,或者将to.hava.body()方法代码的双引号改为单引号使用。
如果出现unicode编码,也要注意对\进行转义。
以特斯汀自动化平台头像上传接口http://www.testingedu.com.cn/mypro/api/user/setavatar为例:
使用起来过于麻烦,一般不推荐使用该断言模板。
Response Headers:Content-Type header check 断言返回头中有指定头域
使用非常简单,在脚本中修改想要验证的头域名。
例如头域字段中包含Access-Control-Allow-Origin,就可以对它进行校验
Response time is less than 200ms 断言响应时间小于200毫秒
用于验证请求发出后得到响应的时间小于指定毫秒数。
例如:
除了上述介绍的后置脚本以外,Postman内置的后置脚本总共有如下几种,大家可以参考一下。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!领取资料,咨询答疑,请➕wei: June__Go