Postman-批量请求接口并存储返回结果
摘要:
- 这是一篇0基础工具文档
- 使用:postman 参数化、测试断言、存储测试结果 等几项功能
- 实现:对接口进行批量请求,并存储结果
先创建一个集合,再在集合中创建接口请求
这样执行集合的时候,就可以通过参数化的文本文件,实现对同一接口的批量执行
贴图:

如图输入请求的各项内容。
也可以使用postman菜单栏 File/import功能,将抓包获取到请求的curl贴入Raw text中,直接生成。


从chrome中粘贴时注意要选用bash这个类型
新建接口请求,设置好请求参数,如上图7变量。
对需要参数化的内容,在参数值这里输入{{参数名称}},创建一个变量。

将需要请求的内容保存在csv文件里
csv文件格式:
单列第一行,参数名
该列其他行输入需要请求的参数值
执行第一步中的集合,在配置文件中选择csv文件
即可按csv中的列内容批量请求接口了

将以下代码输入接口请求中的 Tests 中,用以实现对返回参数的截取及返回
responseBody //系统预设参数,接口返回体参数
// var t = JSON.stringify(responseBody) //将responseBody转换成 JSON字符串形式,非必须,在返回内容是json格式的情况下不需要
var b = responseBody.substr(responseBody.indexOf("text"), 10); //截取responseBody第一个text文本的首字母下标后10个字符。
console.log(responseBody); //控制台返回responseBody的内容
console.log(b); //控制台返回b的内容
pm.test("截取的内容是:" + b + "返回体的内容是:"+ responseBody, function () {//用例的返回内容+断言内容
pm.expect(pm.response.text()).to.include("期望的返回内容"); //判断是否有期望的返回内容
})
eg:
var a = "hello world,how old are you"
var c = a.substr(a.indexOf("ld"), 4); //stringObject.substr(start,length) 1 其中start是要截取字符串的开始下标,length是要截取的长度
console.log(c);
pm.test(a + "*******" + c, function () {
})
说明:
这部分内容是js代码,具体的语言使用搜索js即可。
当前用到的:
1、responseBody,当前请求的返回内容
2、responseBody.substr(responseBody.indexOf(“abcdef”), 50),
使用substr()方法,截取返回内容中的指定内容。
stringObject.substr(start,length)
start:要截取字符串的开始下标,length:要截取的长度

执行集合后,将会显示对应集合的测试,点击右上角Export Result,可以将之前断言中返回的内容进行保存,之后再对保存的文档进行文本处理。
为什么4.1%2返回0.0999999999999996?但是4.2%2==0.2。 最佳答案 参见此处:WhatEveryProgrammerShouldKnowAboutFloating-PointArithmetic实数是无限的。计算机使用的位数有限(今天是32位、64位)。因此计算机进行的浮点运算不能代表所有的实数。0.1是这些数字之一。请注意,这不是与Ruby相关的问题,而是与所有编程语言相关的问题,因为它来自计算机表示实数的方式。 关于ruby-为什么4.1%2使用Ruby返
在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这
我有一个包含多个键的散列和一个字符串,该字符串不包含散列中的任何键或包含一个键。h={"k1"=>"v1","k2"=>"v2","k3"=>"v3"}s="thisisanexamplestringthatmightoccurwithakeysomewhereinthestringk1(withspecialcharacterslike(^&*$#@!^&&*))"检查s是否包含h中的任何键的最佳方法是什么,如果包含,则返回它包含的键的值?例如,对于上面的h和s的例子,输出应该是v1。编辑:只有字符串是用户定义的。哈希将始终相同。 最佳答案
所以我开始关注ruby,很多东西看起来不错,但我对隐式return语句很反感。我理解默认情况下让所有内容返回self或nil但不是语句的最后一个值。对我来说,它看起来非常脆弱(尤其是)如果你正在使用一个不打算返回某些东西的方法(尤其是一个改变状态/破坏性方法的函数!),其他人可能最终依赖于一个返回对方法的目的并不重要,并且有很大的改变机会。隐式返回有什么意义?有没有办法让事情变得更简单?总是有返回以防止隐含返回被认为是好的做法吗?我是不是太担心这个了?附言当人们想要从方法中返回特定的东西时,他们是否经常使用隐式返回,这不是让你组中的其他人更容易破坏彼此的代码吗?当然,记录一切并给出
rails中是否有任何规定允许站点的所有AJAXPOST请求在没有authenticity_token的情况下通过?我有一个调用Controller方法的JqueryPOSTajax调用,但我没有在其中放置任何真实性代码,但调用成功。我的ApplicationController确实有'request_forgery_protection'并且我已经改变了config.action_controller.consider_all_requests_local在我的environments/development.rb中为false我还搜索了我的代码以确保我没有重载ajaxSend来发送
为什么以下不同?Time.now.end_of_day==Time.now.end_of_day-0.days#falseTime.now.end_of_day.to_s==Time.now.end_of_day-0.days.to_s#true 最佳答案 因为纳秒数不同:ruby-1.9.2-p180:014>(Time.now.end_of_day-0.days).nsec=>999999000ruby-1.9.2-p180:015>Time.now.end_of_day.nsec=>999999998
在Ruby1.9.3(可能还有更早的版本,不确定)中,我试图弄清楚为什么Ruby的String#split方法会给我某些结果。我得到的结果似乎与我的预期相反。这是一个例子:"abcabc".split("b")#=>["a","ca","c"]"abcabc".split("a")#=>["","bc","bc"]"abcabc".split("c")#=>["ab","ab"]在这里,第一个示例返回的正是我所期望的。但在第二个示例中,我很困惑为什么#split返回零长度字符串作为返回数组的第一个值。这是什么原因呢?这是我所期望的:"abcabc".split("a")#=>["bc"
导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
//1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json