newman执行抛出TypeError:newman.run不是函数

时间:2018-03-05 19:23:23

标签: postman newman

我的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)

2 个答案:

答案 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');