数据文件是非常强大的方式使用不同的测试数据来测试我们的API,以检查它们是否在各种情况下都能正常运行。我们可以认为数据文件是“Collection Runner”中每个请求的参数。下面,我们通过一个例子来说明如何使用数据文件。
这篇文章需要结合下面两个文件进行说明,请分别下载:

集合文件usingDataFile.postman_collection.json如下:

{
"variables": [],
"info": {
"name": "Using data files",
"_postman_id": "5d604721-fce3-a131-635c-fbbf5744a169",
"description": "",
"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
},
"item": [
{
"name": "POST Request",
"event": [
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
"var jsonData = JSON.parse(responseBody);",
"",
"tests['Response has data value'] = jsonData.form.foo === data.value"
]
}
}
],
"request": {
"url": "postman-echo.com/{{path}}",
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "foo",
"value": "{{value}}",
"type": "text",
"enabled": true
}
]
},
"description": ""
},
"response": []
}
]
}

数据文件usingDataFile.postman_data.json如下:

[{  "path": "post",  "value": "1"}, 
{  "path": "post",  "value": "2"}, 
{  "path": "post",  "value": "3"}, 
{  "path": "post",  "value": "4"}]

在Postman中导入集合文件。导入成功后,我们就有了一个只有一个Post请求的集合。打开这个集合中的请求,我们会发现这个请求有两个变量,分别是请求URL中的path和请求体中的value,它们就像和环境变量一样被使用。这次,我们将通过使用数据文件,给这些变量赋值。再打开该请求的测试脚本,我们会发现在脚本中使用了data指定的数据。这个data在脚本中本身并没有定义。Postman沙箱从我们在设置集合运行的配置参数中选择的JSON/CSV文件初始化数据变量。

使用案例

下面就来看看到底如何在“Collection Runner”使用数据文件。我们先看看数据文件,Postman目前支持JSON和CSV两种格式的文件。在本文中对应的数据JSON文件像下面这样:

这是一个对象数组。每个对象表示一次迭代的变量值。这个对象的每个成员都代表一个变量。这样,在第一次迭代中,路径的变量将被赋值为post,并且请求体中的value将被赋值为1。同样,在第二次迭代中,路径的变量将被赋值为post,并且请求体中的value将被赋值为2。
数据文件也可以是CSV。示例CSV看起来像这样:

在典型的CSV方式中,第一行表示所有变量名称,后续行表示每次迭代时这些变量的值。对于迭代1,路径值为post,请求体值为1。对于第二次迭代,路径值仍然为post,但请求体值为2。
请注意,“Collection Runner”的每一次运行只能选择一个数据文件。
现在我们已经了解如何构建数据文件,接下来我们将该数据文件提供给“Collection Runner”。在运行器中单击选择文件,然后选择其中一个文件。我们还可以通过单击文件名旁边的预览来预览每个变量,以及每个变量的值。如下图所示:

现在我们可以运行我们的集合。我们会看到所有的测试都通过了。如果打开请求调试工具并展开请求正文,则会看到变量{{value}}已被数据文件中对应的值所代替。实际上,对于不同的迭代,这个值是不同的。这样,我们已经向我们的API使用了不同的数据进行测试,并确保它可以针对每种情况都能够正确工作。运行结果如下:

我们再来看看我们的测试脚本。变量数据是从数据文件中获取的。随着每次迭代,它的值都会从我们数据文件中获取对应的值。所以,我们可以通过API返回的值与我们在数据文件中设定的期望值进行比对,如果值一致,则认为测试通过;反之则测试不通过。
不仅仅在前置请求和测试脚本之中,数据变量可以在所有可以使用环境变量的地方使用,方式完全相同。

总结

总结完毕,这篇文章是使用Postman进行自动化测试的关键,希望大家能可以好好读一下这篇文章中的内容。也希望我的文章能够真正的帮助到大家。当然了在这里也准备了丰富的免费资料

点击链接免费领取海量资料记得备注111http://47.107.116.139/zhuoran/mf.php

Postman如何使用(三):使用数据文件【入门到精通】相关推荐

  1. Hadoop大数据从入门到精通-任亮-专题视频课程

    Hadoop大数据从入门到精通-48021人已学习 课程介绍         Hadoop分布式文件系统(HDFS)和MapReduce的工作原理 如何优化Hadoop机群所需要的硬件配置 搭建Had ...

  2. 视频教程-赵强老师:大数据从入门到精通(6)MapReduce-Hadoop

    赵强老师:大数据从入门到精通(6)MapReduce 毕业于清华大学,拥有超过13年的工作经验. Oracle认证讲师,拥有6年以上授课经验.精通Oracle数据库.中间(Weblogic)和大数据H ...

  3. PowerMill模具数控编程视频教程全套产品三轴零基础入门到精通

    最近有很多人在问什么是结构设计?结构要处理的东西算是比较灵活,因为一个产品有了外形设计之后,要做结构设计来处理其运动特性.这样的产品在结构上是否坚固,是否能满足产品的要求,就成了结构设计的重要内容,而 ...

  4. 视频教程-赵强老师:大数据从入门到精通(7)HBase-Hbase

    赵强老师:大数据从入门到精通(7)HBase 毕业于清华大学,拥有超过13年的工作经验. Oracle认证讲师,拥有6年以上授课经验.精通Oracle数据库.中间(Weblogic)和大数据Hadoo ...

  5. 视频教程-赵强老师:大数据从入门到精通(1)Linux基础-Linux

    赵强老师:大数据从入门到精通(1)Linux基础 毕业于清华大学,拥有超过13年的工作经验. Oracle认证讲师,拥有6年以上授课经验.精通Oracle数据库.中间(Weblogic)和大数据Had ...

  6. 视频教程-赵强老师:大数据从入门到精通(15)Storm-大数据

    赵强老师:大数据从入门到精通(15)Storm 毕业于清华大学,拥有超过13年的工作经验. Oracle认证讲师,拥有6年以上授课经验.精通Oracle数据库.中间(Weblogic)和大数据Hado ...

  7. 视频教程-赵强老师:大数据从入门到精通(23)配置Hive On Spark-Spark

    赵强老师:大数据从入门到精通(23)配置Hive On Spark 毕业于清华大学,拥有超过13年的工作经验. Oracle认证讲师,拥有6年以上授课经验.精通Oracle数据库.中间(Weblogi ...

  8. 视频教程-赵强老师:大数据从入门到精通(12)集群HA-Hadoop

    赵强老师:大数据从入门到精通(12)集群HA 毕业于清华大学,拥有超过13年的工作经验. Oracle认证讲师,拥有6年以上授课经验.精通Oracle数据库.中间(Weblogic)和大数据Hadoo ...

  9. 赵强老师:大数据从入门到精通(20)Spark RDD-赵强老师-专题视频课程

    赵强老师:大数据从入门到精通(20)Spark RDD-116人已学习 课程收益     本系列课程将基于RedHat Linux 7.4版本.Hadoop 2.7.3.Spark 2 版本全面介绍大 ...

  10. 三.数据库基础-Oracle入门到精通学习笔记

    第一章 Oracle 11g概述 1.1 Oracle翻译为"甲骨文",由Oracle公司推出. 1.2 关系型数据库 1.2.1 数据库管理技术发展经历了 人工管理.文件系统.数 ...

最新文章

  1. JS 创建对象(常见的几种方法)
  2. Android开发之打开QQ聊天页面的方法
  3. 面试官:请手写一个带取消功能的延迟函数,axios 取消功能的原理是什么
  4. Microsoft AI - Custom Vision in C#
  5. c语言sin函数返回nan,C语言入口函数和LD_PRELOAD环境变量
  6. 作者:曾伟,电子科技大学副教授。
  7. ocdma相干非相干_非相干系统是什么意思
  8. 史上最通俗分布式锁解读
  9. Qt 防止程序二次运行 实现应用单例
  10. freetextbox java_FreeTextBox使用详解 (版本3.1.1)
  11. UTM坐标系与GPS坐标系转换笔记
  12. 通过云计算机管理档案,云计算下档案信息管理研究
  13. ps2无线手柄连接arduino的使用方法
  14. git cherry-pick使用总结
  15. 在阿里云里怎么样可以连接阿里云数据库
  16. 数模转换DAC-TLC5615的说明
  17. win10计算机打开之后隐藏3d对象视频,Win10 3D对象文件夹如何隐藏?手把手教你隐藏3D对象文件夹...
  18. 二极管与、或门,三极管非门电路原理
  19. 各大编程语言优势对比,哪些值得学习更高薪?
  20. MySQL (4) 第一范式 第二范式 第三范式 BC范式

热门文章

  1. 激活系统报错——输入错误: 没有文件扩展“.vbs”的脚本引擎
  2. MATLAB 棋盘格图片校准
  3. php 微信支付分 教程
  4. 缓存Cache-Control
  5. 图解《狂飙》人物关系
  6. 微信公众号订阅号开发的学习(二):获取用户发送的消息、简单的自动回复、自定义菜单
  7. 爬虫(三):爬取西刺高匿代理
  8. sakila-dwh-schema文件
  9. c语言怎么判断一个目录下面的文件是否为隐藏文件,怎么能显示出隐藏文件?...
  10. 跳一跳改分java源码_解密微信小程序漏洞:可下载任意小游戏源代码,“跳一跳”可改分...