• 15
  • 16
分享
  • postman压力测试——软件测试圈
  • 北极 2021-10-09 11:35:58 字数 2396 阅读 2091 收藏 16

今天公司的门锁设备可能需要压力测试,提供的接口API接口需要压力测试。

一、postman准备

其实也没有什么好准备的,唯一就是有些变量不能写死了,需要随机一个,然后再请求。

1.jpg

{{}}包裹的都是要随机的参数,前面headers的设置今天就不讲了,要知道的可以看之前的文章。

然后这块因为随机东阿u是有规则的,所以还是一样直接在Pre-requestScript这个Tab里写

postman.clearGlobalVariable("permissionBegin");
postman.clearGlobalVariable("permissionEnd");
postman.clearGlobalVariable("Authorization");
postman.clearGlobalVariable("timestamp");
var heads = request.headers;
//console.log(heads);
var clientId = heads.clientid;
//console.log("---clientId:"+clientId);
var secret = "xxxxx";
var ts = Math.round(new Date().getTime());
//console.log("---ts:"+ts)
postman.setGlobalVariable("timestamp",ts);
var signParm = xxxxxxxxxxxxxxxxxxx;  //要加密的串,按照大家自己公司的加密规则算
var sign = CryptoJS.SHA1(signParm).toString();
//console.log("------------Authorization:"+sign);
postman.setGlobalVariable("Authorization",sign);
var permissionBegin = ts;
var permissionEnd = ts + 1000*60*60*24;
console.log("------------permissionBegin:"+permissionBegin);
console.log("------------permissionEnd:"+permissionEnd);
var userNo = Math.floor(Math.random()*99) + 1;
if(userNo < 10){
    userNo = "0" + userNo;
}
var passwordNo = "0" + (Math.floor(Math.random()*8) + 1);
var password = "";
for(var i = 0;i < 6;i++){
    var tmpPwd = Math.floor(Math.random()*10);
    password += tmpPwd;
}
console.log("userNo:"+userNo+"--passwordNo:"+passwordNo+"--password:"+password);
postman.setGlobalVariable("userNo",userNo);
postman.setGlobalVariable("passwordNo",passwordNo);
postman.setGlobalVariable("password",password);
postman.setGlobalVariable("permissionBegin",permissionBegin);
postman.setGlobalVariable("permissionEnd",permissionEnd);

二、断言(Tests这个Tab)

这里所谓的断言,其实就是用来判断接口是否请求成功的。我们这个code返回为20000就表示请求成功。所以断言如下:

pm.test('测试接口请求是否成功',function(){
    var resStr = pm.response.text();
    console.log(resStr);
    var resJson = JSON.parse(resStr);
    var reCode = resJson.CODE;
    console.log(reCode);
    pm.expect(reCode).to.include("20000");
});

要知道更多的断言写法可以看官方文档。

特别说明:

如果不写断言,那接口请求可能就会报错,如图:

2.jpg

三、压力测试方法

3.jpg

特别说明:

压测的接口必须放在collection里,或者选择一个文件夹,里面放collection导出的文件

Environment输入一个名字

Iterations压测次数(接口请求次数)

Delay间隔时间

下面2个默认就好,然后点击StartRun

四、效果

4.jpg

成功失败次数都可以看到,这个失败次数就是基于你写的断言判断的。有人说那随机的参数我看不到啊,ok,可以告诉你此种情况下postman的console是依然可以打印你console.log的日志的。你可以从这里看到你的参数,甚至可以复制出来分析。

ok,到这里就分享完成了,唯一要说的是,我这里打印了时间戳,发现就算我把间隔时间设置为0,也做不到多线程方式的压力测试,所以如果对并发有要求的话,可以多找几个人一起跑postman,或者用jmater。也许postman也有我还没发现,那就下次用到了再告诉大家吧。


作者:肥仔哥哥1930

原文链接:https://blog.csdn.net/zwrlj527/article/details/89524356

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 作为本系列课程的最后一个模块,也是最后一节,我们将从测试用例的设计这个角度,给出我们对测试工程师一些基础能力提升方面的建议。其中的部分内容在前面课程中也或多或少的提到过,在这里也系统回顾梳理下。逻辑思维与结构思维的提高在我们对好用例的定义中,提到用例最重要的是思路的表达与呈现。缜密的逻辑,能帮助我们更好的梳理测试思路,避免遗漏;也能帮助我们更好的将思路转化成测试用例进行表达,方便其他用例阅读或执行者理解和掌握。关于逻辑思维的训练与表达,有很多相关的文章和书籍,这里推荐两个概念——金字塔原理和MECE原则。金字塔原理是一种表达结构的呈现方式,通过条理分明的拆分与梳理,将自己的想法或思考过程进行结...
            0 0 82
            分享
          •   学一门技术,实现经济独立才是最大的安全感!很多姐妹问我软件测试是干什么的?怎么学?今天给大家分享一下。  先说软件测试是干什么的?  简单点说就是检测bug,是由专业的测试人员对软件进行性能、稳定性、质量等进行检测的过程,软件测试工程师对产品质量直接起着决定性作用。  那为什么大家转行更愿意做测试呢?  最主要的原因就是软件测试比开发简单,其次就是平时的工作比较轻松,加班较少,而薪资待遇并不比开发低多少。  这里给想学软件测试的小伙伴们一些很实用的建议  第一点,刚入门的时候,测试策略设计能力和测试用例设计能力是初级测试最核心的竞争力。  第二点,想在这个行业深耕的话,开发能力很重要,时间...
            0 0 364
            分享
          • 怎么编写接口测试用例?接口测试用例如何编写?看到许多这样的问题,大家都知道编写接口测试用例是接口测试的重要组成部分,它决定了测试的质量和可靠性。因此,程序员必须编写高质量的接口测试用例,以确保接口在生产环境中能够正常运行。编写接口测试用例的步骤如下:一、理解接口需求在编写接口测试用例之前,程序员必须完全理解接口的需求。他们需要详细了解接口的设计,包括功能、输入、输出等。程序员还需要详细了解接口的使用场景,以便编写出能够覆盖所有需求的测试用例。二、确定测试策略程序员需要根据接口的需求和使用场景,确定测试策略。他们需要考虑到测试的目标,例如是否要测试接口的性能、稳定性等。程序员还需要确定测试用例的...
            0 0 1244
            分享
          • 登录的测试用例设计点功能性用例设计点:输入已注册的用户名和正确的密码,验证是否成功登录输入已注册的用户名和不正确的密码,验证是否成功失败,且提示信息正确输入未注册的用户名和任意密码,验证是否登录失败,且提示信息正确使用未激活账户登录,验证是否登录失败使用被停用用户登录,验证是否登录失败用户名和密码两者都为空,验证是否登录失败,且提示信息正确用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确如果登录功能启用了验证码功能,在用户名和密码正确的情况下,输入正确的验证码,验证是否登录成功如果登录功能启用了验证码功能,在用户名和密码正确的情况下,输入错误的验证码,验证是否登录失败,且提示信息正...
            0 1 2867
            分享
      • 51testing软件测试圈微信