postman的使用

 

 

使用postman来进行接口测试的大致步骤:

 

一、URL和参数的设置,其中参数可以参数化处理:

  

 

二、可以设置参数在接口执行之前执行:

 

三、设置断言,在接口运行后执行:

 

四、在运行接口之前打开test console可以打开显示运行后的结果界面:

 

五、接口集合的使用:

 

如果设置的是引用外面的数据文件,那么需要导入外部文件:

 

 

导入的文件类型有两种:

      

 

 

 

postman的断言(tests)写法:

分类:系统断言函数和自定义js函数

一、关于 status code 的检查

  A、检查响应行信息中的状态码是不是等于200:

    写法一:
      tests["检查响应状态码是否为200"] = responseCode.code === 200;

    写法二(可由内置函数自动生成):
      pm.test("检查响应状态码是否为200", function () {
        pm.response.to.have.status(200);
      });

      或者:
      pm.test("检查响应状态码是否为201或者202", function () {
        pm.expect(pm.response.code).to.be.oneOf([201,202]);
      });

  B、检查响应行信息中的状态码描述是不是包含“ok”字符:

    tests["检查响应状态码描述中是否包含OK字符"] = responseCode.name.has("OK");
    或者
    pm.test("检查响应状态码描述中是否包含OK字符", function () {
      pm.response.to.have.status("OK");
    });

二、关于 responseTime 的检查

  检查响应时长是否在500ms以内:

    tests["检查响应时间是否在500ms以内"] = responseTime < 500;
    或者
    pm.test("Response time is less than 500ms", function () {
      pm.expect(pm.response.responseTime).to.be.below(500);
    });

 

三、关于 responseBody 的检查

  检查响应体中包含某个值 contains string

    tests["检查响应体中是否含有北京二字"] = responseBody.has("北京");
    或者:
    pm.test("检查响应体中是否含有北京二字", function () {
      pm.expect(pm.response.text()).to.include("北京");
    });

  检查响应体中的某个字段等于某个值 equal to a string

  1/先将json格式的响应体转化为json对象,
    var jsonData = JSON.parse(responseBody);

   再通过(.)运算将被校验的字段取出,然后进行校验
    tests["检查响应体中是否含有北京二字"] = jsonData.XX.XXX === "北京";
    或者:
    tests["检查响应体中是否含有北京二字"] = jsonData.XX[XXX] === "北京";


  2/如果响应体是xml格式,先将xml格式的响应体转化为json对象,
    var jsonObject = xml2Json(responseBody);

   再通过各种运算将被校验的字段取出,然后进行校验

      常用的js函数有:

        tests["获取国家个数"] = jsonObject.ArrayOfString.length    ----------------------------获取某个节点中的元素个数(长度)

        tests["获取首个国家的字符串描述"] = jsonObject.ArrayOfString.string[0]   ---------------------------获取某个节点中的某个元素

        tests["校验首个国家的ID"] = jsonObject.ArrayOfString.string[0].split(',')[1] === "3320";  -----------------使用 split 方法来分割

 

    上面的语句为索引取值校验,下面为循环取值校验:
    for(var i=0; i<jsonData.event_list.length; i++){
      title = jsonData.event_list[i].title
      tests["titile检查:"+ title] = title.indexOf('小米发布会')>=0;
    }


四、关于上下游接口依赖关系的处理:

  全局变量设置(setGlobalVariable)和环境变量设置(setEnvironmentVariable)

            

  postman.setGlobalVariable("globalVariable_name",value);
  postman.setEnvironmentVariable("environmentVariable_name",value);

  断言外引用
    例如:post方法中的请求头body中的参数调用,键值对格式为: 参数名 {{globalVariable_name}}
       url中引用 {{globalVariable_name}}

  断言内部引用:
    globals["globalVariable_name"]
    environment["environmentVariable_name"]


五、日志函数
  console.log()
    

    

 

六、Collection Runner 的使用
    

    

 



七、postman与newman+jenkins集成完成自动化接口测试
  参考文档:https://www.npmjs.com/package/newman

  newman -c xxx.json -o outputfile.json
  newman run xxx.json -g xxx.json -e xxx.json --reporters cli,json,xml,html --reporter-html-export d:/demo.html

 

转载于:https://www.cnblogs.com/zzp-biog/p/10714288.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值