PostMan脚本的响应时间

时间:2017-12-07 05:20:45

标签: javascript performance performance-testing postman

是否有一种简单的方法可以捕获PostMan脚本中请求和响应的响应时间?

我尝试通过创建Collection然后在Tests中执行以下操作,编写以下脚本来捕获并将值放入Environment变量中:

postman.setEnvironmentVariable("MyURLRequest", (responseTime));

这为我提供了环境变量中的值,但我需要每次都去那里检查时间。

我尝试过的另一种方法是使用集合上的“Runner”并从导出结果中的“totalRequestTime”值获取响应时间。但是当我运行~50个请求时,很难为每个请求捕获相同的内容。

有没有人尝试过这个,并且能够更好地捕获和导出每个发出的请求的响应时间值?

4 个答案:

答案 0 :(得分:3)

您可以使用内置的pm.response.responseTime函数来获取时间。

在测试中将其添加到console.log(pm.response.responseTime),尝试将其分配给env / global变量。

你甚至可以(虽然这有点过于杀人)这样做:

Response Times

如果您在每次测试中都不想要它,可以将其添加到集合中。在最新版本上,按集合上的编辑以查看选项。

答案 1 :(得分:1)

我可以使用以下代码在纽曼上实现这一目标:

"event": [
    {
    "listen": "test",
    "script": {
        "id": "aaaaaaaa-1111-4444-aaaa-000000011111",
        "exec": [                   
                  "var rtm = pm.response.responseTime",
                  "var rts = rtm/1000",

                  "pm.test(\"Check response time and Status\", function () {",
                  "pm.response.to.have.status(200);",

                  "console.log(\"Response time in mili seconds\" , rtm);",
                  "console.log(\"Response time in seconds\" , rts);",
                   "});"    
                ]
            }
     }
]

答案 2 :(得分:0)

pm.test("Response time is less than 200ms", () => {
 pm.expect(pm.response.responseTime).to.be.below(200);
});

上面scriipt是测试响应时间,打印响应时间可以这样操作

pm.test("Response time is less than 200ms which is "+pm.response.responseTime, () => {
 pm.expect(pm.response.responseTime).to.be.below(200);
});

输出:

enter image description here

答案 3 :(得分:-1)

 .... omitted
 ServerOAuth2AuthorizedClientExchangeFilterFunction oauthFilter = new 
 ServerOAuth2AuthorizedClientExchangeFilterFunction(authorizedClientManager);
    oauthFilter.setDefaultClientRegistrationId(OAUTH_PROVIDER_NAME);

    return WebClient.builder()
        .clientConnector(new JettyClientHttpConnector(createHttpClient()))
        .exchangeStrategies(getMaxMessageInMemorySize(maxInMemorySize))
        .baseUrl(baseURL)
        .filter(oauthFilter)
        .build();
  }


  private ReactiveOAuth2AuthorizationFailureHandler getReactiveOAuth2AuthorizationFailureHandler() {
    final ReactiveOAuth2AuthorizationFailureHandler reactiveOAuth2AuthorizationFailureHandler = (authorizationException, principal, attributes) -> {
      if (authorizationException instanceof ClientAuthorizationException) {
        ClientAuthorizationException clientAuthorizationException = (ClientAuthorizationException)authorizationException;
        return Mono.error(new MyUnAuthorizedRequestException("401","Could not authorize client", clientAuthorizationException.getMessage()));
      } else {
        return Mono.empty();
      }
    };
    return reactiveOAuth2AuthorizationFailureHandler;
  }

以上代码将为您提供毫秒级的响应时间。