果冻想
认真玩技术的地方

Postman教程——变量

前言

在Postman中,我们经常会定义一些变量,比如将请求URL中的IP地址定义成一个变量,然后在请求URL中引用这个变量即可。但是你可知道,在Postman中,变量还分为好几种,每个的作用域你可知道是什么样子的呢?这篇文章就带领大家认识Postman中的变量。认识了变量后,我想你应该对Postman的使用会有一个全新的认识。

为什么使用变量?

我们自己经常写代码,那我们在代码中为什么会使用变量呢?变量允许我们在多个地方重复使用值,以便保持代码的可读性、可维护性等(Don’t Repeat Yourself)。另外,如果想改变这个值,我们只需要改变变量的值即可,其它引用该变量的地方会自动变动。

在Postman中使用变量有如下好处:

  • 重复使用变量定义的值,以便保持代码的可读性、可维护性等;
  • 灵活的配置我们的设置以适应不同的用户或环境;
  • 从响应中提取数据并向集合中的其它请求发起请求。

变量作用域

在Postman中,变量有以下作用域:

  • 全局作用域;
  • 集合作用域;
  • 环境作用域;
  • 局部作用域;
  • 数据作用域。

变量作用域

如果当前活动环境中的变量与全局变量同名,则环境变量将优先。换句话说,全局变量被环境变量所覆盖,环境变量被数据变量覆盖(仅在集合运行器中可用)。

构建请求时访问变量

在Postman界面上,我们可以用{{variableName}}这样的形式访问变量。当Postman解析变量时,字符串{{variableName}}将被替换为相应的值。例如,对于值为http://localhost的环境变量url,我们必须在请求URL字段中使用{{url}}。发送请求时,{{url}}将被http://localhost替换。

由于请求构建器中的变量是使用字符串替换来访问的,因此它们可以在请求构建器中的任何位置使用。我们可以再请求URL,请求参数,请求呕吐,授权和请求正文中使用变量。Postman根据变量范围部分中讨论的范围规则解析变量,并将它们发送到服务器。

使用变量

脚本中访问变量

变量也可以在前置请求和测试脚本中使用。由于脚本是用JavaScript编写的,因此我们将以不同的方式初始化和使用这些变量。我们可以在脚本中初始化变量并将其放入特定作用域范围。

  • 在脚本中定义环境或全局变量:
    要在脚本中定义变量,需要根据所需的范围使用pm.environment.set()方法或pm.globals.set()方法。该方法需要使用变量名和变量值作为参数来设置变量。当发送请求时,脚本将被解析。集合中定义变量有点不同,下面会特殊说明。

  • 获取预定义的变量:
    一旦设置了一个变量,就可以使用pm.variables.get()方法,或者根据合适的范围使用pm.environment.get()pm.globals.get()方法来获取变量值。该方法需要将变量名称作为参数来检索脚本中存储的值。

定义集合变量

集合变量可以通过编辑集合来定义。单击集合名称旁边的省略号(...),然后选择“编辑”以打开编辑集合模式。选择“Variables”选项卡以添加和编辑集合变量。我们也可以在创建集合时定义集合变量。

定义集合变量

打印变量

我们可以通过console.log(变量名称);的形式打印变量值。在Postman控制台中可以查看到输出的变量值信息。

数据变量

Collection Runner允许我们导入CSV或JSON文件,然后请求和脚本可以使用导入的数据文件中的值,我们称这些为数据变量。要在Postman中使用它们,同样需要遵循与环境或全局变量相同的语法。在后面的文章中,我们再细说如何使用数据变量。

动态变量

Postman有几个动态变量,我们可以在请求中使用它们。动态变量不能在沙盒中使用。只能在请求URL、请求头或者请求体中以{{..}}格式使用它们。

总结

这篇文章详细的总结了Postman中的变量。内容比较多而且杂,希望大家在实践中理解这篇文章,更希望我的文章对大家有帮助。

果冻想-一个原创技术文章分享网站。

2018年2月25日 于包头。

未经允许不得转载:果冻想 » Postman教程——变量
网站维护离不开您的支持,您可以赞助本站,谢谢支持
×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

赞助本站
关注微信公众号和果冻一起分享你的疑惑与心得。
关注微信公众号
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

玩技术,我们是认真的

联系我们关于果冻