接上一小节的 Postman 批量运行用例中提到的 Collection Runner 界面有各种参数,如下图:
运行参数如下:
在 Postman 中不同的环境可以设置不同的环境变量值,这样可以通过切换环境,灵活改变需要修改的变量值。
在运行 Collection 的时候,同样可以通过切换环境来改变这些环境变量的值。
关于环境及环境变量,请参考对应的章节。
迭代的意思其实就是运行多少次。
以下示例中,我选中了 Postman Echo 中的一个文件夹,并设置了迭代次数为 3 次:
我们看看运行结果:
设置了迭代 3 次,那么 Runner 会将选中的请求运行 3 次,在运行结果的右侧,我们可以看到一个筛选器,你可以点击对应的数值,分别查看每次运行的情况。
你还可以通过顶部橙色的按钮Run Summary
查看运行摘要,如下图:
在摘要界面,我们可以看到三个迭代运行的情况摘要,在此界面所有迭代中都是通过才会标记该用例为通过(也就是请求前面的方框为 绿色),可以点击列表顶部的数字回到对应迭代的运行结果界面。
默认情况下,会开启所有请求的日志记录,但是对于一些大型的 Collection,可以关闭日志记录以提高性能。
Log Responses 有三种选项:
这是 Postman 提供的数据驱动的功能,可以选择 Csv 或者 Json 文件中记录的数据。
以下面的请求为例,下图中的请求有两个参数path
和value
:
那么对应的文件格式如下:
csv 是一种以逗号为分隔符的文本文件,也可以通过 excel 编辑。Postman 支持的 csv 数据文件格式如下(顶部的 path 和 value 分别对应 Collection 请求中的变量):
path, value
post, 1
post, 2
post, 3
post, 4
Json 文件大家应该都清楚,是一种类似 Js 中对象格式(熟悉 Python 的同学可以参考字典格式)。
Postman 支持的格式为一个数组,数组中的对象包含的键值对为所有的变量值:
[{
"path": "post",
"value": "1",
}, {
"path": "post",
"value": "2",
}, {
"path": "post",
"value": "3",
}, {
"path": "post",
"value": "4"
}]
注意,如果数据文件中的变量数量少于 Collection 中使用的变量数量,那么 Postman 运行时会尝试从**环境( Environment )**中取值。
文件上传后,会在 Data 选项下方出现 Data File Type 选项:
提示: Iterations 迭代的数量,会根据数据的数量自动设置。比如上面我们的数据有 4 条,则会自动设置迭代数量为 4。当然,你可以修改。
默认情况下,每次 Collection 运行结束后,都会自动清理测试过程中由代码产生的环境变量和全局变量。
如果你之前在环境中设置了某个变量的值,就算在 Collection 中有代码改变变量的值,在运行 Collection 后,变量的值依然时你设置的那个而不是代码改变后的。但如果你勾选了此设置,那么你将会看到变量的值变为运行过程中代码改的那个值。
简单举一个例子(以下环境和环境变量的操作请参考对应章节):
https://postman-echo.com/get?test={{value}}
请求的 Tests为:
pm.environment.set("value", "xyz"); // 重设 value 变量的值
pm.test("判断请求是否包含test参数", function () {
pm.expect(pm.response.text()).to.include("test");
});
在我们测试会保存 Cookie 的请求时,Postman 内置的 Cookie 管理器会自动储存请求收倒的 Cookie 信息(这功能类似浏览器的行为)。后续请求可以使用 Cookie 管理器中的 Cookie 信息。
比如登录请求后会自动存储 Cookie,而后需要登录才能访问的请求,会使用已存储的 Cookie 信息,就能正常访问。
此设置如果勾选,则会阻止 Collecion 中的请求存储 Cookie 和从 Cookie 管理器中读取 Cookie。也就是说,你需要自己额外处理这些 Cookie。
当然如果这些请求对应的接口并没有使用 Cookie 机制那就不用在意此选项了。