美文网首页
postman断言方法汇总

postman断言方法汇总

作者: 苦舟苍颜 | 来源:发表于2018-05-16 17:59 被阅读0次
    1. 把返回值转化为标准的json对象
    var jsonData = JSON.parse(responseBody);
    
    1. 把返回值中的某个参数设置为环境变量
    var jsonData = JSON.parse(responseBody);
    postman.setEnvironmentVariable("uid",jsonData.data.list[0].uid);
    
    1. 把时间戳转化为日期格式
    function timestampToTime(timestamp) {
            var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
            Y = date.getFullYear() + '-';
            M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
            D = date.getDate() + ' ';
            h = date.getHours() + ':';
            m = date.getMinutes() + ':';
            s = date.getSeconds();
            return Y+M+D+h+m+s;
        }
        timestampToTime(1403058804);
    

    注意:如果是Unix时间戳记得乘以1000。比如:PHP函数time()获得的时间戳就要乘以1000。

    1. 把日期格式转化为时间戳
    var date = new Date('2014-04-23 18:55:49:123');
        // 有三种方式获取
        var time1 = date.getTime();
        var time2 = date.valueOf();
        var time3 = Date.parse(date);
        console.log(time1);//1398250549123
        console.log(time2);//1398250549123
        console.log(time3);//1398250549000
    

    以上三种获取方式的区别:
      第一、第二种:会精确到毫秒
      第三种:只能精确到秒,毫秒用000替代
      以上三个输出结果可观察其区别
      
    注意:获取到的时间戳除以1000就可获得Unix时间戳,就可传值给后台得到。

    1. 将时间格式化为:yyyy-MM-dd hh:mm:ss
    Date.prototype.format = function(fmt) { 
         var o = { 
            "M+" : this.getMonth()+1,                 //月份 
            "d+" : this.getDate(),                    //日 
            "h+" : this.getHours(),                   //小时 
            "m+" : this.getMinutes(),                 //分 
            "s+" : this.getSeconds(),                 //秒 
            "q+" : Math.floor((this.getMonth()+3)/3), //季度 
            "S"  : this.getMilliseconds()             //毫秒 
        }; 
        if(/(y+)/.test(fmt)) {
                fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
        }
         for(var k in o) {
            if(new RegExp("("+ k +")").test(fmt)){
                 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
             }
         }
        return fmt; 
    }        
    

    调用的方法:

    var time1 = new Date().format("yyyy-MM-dd hh:mm:ss");
    console.log(time1);
    
    1. 控制台打印日志(用于调试)
    console.log("打印日志")
    
    1. 在返回结果中使用正则表达式,截取字符串设置为变量
    var jsonData = JSON.parse(responseBody);
    var str = jsonData.testInfo.paperData
    var element_id = str.match(/<element\s*type=\"3\"\s*id=\"(\S*)\"/)[1];
    postman.setEnvironmentVariable("element_id",element_id);
    

    注:
    要取的值为:


    要取的值

    在一串字符串中获取以“id”开始以"ff"结尾但不包含"id"和"ff"的字符串

     var str = "iid0000ffr";
     var substr = str.match(/id(\S*)ff/);
    //var str_get = str_all.match(/str_before(\S*)str_after);
    

    相关文章

      网友评论

          本文标题:postman断言方法汇总

          本文链接:https://www.haomeiwen.com/subject/pzbedftx.html