我的ubuntu盒子上安装了newman 3.9.3版本。想要从文件夹执行多个集合,但通过我执行js文件有线错误说
TypeError:newman.run不是函数。
这是我的执行脚本。任何帮助将不胜感激。
#!/usr/bin/env node
var newman = require(process.env.NVM_BIN+'/newman');
var fs = require('fs');
fs.readdir('./collections', function (err, files) {
if (err) { throw err; }
files = files.filter(function (file) {
return (file.substr(-5) === '.json');
});
// now wer iterate on each file name and call newman.run using each file name
files.forEach(function (file) {
newman.run({
environment: require(`${__dirname}/live.postmane_environment.json`),
collection: require(`${__dirname}/collections/${file}`),
reporters: ['cli']
}, function (err) {
console.info(`${file}: ${err ? err.name : 'ok'}!`);
});
});
});
以下是确切的错误。
/应用/邮差/执行:15 newman.run({ ^
TypeError:newman.run不是函数 at / app / postman / execute:15:16 at Array.forEach(native) at / app / postman / execute:14:11 在FSReqWrap.oncomplete(fs.js:123:15)
答案 0 :(得分:0)
目前,我通过使用bash脚本运行文件夹中的所有可用集合来解决此问题。已完成这项工作。但最初我无法理解为什么"运行"不适用于" newman"对象
答案 1 :(得分:0)
我收到了相同的错误消息并解决了安装nodejs包的问题:
npm install --save newman
基本上,当您将bin作为参考时,nodejs不知道如何运行:
而不是:
var newman = require(process.env.NVM_BIN+'/newman');
应该是:
var newman = require('newman');