Postman接口之间增加等待时长

发表于:2021-4-22 09:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:BJ1599449    来源:CSDN

  一、postman接口之间增加等待使用场景
  1.发送接口调试时,响应超时时间设置的太短导致接口访问失败。
  2.获取当前时间,但是服务器时间响应时间较慢。
  3.上一个接口未请求完成,下一个接口需要使用上一个接口的参数。
  二、增加等待的方法
  1.方法一:所有项目集合全局添加等待
  2.方法二:个别项目运行时,全局增加等待时间
  设置Delay参数,表示发送完每个请求后,延迟一段时间再发送下一个请求。这个设置会对每个Request都生效。
  而有时我们只需要为在某个Request设置Delay时间,并不需要让每个Request都延迟发送。此时我们就不能用这个Delay参数了。
  3.方法三:setTimeout方法【异步】
  Postman的TestScript来设置在发送Request后延迟一段时间再发送下一个请求的方法。
  其实只要使用javascript 的setTimeout方法即可。
  pm.test("DescribeJob", function () {
      setTimeout(()=>{console.log("这里的语句才会等待60秒后执行");}, 60000);
      console.log('setTimeout后面的操作会异步执行,不会等待60秒后再执行');
  });
  例子:
  for (var i = 1;i <= 5;i ++) {
   
    setTimeout(function timer() {
   
        console.log(i)
   
    },i * 1000)
   
  }
  输出:
  第一次循环,隔一秒输出1;
  第二次循环,隔两秒输出2;
  第三次循环,隔三秒输出3;
  第四次循环,隔四秒输出4;
  第五次循环,隔五秒输出5;
  注意:
  setTimeout实际还是异步执行的,最后一行的console.log语句并不会等待60秒后才执行,只有setTimeout内部第一个参数中的语句才会在延迟60秒后才执行。
  4.方法四:setTimeout【简约版】
  setTimeout(function() {},[number]);
  5.方法五:sleep函数
  注意:
  在测试的过程中发现这种写法会有一个问题:接口的ResponseBody会在执行完等待时间后才返回。
  function sleep(numberMillis){
      var now = new Date();
      var exitTime = now.getTime() + numberMillis;
      while (true){
          now = new Date();
          if (now.getTime() > exitTime)
          return;
      }
  }
  sleep(10000);

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号