使用Node.js从Newman加载CSV

时间:2019-11-29 13:51:10

标签: node.js postman newman

我有以下正在运行的代码。

我有一个使用javascript的脚本,该脚本使用nodejs并读取一个csv文件,但是我不知道如何在newman.run中使用csv中的数据

var fs = require('fs');
var people = [];
var fileContents = fs.readFileSync('users.csv');
var lines = fileContents.toString().split('\n');
const newman = require('newman'); // require newman in your project
for (var i = 0; i < lines.length; i++) {
    people.push(lines[i].toString().split(','));
}
for (var i = 0; i < lines.length; i++) {

    console.log(people[i][0]);

    newman.run({
        collection: require('collection.json'),
        environment: require('environment.json'),   
        reporters: 'htmlextra',     
    }, function (err) {
        if (err) { throw err; }
        console.log("i"+'collection run complete!');
    });

}

我试图解释发生了什么。

我正确地遍历了csv文件,但我不知道如何在post正文中传递csv的值。

海葵能帮助我吗?

1 个答案:

答案 0 :(得分:0)

要在脚本中将datafile与Newman一起使用-您只需将iterationData键添加到newman.run对象,然后引用文件名作为值。

const newman = require('newman');

newman.run({
    collection: require('collection.json'),
    environment: require('environment.json'),
    iterationData: '<path to file>/users.csv',   
    reporters: 'htmlextra',     
}, function (err) {
    if (err) { throw err; }
    console.log('collection run complete!');
});

要使用请求中的值,您需要使用{{var_name}}语法(引用CSV列标题)添加此变量名。

有关处理数据文件的更多信息,请参见:

https://learning.getpostman.com/docs/postman/collection-runs/working-with-data-files/