大家好,我是阿萨。昨天给大家介绍了如何使用Postman 录制请求?相信可以录制请求后,大家写API 测试脚本就更方便了。只需要把录制好的请求,修改下参数以及断言,就可以是一个API的测试用例了。
一 变量使用场景
今天我们学习下Postman的变量。大家都知道 实际工作中经常会有多套测试环境,不同测试环境中某个参数的取值有可能是会变化的。 在这种情况下,变量就起到很大的作用了。它们可以让我们一套脚本在多套环境中 执行,而且还确保每次执行结果都正常。
二 变量设置位置
在 Postman 的右上角有一个眼睛图标。 那个就是变量的设置。点击眼睛位置,我们可以看到如下截图。
三 Postman 的变量作用域
Global: 全局, 比如可以将错误提示信息设置成全局变量。
Collections:变量在集合中的所有请求中都是可用的,并且独立于环境。集合变量不会根据所选环境而改变。集合变量适用于使用单一环境的情况,例如用于auth或URL详细信息。
Environment:环境变量, 比如可以将测试domain 设置成环境变量。
Local:本地变量,一般可以在sandbox 中定义。
Data:测试数据中导入的变量,也就是所谓的参数化。比如CSV 和Json文件导入的数据,
四 如何在API 请求中使用变量?
- 全局变量,集合变量以及环境变量该如何使用?
场景: 我们有一个API ,它的域名在不同环境设置是不一样的。这个时候我们就可以把URL 中的域名使用一个变量来设置。
设置方法:选中 URL 中的域名。
点【Set as Variable】,然后点击 【Set as new variable】
输入【Name】 和【Scope】
再选中刚才的网址,就可以使用刚才定义好的baseURL 了。
设置成变量后的请求。
下次运行前,只需要修改下baseURL的值成为我想要的域名就可以啦。
这样就可以实现同一套 API 脚本在不同的环境下运行的场景啦。
2. 如何使用临时变量?
场景: 响应的response Data 需要检验的数据是个数据结构,里面是数据结构套数据结构的形式,做断言时不太方便,就可以使用临时变量。
具体使用方法:
比如我们想把XML 转换成JSON,JSON 转换的结果就可以用一个临时变量保存它。
或者是使用使用临时变量存储一个数据值
var jsonObject = xml2Json(responseBody); var data1 = [true, false]; var data2 = [true, 123];
这里的jsonObject 就是一个临时变量。
3. 关于数据类型的变量,我们再讲到CSV 或者Json 文件导入数据的时候再给大家演示。
4. 变量中default 类型和secret有什么区别?
在我们编辑环境变量的过程中有一个Type 类型的选择,其中有2个类型,这2个类型分别如何使用呢?
一般情况下,我们使用default 就可以啦。
还有一种情况就是我不想别人知道我设置的一些敏感信息数据,该怎么办呢?
这个时候就是secret 登场的时候啦,针对一些敏感信息,我们可以用这个字段,这个时候,设置的所有值也会变成小黑点,别人就不知道我们使用的信息啦。
是不是很安全呢?
5. 如何输入的参数书值每次都会变化,如何使用变量解决这个问题呢?
实际的API 中有使用随机数或者是时间戳等场景,这个时候如何使用参数化来解决我们的输入问题呢?
其实Postman 很早就帮我们想好了解决办法了。
那就是动态变量。
关于动态变量,和数据参数化一样会在后续章节详细讲解,欢迎大家围观。
你学会了吗?