我正在处理一个项目,在该项目中,我必须使用变量的不同值多次访问Web服务
例如,http://mywebservice.com?variable1= {{value}}
并使用Postman集合运行程序传递不同的值。
我想把所有请求的响应正文下载到一个文件中,该怎么做呢?
我正在处理一个项目,在该项目中,我必须使用变量的不同值多次访问Web服务
例如,http://mywebservice.com?variable1= {{value}}
并使用Postman集合运行程序传递不同的值。
我想把所有请求的响应正文下载到一个文件中,该怎么做呢?
6条答案
按热度按时间huwehgph1#
我不 * 认为 * 您可以在收集运行器中下载请求的响应主体-您可以导出测试结果,但我不确定这是否包含响应主体数据。您也可以在运行器中单击每个请求并查看响应主体,但这仍然是UI中的全部内容。
对于单个请求,可以使用
Send and Download
选项,它将显示响应正文:我相信您可以做一些变通办法,将响应主体保存为环境或全局变量,然后导出,但这似乎是一个笨拙的、有点黑客的解决方案。
但是每次都会被覆盖,所以每次都需要更改变量名,或者在代码中更改变量名,以获得一组唯一的变量。
然后,可以使用
Manage Environment
部分将它们导出并保存在本地。35g0bw712#
如果您不介意将最终数据存储在环境变量中,下面是一个简单的解决方法,在Collection Runner完成后,只需在文本编辑器中将其复制到一个.JSON文件中。
首先,您需要创建一个环境(Postman上的这篇博客文章中有很好的教程),并定义一个名为
responseData
的变量,其值为[]
。然后,在Builder中的“Tests”下添加以下代码并保存您的集合。Postman环境变量旨在作为字符串使用,因此我们将解析对象,然后将JSON响应从API推送到对象数组中。
现在,您可以通过查看环境变量值来检索包含所有响应数据的嵌套JSON对象(请参见下面的示例)。
responseData
值重置为[]
,以避免保留以前运行的数据。tvmytwxo3#
我遇到了这种情况,并使用CLI工具newman解决了该问题
首先需要将集合和环境导出为JSON文件,然后使用以下命令安装纽曼:
然后,如果您想要一个整洁的HTML结果报告,那么首先使用下面的命令安装外部报告的
newman-reporter-html
现在,您可以通过运行以下命令来生成报告:
默认情况下,HTML文件不包含请求和响应主体。要呈现它,首先下载默认的handlebars模板,然后对其进行一些调整。您可以找到默认的handlebars模板here。下载该文件并将其保存为
template.hbs
。然后在任何编辑器中打开它,并查找呈现Status Code
的代码。它可能如下所示:在此部分下面,添加以下行:
现在,您可以运行以下命令来呈现包含请求和响应正文的HTML:
希望这对你有帮助!
bvuwiixz4#
通过运行一个本地服务器,然后使用Postman中的scripts构建一个发送到该服务器的请求,您可以写入到您的文件系统。
这里有一篇关于how to do that using the collection runner的博客文章,你也可以用纽曼做同样的事情。
对于您的项目,您可以将响应主体存储在变量中,然后将该变量作为POST请求中的有效负载传递到本地服务器。您的本地服务器将侦听POST请求,并将数据写入您的文件系统。
qvsjd97n5#
从这里得到提示-http://blog.getpostman.com/2017/09/01/write-to-your-local-file-system-using-a-postman-collection/,下面是我编写的一个nodeJS服务器,它将捕获请求和响应,并将它们与请求名称(您在Postman中设置的)和URL沿着逐个打印出来。
要运行上面的代码,您需要安装纽曼,这是Postman的CLI。首先在您的计算机中安装node和npm,然后转到您的目录并通过-安装newman
然后将上面的代码复制粘贴到一个js文件“filename.js”中,并通过下面的命令运行它-
包含所需信息的输出将保存在同一目录下名为“test.html”的文件中。
wr98u20j6#
要导出响应,请按照以下步骤操作,因为没有简单的方法。
1.将这些行添加到你的测试脚本pm.test(pm.response.value,true)中;
1.运行集合并导出集合
1.现在,您可以在Excel工作表中获得响应
注如果您只需要响应,则禁用所有测试。在Excel工作表中修改响应并删除“通过”文本。