postman循环操作及响应判断-支持文本多变量输入
1、接口循环变量设置
2、响应判断 --参考博客 https://www.jianshu.com/p/f115459077a1
var result = JSON.parse(responseBody);if(result.retCode=='0'){tests["测试通过")"]=true;}else{tests["测试失败"]=false;}
3、迭代测试
4、多变量输入
第一行为变量名,英文逗号分割
第二行起,都为变量值,同第一行一样逗号分割
5、postman test常用函数网址
https://learning.getpostman.com/docs/postman/scripts/test_examples
6、参考博客
https://www.jianshu.com/p/f115459077a1 以下为源博客内容:
使用Postman进行接口测试时,如何对接口响应的结果进行校验呢。判断接口返回的实际结果是否符合预期结果,需要使用到Postman的断言功能。一般情况下,断言一个接口的响应结果会根据响应状态码或响应结果中的关键字段的值进行判断。
断言:检验预期值与实际值是否相等或是否匹配
预期值 = 实际值 则测试通过OK
预期值 ≠ 实际值 则测试不通过Fail
Postman针对接口的请求报文和响应报文分别提供了Pre-request Script、Test Script,这两个是建立在JavaScript语言环境基础上的
Pre-request Script:预置脚本。可用来修改一些默认参数,在请求发送之前执行。
Test Script:后置测试脚本。当接收到响应之后,再执行测试脚本。
以下针对具体案例说明Postman的断言功能的使用
响应结果json字符串1
请求URL:http://{{IP}}:{{Port}}/web/restful/claim/pushClaim
请求方式:post
传递参数:accidentNo=随机数
断言规则
A.响应状态码:分别对不同状态码进行处理输出
B.响应内容:返回的accidentNo参数值与定义的一致
C.响应时间:小于0.8s
{"accidentNo": "Acc_560295","auditReport": {"auditRuleTriggers": []},"claimUniqueId": "claim_131468","interfaceCode": "ClaimPush","message": "success","resultCode": "000" }
1、请求发送前,参数设置Pre-request Script
// 随机事故号 environment.accidentNo = `Acc_${randomInt(100000, 999999)}`; pm.environment.set("accidentNo", environment.accidentNo);
2、请求响应后,在Test Script中进行判断操作,思路如下
1)、对预期结果和返回结果进行判断
2)、判断相等则设置tests语句为true
3)、判断不相等则设置tests语句为false,即失败,并且打印实际接口定义的响应代码
var state=responseCode.code;//获取返回状态 var number=(state.toString()).substr(0,1);//将返回的number类型转为string类型,并获取第一位 switch(number){ case '2':test();break; case '4':clientQue(); //4开头的状态,简单定义为客户端问题break; case '5':serverQue(); //5开头的状态,简单定义为服务器问题break; default:tests['测试不通过,状态='+state]=false; //如出现其他情况,则打印状态,并测试不通过break; }function test(){ //状态为200执行的函数 var accidentNo = pm.environment.get("accidentNo",accidentNo);var result = JSON.parse(responseBody);if(result.accidentNo==accidentNo){tests["测试通过(事故号=========="+accidentNo+")"]=true;}else{tests["测试失败 (响应代码="+result.resultCode+")"]=false;} }//客户端问题 function clientQue(){tests['客户端问题(请求参数或方式错误)---测试失败---状态码为'+state+' requestURl为'+request.url]=false; }//服务器或者网关问题 function serverQue(){tests['服务器或网关问题---测试失败---状态码为'+state+' requestURl为'+request.url]=false; }//检验响应时间是否小于0.8s pm.test("响应时间 < 800ms", function () {pm.expect(pm.response.responseTime).to.be.below(800); });
响应结果json字符串2
请求URL:http://{{IP}}:{{Port}}//web/rest/submitTask
请求方式:post
传递参数:accidentNo=随机数
断言规则
A.响应状态码:是否为200
B.响应内容:是否包含指定字符串
C.响应时间:小于0.8s
{"responseBodyVo": {"auditRuleTriggers": [{"actualValue": "","auditScore": 10,"itemInfoList": [{"claimItemUniqueId": "Unique0005","feeAfterDiscount": 100,"itemName": "发动机油","operationTypeId": "05",}],"itemName": "玻璃胶","ruleName": "请核实是否属于保险责任","ruleNo": "010201002X","ruleType": "03",}] }
1、请求发送前,参数设置Pre-request Script
// 随机事故号 environment.accidentNo = `Acc_${randomInt(100000, 999999)}`; pm.environment.set("accidentNo", environment.accidentNo);
2、请求响应后,在Test Script中进行判断操作,思路如下
//检验JSON格式的响应数据中ruleNo是否为"0102010020" if(tests["code is 200"] = responseCode.code === 200){ pm.test("返回ruleName值 = 请核实是否属于保险责任", function () {var jsonData = pm.response.json();if(pm.expect(pm.response.text()).to.include("0102010020")){pm.expect(pm.response.text()).to.include("请核实是否属于保险责任");}}); }else{pm.test("测试不通过",function(){}); }//检验响应时间是否小于0.8s pm.test("响应时间 < 800ms", function () {pm.expect(pm.response.responseTime).to.be.below(800); });var registNo = pm.environment.get("registNo"); var deflossMainId = pm.environment.get("deflossMainId"); //在Postman Console控制台输出registNo、deflossMainId值 // console.log(registNo); // console.log(deflossMainId);//检验响应的状态码是否为200 pm.test("报案号"+registNo+" 定损单号"+registNo+" Status code is 200", function () {pm.response.to.have.status(200); });//检验是否包含规则 "0102010020" pm.test("包含字符串'0102010020'", function () {pm.expect(pm.response.text()).to.include("0102010020"); });
转载于:https://www.cnblogs.com/shishibuwan/p/11246415.html
postman循环操作及响应判断-支持文本多变量输入相关推荐
- kali怎么新建文本_macOS 开发之 NSTextField 支持文本快捷键(一): 基本操作
在日常 macOS 开发中经常会用到 NSTextField 控件,但是会发现一个问题,如果开发的应用没有顶栏应用菜单,编辑控件中的文本内容的时候,按下文本操作快捷键无效,而得到的是系统警告音.本文就 ...
- 判断参数大于0_能做条件判断的文本函数
我们知道文本函数的一般作用就是查找.替换.提取文本等等,可是能做条件判断的文本函数你见过吗?不仅如此,它还可以让日期变数字.数字变大写.金额变万元等等.说到这里,屏幕前的小伙伴有猜到它是谁吗? 在Ex ...
- [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器...
[完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器 原文:[完美]原生JS获取浏览器版本判 ...
- android 点赞 1,GoodView Android 点赞+1 效果,支持文本和图像 @codeKK Android开源站
Android 点赞+1 效果,支持文本和图像 ScreenShot Usage Gradle: compile 'com.wx.goodview:goodview:1.0.0' Demo Java: ...
- ANSI环境下支持多语言输入的单行文本编辑器 V0.01
File: SMLInput Name: ANSI环境下支持多语言输入的单行文本编辑器 Author: zyl910 Blog: http://blog.csdn. ...
- 【GitHubDailyShare】消息导出工具,可将聊天记录导出成 HTML 文件、支持文本、语音、图片、视频、消息
推荐一款开源的微信消息导出工具:WeChat Export,可将聊天记录导出成 HTML 文件.支持文本.语音.图片.视频.消息等资源. GitHub:github.com/luin/wechat-e ...
- Highcharts高级响应能力支持
Highcharts高级响应能力支持 Highcharts是业界领先的JavaScript图表库.Highcharts被数以万计的开发人员和世界上100家最大公司中的80%以上使用.Highchart ...
- Excel-判断一个文本字符串中是否包含数字! 判断一个文本字符串是否是纯汉字!...
0.判断一个文本字符串中是否包含数字!/判断一个文本字符串是否是纯汉字! 公式=IF(LENB(A1)=2*LEN(A1),"都是汉字","含有非汉字字符") ...
- Excel 2010 VBA 入门 047 判断某文本中是否包含指定字符(Instr)
示例 如图所示,该表为某公司采购清单.由于在记录时并未标记供应商来源地,只能通过E列供应商名称中寻找.现需要筛选出所有上海的供应商采购记录,该如何用VBA实现? 商品编码 入库日期 部门 业务员 供应 ...
最新文章
- Swift Package Manager 库制作
- max日期最大值为0_excel函数技巧:MAX在数字查找中的应用妙招
- struts2被淘汰的原因
- 为什么json转化有斜杠_json中大量反斜杠问题
- 四川方言说唱《管我锤子事》
- SEO如何辨别真假Baiduspider
- vSphere 5.5 使用Web Client打开控制台窗口显示连接超时
- Atitit spirngboot 访问 html文件总结 自设计web服务器原理与实现 Url路由压力,读取url,获得项目更路径绝对路径,拼接为文件路径。读取文建内容输出即可 目录路径 u
- Monkey test 汇总
- 用vbs脚本实现软件的自动登录
- Linux 下的IP/子网计算器:ipcalc
- tensorflow各个版本的CUDA以及Cudnn版本对应关系
- Python爬取全网文字并词云分析(全程一键化!)
- Android实习周记:第三周,工作里重复太多,觉得枯燥,怎么办?
- 什么是马甲包?有什么作用?
- 有限差分法在最优化问题中的应用
- 在阿里云盘扩容过程中遇到的坑
- C++面向对象程序设计 学习心得
- FFplay 播放器
- Python基础-----列表生成式、偏函数、高阶函数、闭包、装饰器
热门文章
- Windows Terminal Preview 1909 发布
- Android 10 正式版本或将于 9 月 3 日推出
- ASP.NET Core和Blazor Code Venture:配置Azure AD身份验证
- 中科院计算机学院研究生招生名额,中科院研究生招生
- python apache_Windows 配置 Apache Python CGI
- python 获取pv_Python爬虫入门教程 40-100 博客园Python相关40W博客抓取 scrapy
- c语言socket面试题,【C++工程师面试宝典】学习说明_互联网校招面试真题面经汇总_牛客网...
- 从谷歌浏览器复制不带样式_如何更新ETHERSCAN区块链浏览器上的代币信息
- 开发接口文档_产品经理必懂的接口文档撰写方式
- spring整合jedis(单节点)