- 安装与更新
- 发送第一个请求
- 创建第一个集合(collections)
- 界面布局
- 帐号
- 同步
- 设置
- 请求(Request)
- 响应(Response)
- 历史记录(History)
- API 请求疑难解答
- 调试和日志
- 授权(Authorization)
- Cookies
- 证书(Certificates)
- 捕获 HTTP 请求(Capturing HTTP requests)
- Interceptor 扩展
- 生成代码段(Generate code snippets)
- 发出 SOAP 请求
- 创建集合(Creating collections)
- 分享集合(Sharing collections)
- 管理集合(Managing collections)
- 使用 Markdown 添加描述
- 示例(Examples)
- 数据格式
- 脚本简介
- 预请求脚本(Pre-request scripts)
- 测试脚本
- 测试示例(Test examples)
- 分支和循环(Branching and looping)
- 沙盒(Sandbox)
- 变量(Variables)
- 管理环境(Manage environments)
- 管理全局变量(Manage globals)
- 开始运行一个集合
- 在集合运行器中使用环境
- 使用数据文件(Working with data files)
- 运行多次迭代(Running multiple iterations)
- 构建工作流程(Building workflows)
- 共享集合运行(Sharing a collection run)
- 调试集合运行(Debugging a collection run)
- 与 Newman 集成
- 与 Jenkins 集成
使用数据文件(Working with data files)
数据文件是非常强大的方式来测试您的 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 的返回值与我们文件所指定的值相同。
数据变量可以在所有可以使用环境变量的地方使用,除了在预先请求和测试脚本之外,它们以完全相同的方式使用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论