当前位置:   article > 正文

使用Postman工具做接口测试——生成随机参数

使用Postman工具做接口测试——生成随机参数

在这里插入图片描述
我们平时使用最多的接口调试工具就是postman了,比如开发将一个接口给到你,你想看看接口是否正常。最常用的方法就是用postman去调一下。如果通,就写接口测试用例,反之,将开发打一顿吧o( ̄︶ ̄)o。

我们测试接口时,避免不了重复调用一个接口,这样的话,需要随机数来参数化关键的业务字段。

Postman三种内置随机数

其实postman还有其他内置随机数,这里介绍postman三种随机数,打开postman,输入{{,可以看到,如图:

图片

随机数如下:

{{$guid}}:添加一个V4风格GUID(如:aa002-44ac-45ca-aae3-52bf19650e2d)

{{$timestamp}}:将当前的时间戳,精确到秒

{{$randomInt}}:添加0和1000之间的随机整数

我们分别在postman中使用,如下:

图片

是不是挺好用,这样我们就可以用它来参数化了,重复调用接口也不会导致报文中数据重复使用同一份数据。

但是,如果我想要生成6位,10位随机整数呢?要怎么做?

这个时候需要自定义随机数。

Postman自定义随机函数

自定义随机整数

代码如下:

第一种:

// 结果为0-1间的一个随机数(包括0,不包括1)
var randomNum1 = Math.random();
console.log(randomNum1);
  • 1
  • 2
  • 3

图片

第二种:

// 获取最小值到最大值之前的整数随机数
function GetRandomNum(Min, Max) {
    var Range = Max - Min;
    var Rand = Math.random();
    return(Min + Math.round(Rand * Range));
}
var num = GetRandomNum(100000, 999999);
console.log(num);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

图片

第三种:

/**
* 产生随机整数,包含下限值,但不包括上限值
* @param {Number} lower 下限
* @param {Number} upper 上限
* @return {Number} 返回在下限到上限之间的一个随机整数
*/
function random(lower, upper) {
return Math.floor(Math.random() * (upper - lower)) + lower;
}

console.log(random(100000,999999));
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

图片

第四种:这种就有可能第一位是0

var Num="";

for ( var i=0;i<10; i++ )

{

Num += Math.floor(Math.random() * 10);

}


console.log(Num);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

图片

上面都是生成自定义位数的随机数,你可以根据需要传入参数来决定几位。

自定义随机时间

通常情况下,很多接口使用的是时间戳,其实我们也可以用这个来做随机数参数化,如图:

//十三位毫秒时间戳
let a = Date.now();
console.log(a);
//十三位毫秒时间戳
b = new  Date().getTime(); 
console.log(b)

//十位秒时间戳
let c = Date.now()/1000;
console.log(c.toString().substring(0,10)); //截取第 0~9 位
console.log(parseInt(c))

// 将 13 位时间戳除以 1000 然后再取整,得到 10 位时间戳数字
parseInt(+new Date()/1000);

// 将 13 位时间戳转换为字符串截取前 10 位,得到 10 位时间戳字符串
(+new Date()).toString().substring(0,10); // 截取第 0~9 位
(+new Date()).toString().substr(0,10);    // 从第 0 位开始截取 10 位
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

图片

如果我们想使用具体时间作为随机参数,例如,获取当前年月日时分秒,可以这样,如图:

a = (new Date()).Format("yyyy-MM-dd hh:mm:ss.S")
b = (new Date()).Format("yyyy-M-d h:m:s.S") 
console.log(a)
console.log(b)


c = (new Date()).Format("yyyyMdhms")
d = (new Date()).Format("yyyyMMddhhmmss")
console.log(c)
console.log(d)
图片

  Postman实操
  结合上面的例子,我们在postman中使用如下:

function random(lower, upper) {
return Math.floor(Math.random() * (upper - lower)) + lower;
}

var nums = random(100000,999999)
console.log(nums);

pm.environment.set('nums',nums);

console.log(nums);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

运行结果:

图片

时间参数化:

# 方法1
var myDate=new Date();
var year = myDate.getFullYear();
var month = myDate.getMonth() + 1;
var date = myDate.getDate();
var hours = myDate.getHours() + 1;
var min = myDate.getMinutes();
var seconds = myDate.getSeconds();
hours = hours < 10 ? "0" + hours : hours;
min = min < 10 ? "0" + min : min;
seconds = seconds < 10 ? "0" + seconds : seconds;
var date = year + "" + month + date + hours + min + seconds;
console.log(date,"测试");

#方法2
var moment = require('moment');
var data = moment().format(" YYYYMMDDHHmmss");
console.log(data);
pm.globals.set("time", data);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

运行结果如图:

图片

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/492052
推荐阅读
相关标签
  

闽ICP备14008679号