zoukankan      html  css  js  c++  java
  • postman的Testing examples(常用方法)

    在实现接口自动测试的时候,会经常遇到接口参数依赖的问题,例如调取登录接口的时候,需要先获取登录的key值,而每次请求返回的key值又是不一样的,那么这种情况下,要实现接口的自动化,就要用到postman中设置环境变量这个功能了;

    在postman中,可以利用tests将接口返回的response设置为环境变量,供后续接口使用(类似参数化的概念)

    获取环境变量需要具体方法如下图所示;

    var jsonData =JSON.parse(responseBody);//获取body中返回的所有参数
    postman.setEnvironmentVariable("appKey",jsonData.data.appKey);//把返回参数中的keys设置为环境变量

     如此就能把登录所需的key设置为环境变量,供后续登录接口的调用了;

    同理,获取headers值更新环境变量的方法,如下图;

     

    postman常用方法集合:

    1.设置环境变量
    postman.setEnvironmentVariable("key", "value");

    2.设置全局变量
    postman.setGlobalVariable("key", "value");

    3.检查response body中是否包含某个string
    tests["Body matches string"] = responseBody.has("string_you_want_to_search");

    4.检测JSON中的某个值是否等于预期的值

    var data = JSON.parse(responseBody);
    tests["Your test name"] = data.value === 100;

    JSON.parse()方法,把json字符串转化为对象。parse()会进行json格式的检查是一个安全的函数。 

    如:检查json中某个数组元素的个数(这里检测programs的长度)

    var data = JSON.parse(responseBody);
    tests["program's lenght"] = data.programs.length === 5;

    6.检查response body是否与某个string相等
    5.转换XML body为JSON对象
    var jsonObject = xml2Json(responseBody);

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

    7.测试response Headers中的某个元素是否存在(如:Content-Type)

    tests["Content-Type is present"] = postman.getResponseHeader("Content-Type"); 
    //getResponseHeader()方法会返回header的值,如果该值存在

    或者: 

    tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");
    上面的方法,不区分大小写。下面的方法,要区分大小写。 

    8.验证Status code的值
    tests["Status code is 200"] = responseCode.code === 200;

    9.验证Response time是否小于某个值
    tests["Response time is less than 200ms"] = responseTime < 200;

    10.name是否包含某个值
    tests["Status code name has string"] = responseCode.name.has("Created");

    11.POST 请求的状态响应码是否是某个值
    tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

    12.很小的JSON数据验证器

    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);


  • 相关阅读:
    Java实现 蓝桥杯VIP 基础练习 完美的代价
    Java实现 蓝桥杯VIP基础练习 矩形面积交
    Java实现 蓝桥杯VIP 基础练习 完美的代价
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    核心思想:想清楚自己创业的目的(如果你没有自信提供一种更好的产品或服务,那就别做了,比如IM 电商 搜索)
    在Linux中如何利用backtrace信息解决问题
  • 原文地址:https://www.cnblogs.com/jtestroad/p/7802462.html
Copyright © 2011-2022 走看看