使用JavaScript实现Postman测试:统计指定单词出现次数
解决Postman测试脚本验证"Black"出现次数的问题
嘿,作为API和Postman的新手遇到这种问题太正常啦,我来帮你搞定这个测试脚本!
首先得说下你原代码的问题:responseBody.has(colourCount=2)这种写法不对,has()方法只能判断目标字符串是否存在,没办法指定出现的次数。我们得换个思路来统计次数,具体解决方案分两种情况:
方法一:针对数组格式的响应体(你的示例场景)
你的响应体是数组格式的字符串,首先得把它转换成JavaScript数组,再统计包含"Black"的元素数量:
// 1. 将响应体字符串解析为可操作的数组 const responseData = JSON.parse(responseBody); // 2. 过滤出包含"Black"的元素并统计数量 const blackOccurrences = responseData.filter(item => item.includes('Black')).length; // 3. 验证次数是否等于2 tests['"Black" appears exactly 2 times'] = blackOccurrences === 2;
方法二:如果响应体是纯文本格式(拓展场景)
要是你的响应体不是数组,而是普通纯文本字符串,可以用正则表达式来匹配统计:
// 全局匹配所有"Black"实例 const matches = responseBody.match(/Black/g); // 统计次数(没匹配到就设为0) const blackOccurrences = matches ? matches.length : 0; // 执行断言验证 tests['"Black" appears exactly 2 times'] = blackOccurrences === 2;
这样就能精准验证"Black"在响应体里是否刚好出现2次啦~
内容的提问来源于stack exchange,提问作者Mara Lee
相关产品推荐
相关产品推荐

