进行接口测试时,添加断言时必不可少的,断言就是判断响应内容与预期返回是否一致
进行接口测试时,添加断言时必不可少的,断言就是判断响应内容与预期返回是否一致
 
postman可以在请求模块的Tests标签添加断言,比较方便的是,postman已经提供了一些代码片段供我们使用
 
下面以一个接口实例来说下如何处理断言:

如上,响应body的内容为一个json格式的字符串,这些内容可以作为断言的依据
切换到Tests标签,控制台右侧可以看到备用的代码片段

 
1.判断响应内容是否包含某个字符串
点击选择【Response body:Contains string】,左侧出现如下代码段

其中,pm是postman的主要对象,一般通过它来调用函数、数据等;
Body matches string可以看作这个测试代码段的描述说明,可以自己定义;
string_you_want_to_search表示预期响应内容,即用来断言的标准输出,需要根据实际情况设置;
改为如下:
意思就是:判断响应body中是否包含字符串“重点人员修改成功”
如果包含,表示断言结果通过;如果不包含,表示断言结果不通过。
 
2.判断响应内容是否和预期内容完全一致
点击选择【Response body:Is equal to a string】,左侧出现如下代码段

其中,response_body_string处填写的内容要和接口返回的内容完全一致才可以匹配成功
假如响应body内容如下

那么需要把所有返回的内容填写到response_body_string处才可以
拷贝响应内容时,把Raw标签中的原始返回内容放过去即可,这样避免出现格式问题

 
3.判断返回json数据中某个键对应的值
如果响应内容是json格式的字符串,则可以断言json数据中的某个键值对
点击选择【Response body:JSON value check】,左侧出现如下代码段
 

其中,Your test name表示这个测试片段的名称,可以自己任意定义;
jsonData.value表示响应json串中的某个键,如果响应内容如下

所以,jsonData.value可以是json.status或json.desc或json.data
eql()填写的预期返回的字符串(把100改为断言内容即可)
最终形式如下:

如果响应内容是嵌套的字典格式,则一层层引用即可,如下:

如果字典中嵌套了列表,则按照索引引用即可,反正要看清响应内容的格式

 
4.判断请求返回的状态码是否为200
点击选择【Status code:Code is 200】,左侧出现如下代码段

 
其中,Status code is 200表示这个测试片段的名称,可自己定义

5.判断响应体中某个返回值的类型

同样点击选择【Response body:JSON value check】,然后要把jsonData.value放在一个typeof()函数中,这样就是判断输出值的类型了
 
断言设置好后,点击【Send】发送请求,在响应模块的Test Results标签中可以看到断言结果
如果实际返回结果与预期符合,如下:

如果实际返回结果与预期不符,则如下:


2018-12-24  21:23:59
 
 
 
 

postman(三):添加断言的更多相关文章

  1. 接口测试工具postman(三)添加断言

    每个用例执行完成后,可以通过添加断言来判断返回结果是否正确,即表示用例执行是否成功. 官方说明文档:https://learning.getpostman.com/docs/postman/scrip ...

  2. SoapUI、Jmeter、Postman三种接口测试工具的比较分析

    前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下吧.各位如果要转载,请一定注明来源,最好在评论中告知博主一声,感谢.本报告从多个方面对接口测试的三款常用工具 ...

  3. SoapUI、Jmeter、Postman三种接口测试工具的比较分析——灰蓝

    前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下吧.各位如果要转载,请一定注明来源,最好在评论中告知博主一声,感谢.本报告从多个方面对接口测试的三款常用工具 ...

  4. SoapUI、Jmeter、Postman三种接口测试工具的比较

    1.  用例组织方式 首先是用例组织方式的不同,不同的目录结构与组织方式代表不同工具的测试思想,学习一个测试工具应该首先了解其组织方式. SoapUI的组织方式如下图,最上层是WorkSpace,每个 ...

  5. 『政善治』Postman工具 — 9、在Postman中使用断言

    目录 1.Tests的介绍 2.常用SNIPPETS(片段)说明 (1)常用变量相关 (2)状态码相关 (3)响应结果断言: (4)Header : (5)响应速度: 3.示例 (1)响应码断言 (2 ...

  6. Jmeter—4 添加断言 判断响应数据是否符合预期

    发出请求之后,通过添加断言可以判断响应数据是否是我们的预期结果. 1 在Jmeter中发送一个登录的http请求(参数故意输入错误).结果肯定是登陆失败啦. 但结果树中http请求的图标显示‘绿色’表 ...

  7. jmeter添加断言

    先创建一个线程组,再创建一个http请求. 为了方便观察,我们添加两个监听器,察看结果树和断言结果. 添加断言:响应断言,响应断言也是比较常用的一个断言 设置响应断言:正常情况下响应代码是200.选择 ...

  8. Jmeter—添加断言 判断接口响应数据是否符合预期

    发出请求之后,通过添加断言可以判断响应数据是否是我们的预期结果. 1 在Jmeter中发送一个状态返回200的http请求(参数故意输入错误).结果肯定是不是返回200啦. 但结果树中http请求的图 ...

  9. Jmeter入门4 添加断言 判断响应数据是否符合预期

    发出请求之后,通过添加断言可以判断响应数据是否是我们的预期结果. 1 在Jmeter中发送一个登录的http请求(参数故意输入错误).结果肯定是登陆失败啦. 但结果树中http请求的图标显示‘绿色’表 ...

随机推荐

  1. Web开发——JavaScript基础(JSON教程)

    参考: JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更 ...

  2. odoo二次开发 tips

    1.model属性 每个对象(即class)一般由字段(变量)和函数组成,每个对象对应着数据库中的一张表,驼峰命名方式 models.Model 基础模块,会根据字段和模型名在后台数据库生成对应得表文 ...

  3. Django之中间件&信号&缓存&form上传

    中间件 1.中间件是什么? 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用, ...

  4. 配置DNS Server容易忽略的问题

    1.named服务启动成功,但nslookup解析报错: [root@xiamihost3 named]# service named restart 停止 named: [确定] 启动 named: ...

  5. #学号 20175201张驰 《Java程序设计》第1周学习总结

    教材学习内容总结 第一章 ·第一章的内容相对简单,我并未遇到大的困难. ·1.Java特点:语法简单.面向对象.与平台无关.动态. ·2.关于编写源文件:源文件名字必须与public类的名字相同:保存 ...

  6. Mysql导入表信息[Err] 1067 - Invalid default value for '字段名'

    修改mysql配置文件 vi /etc/my.cnf //添加以下配置 sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISI ...

  7. 小学生都能看懂的FFT!!!

    小学生都能看懂的FFT!!! 前言 在创新实践重心偷偷看了一天FFT资料后,我终于看懂了一点.为了给大家提供一份简单易懂的学习资料,同时也方便自己以后复习,我决定动手写这份学习笔记. 食用指南: 本篇 ...

  8. Docker:Docker打包Web API成镜像并上传到Docker Hub(2)

    Docker官方镜像:https://hub.docker.com/: 本文将把一个webapi制作成docker镜像 一.Docker命令 打开Docker Quickstart,有以下常用的命令 ...

  9. 富文本之BootStrap-wysiwyg 带图片上传功能

    BootStrap-wysiwyg插件具有良好的编辑功能和展示效果. 一.使用方法在网上有很多,在此记录自己使用过程中的一些问题和解决方式. 相关依赖: bootstrap-wysiwyg.js (核 ...

  10. IT人员如何开好站立会议

    一.来由 软件开发的过程却又是一个离不开协作.沟通的过程.一个缺乏良好协作,沟通.理解和目标一致的软件团队,是很难高质高效的交付的. 敏捷的众多实践中,有一个为了提升团队协作的经典实践:站立会议 二. ...