当前位置: 首页 > 知识库问答 >
问题:

邮递员脚本的响应时间

单嘉泽
2023-03-14

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

我尝试通过创建一个集合来完成以下工作,然后在测试中编写以下脚本来捕获值并将其放入环境变量中:

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

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

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

是否有人尝试过这一点,并且能够获得更好的方法来捕获和导出发送的每个请求的响应时间值?

共有3个答案

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

上面的脚本是测试响应时间,要打印响应时间,您可以这样做

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

输出:

甘明朗
2023-03-14

我可以使用下面的代码在Newman上实现这一点:

"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);",
                   "});"    
                ]
            }
     }
]
闻人昕
2023-03-14

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

将它添加到测试中的< code > console . log(pm . response . response time)中,进行测试或将其赋给env/global变量。

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

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

 类似资料:
  • 如何调用POST API请求(具有用户名请求主体的登录API 登录API:POST方法;请求正文:用户名和密码;响应正文:令牌。获取客户记录API:GET方法;请求URI: /token/ 只想在邮递员的一个测试中涵盖这种端到端场景。任何人都可以帮我提供预请求脚本吗?我应该如何调用登录 API?

  • 无法得到任何回应 连接到http://subdomain.localhost:port/api/时出错 为什么会发生这种情况: 如果我从postman复制相同的URL并将其粘贴到浏览器中,我会得到适当的响应,是否应该进行某种配置来使postman与子域一起工作?

  • 我有一个邮递员预请求脚本添加一个HMAC密钥到一个请求。除非身体中有一个环境变量,否则这种方法很有效。所以如果我有下面的身体 当发送请求时将键值设置为sample时,正文包含以下内容 这是我所期望的。但是,在访问预请求脚本中的请求正文时, 我得到以下信息 我怎样才能获得变量被替换的主体,以便它是将被发送到服务器的内容?

  • 我正在尝试创建一个todo-list应用程序,并在每种类型的请求上与邮递员进行检查。GET和POST请求工作正常。但PUT和DELETE没有按预期工作。 正如预期的意思:它不显示404,也不显示结果,而是显示一个错误,即不能得到任何响应。 下面是我的put和delete代码: 现在,我不知道是不是虫子什么的。

  • 我有一个关于邮递员的共享收藏。当我在共享集合中运行请求时,它失败并显示以下错误: 评估预先请求脚本时出错:错误:意外的令牌 我已经用几个请求试过了,最简单的请求是对“http://localhost:8000/v1/resource”的GET请求,没有参数、授权、头、正文或请求前脚本,仍然会出现上述错误。 检查邮递员的控制台时,我看到以下错误: JSONError:意外令牌' 和上面的那个吻合。

  • 我有一个对服务器的Authenticate post调用,如下所示: 用这样的尸体: 我总是必须在Postman中执行两次这个Authenticate调用,以正确填充我的全局var“安全令牌”,并在此后的下一次调用中使用该令牌进行身份验证,因此,似乎预请求脚本实际上是在脚本之后运行的,或者是预请求脚本中设置的全局var对当前请求不容易可用? 我做错了什么? 以下是预先请求的SRIPT: