🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] <br> ### 变量 Variables #### 变量的目的 设置变量的主要目的,我认为主要有两个 1. 一处设置,多处调用,一处修改,全部生效 举例:在某个项目中,一个用户的UID是一串非常难记非常长的字符串。在这个项目的几十个请求中,都会带上这个参数,那么我们可以将用户UID设置成变量,在所有的请求中,带上变量名称接口。如果需要更换用户UID,不需要修改那几十个请求,直接修改变量值即可。 2. 方便与数据的关联与同步 举例:在某个项目中,一个用户的账号金额是会发生变化的。充值前可以通过查询接口获得初始金额是m元,经过调用充值接口充值n元后,金额会发生变化,等于m+n元。 这个过程中,我们只能通过变量进行数据的关联,先将初始查询到的金额赋予一个变量。在充值后,引用变量名称获得初始金额,将初始金额与充值金额相加,得到最终的用户金额。 #### 变量的作用范围 在Postman中,变量有5种作用范围。如果在多个范围中都有设置同一个变量,那么高优先的会覆盖低优先级。优先级:data>local>environment>collection>global ![](https://box.kancloud.cn/29ee97f847d245c2bfbbfd464539c7b1_389x299.jpg) #### 变量的设置与引用 在变量设置面板中,设置变量名为“user”,变量值为“Milton”,在引用的地方填写`{{user}}`,在真正调用时,{{user}} 会被替换成“Milton” 如: 设置全局变量Globals ![](https://box.kancloud.cn/36a116c5aecca3b3a15c1168217bd8ee_711x263.jpg) 在请求中应用 ![](https://box.kancloud.cn/c6a1924f8926ef253c224d320190e2b2_965x496.jpg) ### 管理全局变量 Globals Variable `常用,需掌握` ![](https://box.kancloud.cn/2b6a72e5cea62fe29c90177efb525ec5_368x238.jpg) ![](https://box.kancloud.cn/36a116c5aecca3b3a15c1168217bd8ee_711x263.jpg) ### 管理测试集变量 Collection Variable ![](https://box.kancloud.cn/ce721893e6b673650d59b14101c42b53_794x304.jpg) ### 管理环境变量 Environment Variable `常用,需掌握` 在测试过程中,程序有可能分测试环境和正式环境。不同的环境中,项目的域名一般是不一样的,还有一些跟环境相关的参数。在postman中,可以设置环境变量,在不同的环境中使用不一样的参数值,这就`实现了一套测试用例分别适应不同的环境`。 实例:设置一个测试环境与生产环境,在这两套环境中,域名是不一样的。 ![](https://box.kancloud.cn/7d6355ae067884dbfdfd934de9efbceb_452x299.jpg) 设置测试环境的变量 ![](https://box.kancloud.cn/2284c8d8639d3f984875d4cb51ba1d6f_717x225.jpg) 设置生产环境的变量 ![](https://box.kancloud.cn/5d7e8e4f17699f0a9c3299c8ce07bbe9_715x235.jpg) 设置完成后,选择测试环境运行 ![](https://box.kancloud.cn/2f7b1d898f0040374c29efec99a45b59_1060x437.jpg) 设置完成后,选择生产环境运行 ![](https://box.kancloud.cn/41b3175eedf0fbc7904551133c0a0e5f_1091x435.jpg) 这个实例中,不用修改request builder,直接选择不同的环境,便可实现了发送请求时采用不同的变量内容。 ### 管理局部变量 Local Variable 在脚本中设置的局部变量,在讲解脚本的时候再介绍 ### 管理运行时参数变量 Data Variable `自动化时,常用` 还记得在运行Collection的设置窗口中,有个上传Data参数文件的设置么? ![](https://box.kancloud.cn/15fad57a24f3b8c874c63fffa0d22fac_494x772.jpg) 这里通过参数文件设置的变量,便是Data Variable。 举例: 1. 在Request Builder中引用变量名{{path}}与{{value}} ![](https://box.kancloud.cn/549a56b582eea95924e9c6caa88374aa_1080x352.jpg) 2. 设置参数文件“58702574.csv”内容格式如下: ![](https://box.kancloud.cn/e119d7173637b87f9ab874f4955cb3f6_249x138.jpg) 或设置参数文件“58702589.json”内容格式如下: ```python [{ "path": "post", "value": "1" }, { "path": "post", "value": "2" }, { "path": "post", "value": "3" }, { "path": "post", "value": "4" }] ``` 3. 在Collection Runner 中导入参数文件 ![](https://box.kancloud.cn/456665821306ccde55039eabaa13a6c0_502x778.jpg) 4. 运行结果 ![](https://box.kancloud.cn/743d531c24fc4ced0c8a9348958aa386_734x418.jpg) 在这个例子中,一个接口迭代了4次,每次迭代使用了不同的参数值。 <hr style="margin-top:100px"> :-: ![](https://box.kancloud.cn/331f659e8e6cddb0d9f182e00e32803f_258x258.jpg) ***微信扫一扫,关注“python测试开发圈”,获取更多测试开发分享!***