之前只是使用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. java中线程安全和非线程安全的集合

    线程安全 非线程安全 Collection Vector ArrayList.LinkedList HashSet.TreeSet Map HashTable HashMap.TreeMap 字符串 ...

  2. BZOJ1115[POI2009]石子游戏——阶梯Nim游戏

    题目描述 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏.问先手是否必 ...

  3. Nodejs+Express+Mysql实现简单用户管理增删改查

    源码地址 https://github.com/king-y/NodeJs/tree/master/user 目录结构 mysql.js var mysql = require('mysql'); v ...

  4. File类总结

    1.File类是描述文件或文件夹的.File类可以用来操作文件或文件夹本身.但它不能操作文件中的数据. File( String name  )  把一个字符串封装成File对象.这个字符串可以是文件 ...

  5. Assign the task HDU - 3974(dfs序+线段树)

    There is a company that has N employees(numbered from 1 to N),every employee in the company has a im ...

  6. M - Help Hanzo LightOJ - 1197 (大区间求素数)

    题意: 求[a,b]之间的素数的个数 数很大...数组开不起 所以要想到转化 因为小于等于b的合数的最小质因子 一定小于等于sqrt(b),所以只需要求出来[0,sqrt(b)]的素数  然后取倍数删 ...

  7. Hard Rock

    Ilya is a frontman of the most famous rock band on Earth. Band decided to make the most awesome musi ...

  8. BZOJ 3622 : 已经没有什么好害怕的了(dp + 广义容斥原理)

    今天没听懂 h10 的讲课 但已经没有什么好害怕的了 题意 给你两个序列 \(a,b\) 每个序列共 \(n\) 个数 , 数之间两两不同 问 \(a\) 与 \(b\) 之间有多少配对方案 使得 \ ...

  9. AtCoder Grand Contest 011

    AtCoder Grand Contest 011 upd:这篇咕了好久,前面几题是三周以前写的... AtCoder Grand Contest 011 A - Airport Bus 翻译 有\( ...

  10. A1082. Read Number in Chinese

    Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chinese ...