postman批量测试成功newman生成测试报告失败

在使用Newman生成接口测试报告时遇到失败,原因是URL存在空格错误,该错误源自Postman环境变量设置。虽然Postman内部使用CURRENTVALUE正常运行,但Newman依赖于INITIALVALUE,而错误的INITIALVALUE导致了问题。解决方案是检查并修正环境变量设置,确保无多余字符。

Newman生成接口测试报告失败原因记录


在使用postman批量执行完测试用例后,使用Newman生成测试报告却失败了,出现下图:
在这里插入图片描述

报告上显示:

Method 	: GET
URL		: http://www.xxx.com /api/v1/banner/1

错误原因:

  • URL错误多了一个空格,这是在Postman设置环境变量的时候多敲了换行符导致的

但是,为什么postman能够运行而导出用例和环境后在Newman就不能运行呢?

  • 因为
    Postman设置环境变量时有两个值,一个INITIAL VALUE,一个CURRENT VALUE
    Postman内部使用CURRENT VALUE
    Newman运行时使用INITIAL VALUE
    而设置错误的正好是INITIAL VALUE
    所以出现此类错误可能存在环境变量可能设置错误的情况,有可能多输入了一个 / 或者多了空格等
### Postman批量测试生成测试数据 在 Postman 中进行批量测试生成测试数据是一项常见的需求,尤其是在 API 接口测试中。以下是关于如何通过 Postman 实现这一目标的具体说明。 #### 设置环境变量 为了支持动态参数化和批量请求,在 Postman 的环境中设置变量是非常重要的。可以通过以下方式来管理这些变量: - **定义集合级别的变量**:可以在 Collection Settings 下配置特定于该集合的变量。 - **定义全局变量**:适用于整个项目范围内的共享变量。 具体操作如下: 1. 进入 `Collection` 或者 `Global Variables` 面板; 2. 添加必要的键值对作为初始条件或模板字段[^2]。 #### 动态生成唯一的数据条目 当某些接口不允许重复提交相同的内容时,则需确保每次调用都提供独一无二的新记录。这通常涉及日期时间戳、随机数或其他自增机制等逻辑构建唯一的实体属性值。 例如,利用 JavaScript 表达式生成当前时刻字符串形式的时间戳附加到用户名后面形成不可复制的名字样例代码片段展示于此处: ```javascript let currentTime = new Date().getTime(); pm.variables.set("uniqueName", "User_" + currentTime); ``` 上述脚本会基于系统毫秒级计时器创建一个带有前缀 “User_” 的新名称,并将其存储至名为 uniqueName 的局部作用域内供后续 HTTP 请求引用[^4]。 #### 构建循环结构实现多次迭代发送请求 借助 CSV 文件导入功能或者预设数组列表配合 Pre-request Script 来控制多轮次连续触发相同的 URL 路径但携带不同负载体的方式达成目的。 ##### 方法一: 使用 Data Files (CSV/JSON) 准备一份外部资源文件比如 csv 格式的纯文本档案包含待填充的各项要素项名及其对应实例数值;接着指定此资料源关联至 Runner 工具启动运行期间加载进来逐行解析应用到各个独立事务当中去完成一系列相似却又有所区别的动作序列[^3]. 示意图解省略... ##### 方法二: 编写内部逻辑驱动程序流 另一种替代方案则是完全依靠内置 scripting capabilities 自己动手编写一段 js 函数负责计算衍生出来的各项细节信息再赋给相应位置上的占位符从而达到同样的效果即自动组装完整的 json/xml body payload 并发起 post/get etc... 类型的操作命令链路图同样忽略不表.. 典型例子演示如下所示: ```javascript // 假设有这样一个简单的对象模型表示一条客户订单详情... var orderItems = [ {"product": "Apple", quantity: 5}, {"product": "Banana",quantity :8} ]; for(var i=0;i<orderItems.length;i++) { var item = orderItems[i]; // 将每一单项商品规格转换成适合传递过去的格式 pm.request.body.update({ mode:"raw", raw:`{"item":"${item.product}","amount":${item.quantity}}` }); // 发起真正的网络交互过程 pm.sendRequest(pm.request.url, function(err,res){ console.log(res.json()); }); } ``` 以上两种途径均可满足题目所描述的要求——既能够高效地构造大批量样本同时也方便灵活调整适应各种复杂业务场景下的特殊定制诉求[^1]^. ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值