评估预请求脚本时出错

Posted

技术标签:

【中文标题】评估预请求脚本时出错【英文标题】:There was an error in evaluating the Pre-request Script 【发布时间】:2018-07-03 22:06:27 【问题描述】:

我正在尝试通过 Post Request Script 在 Postman 中访问我的 POST 请求的响应。

我在Pre-request Script下添加了这两行

let response = pm.response.json(); 
console.log('JSON Response: ',response );

然后,我打开我的 Postman 控制台,然后点击 Send 发出我的 POST 请求

我一直在得到

:TypeError: Cannot read property 'json' of undefined

我需要在 Postman 上启用什么吗?

【问题讨论】:

【参考方案1】:

请确保您清除了预请求和测试选项卡的文本区域

通过清除文本我解决了这个问题

【讨论】:

好吧,如果您需要预请求脚本怎么办?【参考方案2】:

检查您的 SSL 是否已关闭。如果不是,请关闭。

设置 >> 常规 >> SSL 证书验证

【讨论】:

【参考方案3】:

正在帮助一位朋友,他试图对集合中的所有请求进行调整。

我在文档中找到,如何删除

https://learning.postman.com/docs/writing-scripts/pre-request-scripts/

【讨论】:

【参考方案4】:

您可以尝试设置一个环境变量,获取它并解析它,我创建了一个 POST 请求来进行登录并为每个请求获取一个令牌。

const echoPostRequest = 
  url: pm.environment.get("url_login"),
  method: 'POST',
  header: 'Content-Type: application/json',
  body: 
    mode: 'raw',
    raw: JSON.stringify( email: pm.environment.get("user"),password: pm.environment.get("password") )
  
;
pm.sendRequest(echoPostRequest, function (err, res) 
    console.log(err ? err : res.json());
    pm.environment.set("login_response", res.json());
    pm.environment.set("bearer_token", pm.environment.get("login_response").bearer_token);
);

【讨论】:

【参考方案5】:

就我而言,有一个脚本搞砸了我的请求。如果您从其他人那里获得邮递员收藏,请检查并尝试修复它。 (在我的情况下,我不需要它,所以我删除了它)

【讨论】:

【参考方案6】:

预请求脚本在发送请求之前运行。您还没有回复。

尝试将您的脚本放在Tests 选项卡下,该选项卡在收到响应后运行。

【讨论】:

哦,废话,你说得对。我在阅读这篇文章时错过了解释:getpostman.com/docs/postman/environments_and_globals/…

以上是关于评估预请求脚本时出错的主要内容,如果未能解决你的问题,请参考以下文章

获取日期 - 3 个月

Postman的预请求脚本

邮递员在预请求脚本中获取随机用户名

接口测试进阶接口脚本使用--apipost(预/后执行脚本)

如何通过 Postman 预请求脚本设置请求正文?

从预请求脚本中的集合调用请求