如何在Pre-request脚本中检测请求由Newman而非Postman运行?
如何在Pre-request脚本中检测请求是由Newman而非Postman运行?
你可以通过检查运行环境的专属标识,避免pm.execution.skipRequest()在Newman中执行引发错误,以下是两种可靠的实现方式:
方案1:检测Newman专属环境变量
Newman运行时会自动添加NEWMAN_VERSION环境变量,可通过该变量判断环境:
// 判断是否处于Newman运行环境 const isNewman = pm.environment.has("NEWMAN_VERSION"); // 仅在非Newman环境(即Postman客户端)执行跳过操作 if (!isNewman) { pm.execution.skipRequest(); }
方案2:检查Postman客户端专属属性
Postman客户端的pm对象包含app属性,而Newman环境中不存在该属性,可借此区分:
// 判断是否处于Postman客户端环境 const isPostman = typeof pm.app !== 'undefined'; if (isPostman) { pm.execution.skipRequest(); }
两种方案都能精准区分运行环境,确保跳过请求的逻辑只在支持该特性的Postman客户端中执行,避免Newman运行时因方法未实现而终止迭代。
内容的提问来源于stack exchange,提问作者Michiel
相关产品推荐
相关产品推荐

