Выдача выполнения newman TypeError: newman.run не является функцией

На моем компьютере с Ubuntu установлена ​​версия newman 3.9.3. Хотите выполнить несколько коллекций из папки, но выполняете файл js через меня

Ошибка типа: 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'}!`);
        });
    });
});

Ниже приводится точная ошибка.

/ app / почтальон / выполнить:15 newman.run({ ^

Ошибка типа: newman.run не является функцией в /app/postman/execute:15:16 в Array.forEach (native) в /app/postman/execute:14:11 в FSReqWrap.oncomplete (fs.js:123:15)

2 ответа

В настоящее время я решил эту проблему с помощью bash-скрипта, чтобы запустить все мои коллекции, доступные в папке. это сделало работу. но изначально я не мог понять, почему "запуск" недоступен для объекта "новичок".

Я получил то же сообщение об ошибке и решил установить пакет nodejs:

npm install --save newman

По сути, когда вы делаете корзину как ссылку, nodejs не знает, как ее запустить:

Вместо:

var newman = require(process.env.NVM_BIN+'/newman');

Должно быть:

var newman = require('newman');
Другие вопросы по тегам