Выдача выполнения 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');