之前只是使用postman做接口管理——将各个项目使用到的接口分类管理起来,用的时候手动改参数调用。这次项目连着跑三个接口,需要用到前一个接口的参数,还来回切平台,真的很麻烦,所以就搜了一下有什么便利的方式没有。

参考博文:

https://www.cnblogs.com/qiaoyeye/p/5524750.html

变量的使用

1、添加一个环境,右上角眼睛或者左边new菜单栏里的environment

或者

2、在添加环境界面设置环境名和环境里的变量,可以给变量初始值,也可以不给(可以后续走接口返回值设置该变量的值)

3、变量的使用:通过形式:{{变量名}},当切换环境的时候(右侧环境名箭头下拉,有你保存的所有环境,可选择当前环境),这个变量则为不同的值。所以通过切换环境,我们可以批量改变一个请求中的多个参数

变量的设置

方式1:

上文中的手动输入设置

方式二:

代码设置(对全局变量,全局变量针对所有环境有效)

举个栗子(参考博主截图):

编辑器旁边列出常用的代码段来辅助写tests中的脚本,选择要添加的代码段,并将相应的代码添加到测试编辑器中:

1. 清除一个全局变量

     Clear a global variable

    对应脚本:

    postman.clearGlobalVariable("variable_key");

    参数:需要清除的变量的key

2.清除一个环境变量

    Clear an environment variable

    对应脚本:

    postman.clearEnvironmentVariable("variable_key");

    参数:需要清除的环境变量的key

3.response包含内容

    Response body:Contains string

    对应脚本:

    tests["Body matches string"] =responseBody.has("string_you_want_to_search");

    参数:预期内容

4.将xml格式的response转换成son格式

    Response body:Convert XML body to a JSON Object

    对应脚本:

    var jsonObject = xml2Json(responseBody);

    参数:(默认不需要设置参数,为接口的response)需要转换的xml

5.response等于预期内容

    Response body:Is equal to a string

    对应脚本:

    tests["Body is correct"] = responseBody === "response_body_string";

    参数:预期response

6.json解析key的值进行校验

    Response body:JSON value check

    对应脚本:

    tests["Args key contains argument passed as url parameter"] = 'test' in responseJSON.args

    参数:test替换被测的值,args替换被测的key

7.检查response的header信息是否有被测字段

    Response headers:Content-Type header check

    对应脚本:

    tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");

    参数:预期header

8.响应时间判断

    Response time is less than 200ms

    对应脚本:

    tests["Response time is less than 200ms"] = responseTime < 200;

    参数:响应时间

9.设置全局变量

      Set an global variable

      对应脚本:

      postman.setGlobalVariable("variable_key", "variable_value");

      参数:全局变量的键值

10.设置环境变量

      Set an environment variable

      对应脚本:

      postman.setEnvironmentVariable("variable_key", "variable_value");

      参数:环境变量的键值

11.判断状态码

      Status code:Code is 200

      对应脚本:

      tests["Status code is 200"] = responseCode.code != 400;

      参数:状态码

12.检查code name 是否包含内容

      Status code:Code name has string

      对应脚本:

      tests["Status code name has string"] = responseCode.name.has("Created");

      参数:预期code name包含字符串

13.成功的post请求

      Status code:Successful POST request

      对应脚本:

      tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

14.微小验证器

       Use Tiny Validator for JSON data            

       对应脚本: 

        var schema = {

         "items": {

         "type": "boolean"

             }

         };

        var data1 = [true, false];

        var data2 = [true, 123];

        console.log(tv4.error);

        tests["Valid Data1"] = tv4.validate(data1, schema);

        tests["Valid Data2"] = tv4.validate(data2, schema);

        参数:可以修改items里面的键值对来对应验证json的参数

postman变量的使用和设置的更多相关文章

  1. postman简单教程-环境变量,全局变量的设置及作用

    讲postman环境变量设置之前,先讲一个小插曲,环境变量.全局变量的区别在于Globals,只能用一组,而Environmen可以设置多组,所以我更喜欢设置环境变量 1.环境变量-Environme ...

  2. Postman的一个使用技巧----设置环境变量

    相同的api接口因为部署环境不同,分为test和pre_production 打开Postman,建两个测试集,分别测试测试环境test和演练环境pre_production 下面来介绍一下Postm ...

  3. 第一篇 Postman的初级使用之设置环境快速切换生成环境与测试环境

    POSTMAN是有谷歌的开源工具,在开发调试.测试执行过程中使用频率非常广泛,本文将记录一些postman在测试中常见的一些配置和使用方法 一.基本的页面区域 略,很简单,大家都会看,再有,学习下面的 ...

  4. WebAPI之postman变量和session/token

    postman使用变量: 之前我们请求里面的主机地址都是localhost,表示本机.而在实际测试过程中,服务器地址往往并非是在本机上的,这时候就需要用到变量. postman支持多个测试环境,一个环 ...

  5. PostMan变量与断言应用(对标Jmeter)

    常见的接口测试工具有PostMan/Jmeter/SoapUI,当然,也有一些公司为了更贴近自身的应用开发了一些小工具. 从功能上对比,Jmeter更为强大,既能做压测还能测接口,扩展性也比较好. B ...

  6. SSIS变量属性中EvaluateAsExpression设置的作用

    我们在做SqlServer SSIS包开发的时候,经常会用到SSIS的变量,我们可以使用和修改SSIS变量的值使得SSIS包的逻辑更灵活,如下图所示: 在定义SSIS变量的时候可以使用固定值(如上图中 ...

  7. Linux环境中DISPLAY环境变量的解释及设置

    在Linux/Unix类操作系统上的GUI应用程序使用X Window系统(X Window System),它旨在允许多个用户使用窗口化的应用程序通过网络访问计算机. DISPLAY环境变量用来设置 ...

  8. bash学习之变量的显示和设置

    显示变量:echo $MAIL或者 echo ${MAIL} [CJP@CJP ~]$ echo $MAIL /var/spool/mail/CJP [CJP@CJP ~]$ echo ${MAIL} ...

  9. ios变量的property属性设置和意义

    IOS 的@property和@synthesize帮我们轻易的生成对象的getter和setter方法来完成对对象的赋值和访问.但是如果我们如果要动态设置对象的getter和setter方法可以使用 ...

随机推荐

  1. Go语言之unsafe包介绍及使用

    unsafe内容介绍 type ArbitraryType int type Pointer *ArbitraryType func Sizeof(x ArbitraryType) uintptr f ...

  2. maven-assembly-plugin把java工程打包成为一个可执行的jar包

    用Java写了一个小工具,使用maven java 工程.写完后,想打包成一个可执行的jar包. 使用maven的插件maven-assembly-plugin pom.xml里添加 <buil ...

  3. python中json.load()、json.loads()、json.dump()、json.dumps()的区别

    json.load()从文件中读取json字符串 json.loads()将json字符串转换为字典类型 json.dumps()将python中的字典类型转换为字符串类型 json.dump()将j ...

  4. MT【204】离散型最值

    (联赛一试2006,14).将2006表示成5个正整数$x_1,x_2,x_3,x_4,x_5$之和.记$S=\sum\limits_{1\le i<j\le5}{x_ix_j}$问:(1) 当 ...

  5. ANDROID content provide 使用实例

    Content Provider提供了一种多应用间数据共享的方式,比如:联系人信息可以被多个应用程序访问.Content Provider是个实现了一组用于提供其他应用程序存取数据的标准方法的类. 下 ...

  6. Spring MVC 起步

    跟踪Spring MVC的请求 在请求离开浏览器时①,会带有用户所请求内容的信息,至少会包含请求的URL. 请求旅程的第一站是Spring的DispatcherServlet.与大多数基于Java的W ...

  7. 部署kubernetes1.8.4+contiv高可用集群

    原理和架构图参考上一篇,这里只记录操作步骤.由于东西较多,篇幅也会较长. etcd version: 3.2.11 kube version: 1.8.4 contiv version: 1.1.7 ...

  8. cocos2d-x入门学习笔记,主要介绍cocos2d-x的基本结构,并且介绍引擎自带的示例

    cocos2d-x 3.0 制作横版格斗游戏 http://philon.cn/post/cocos2d-x-3.0-zhi-zuo-heng-ban-ge-dou-you-xi http://blo ...

  9. 平台加载面板的方法$.loadPml

    $.loadPml({ paneId:"", paneName:"", loadUrl:"/"+globalURL+"/mvcco ...

  10. webstorm的一些小技巧

    1.怎样禁止自动保存文件: 设置--->外观和行为--->常规--->Synchronization--->要么四个全不选,要么把最后两个不选 Settings--->A ...