数据文件是非常强大的方式来测试您的API与不同的数据,以检查它们是否在意外情况下正常运行。
我们可以想到数据文件是每次迭代运行的参数。我们来看一个例子。
下载本例中使用的集合和数据文件:
在这里,我们有一个简单的集合,具有单个POST请求。如果您打开此请求,您将在请求中path
(在URL中)&value
(请求正文)中看到两个变量。这些就像环境变量一样使用。我们将使用JSON / CSV文件为这些变量提供值。打开测试脚本时,您会看到我们在测试脚本中使用了一些变量 - data
具体来说。这在脚本本身没有定义。Postman Sandbox从我们将在收集运行中选择的JSON / CSV文件初始化数据变量。
我们首先检查下数据文件。我们目前支持JSON和CSV文件。
JSON数据文件如下所示:
[{
"path": "post",
"value": "1"
}, {
"path": "post",
"value": "2"
}, {
"path": "post",
"value": "3"
}, {
"path": "post",
"value": "4"
}]
这是一组对象。每个对象表示一次迭代的变量值。此对象的每个成员表示一个变量。这样,在第一次迭代中,调用的变量path
将具有该值post
,该变量value
将具有该值1
。同样,在第二次迭代,path
仍然是post
和value
是2
。在这个例子中,变量path
不会改变它的迭代值,但是value
会跟着变化,这完全取决于你。
数据文件也可以是CSV。示例CSV如下所示:
path, value
post, 1
post, 2
post, 3
post, 4
在典型的CSV方式中,第一行表示所有变量名,后续行表示每次迭代中这些变量的值。对于迭代1,path
具有值post
,并且value
是1
。对于第二次迭代,path
仍然是post
,但value
是2
。
请注意,进行一次运行您只能使用一个数据文件。
现在,您了解如何构建数据文件,让我们将此数据文件提供给集合运行。单击Select File
,然后选择其中一个文件。您也可以通过单击文件名旁边的Preview
来预览每个迭代的每个变量的值。
我们现在来运行我们的集合。你会看到所有的测试都通过了。如果打开请求调试工具提示并展开Request Body
,您将看到变量{{value}}
被数据文件所指定的值替换。详细了解调试请求。实际上,对于不同的迭代,这个值是不同的。这样,我们已经将不同类型的数据投入到我们的API中,并确保它在每种情况下都能正常工作。
我们再来看看我们的测试脚本。该变量data
是从数据文件获取值的预定义变量。通过每次迭代,它的值将从我们的文件中的新数据更新。data
是您的文件中定义的所有变量的对象,因为它是键。由于这个API回传了发送给它的任何东西,所以我们断言Echo的返回值与我们文件所指定的值相同。
数据变量可以在所有可以使用环境变量的地方使用,除了在预先请求和测试脚本之外,它们以完全相同的方式使用。