当 运行 newman 来自节点 js 时,是否可以创建或更新邮递员测试脚本或变量?

Is it possible to create or update postman test scripts or variables when running newman from node js?

我的 post 人 collection 有多个 post 电话,他们 return pdf 作为回应。 使用 newman & node js 我是 运行 将 pdf 解析为文本的 collection。我想将此文本放入环境变量或测试脚本中,以便可以执行进一步检查。

我正在尝试这样做,以便整个请求、响应和验证都发生在同一个请求中。 (而不是 https://community.postman.com/t/pdf-parsing-with-postman-and-express-js/17938

我注意到可以使用以下脚本更新请求 header。同样,是否可以在执行后更新或设置变量或测试脚本(例如在请求或 beforeTest 或 beforeScript 事件中)..?

            const newman = require('newman');
            PostmanHeader = require('postman-collection').Header;

            newman.run({
                    collection: require('./myCollection.json'),
                    reporters: 'cli'        

                })
                .on('beforeItem', (error, data) => {
                        console.log("BeforeUpdate------------------");
                        console.log(data.item.request.headers.members);

                        var myHeaderVal = 'Test123';
                        additionalHeader = new PostmanHeader({
                            key: 'CustomHeader',
                            value: myHeaderVal
                        });
                        data.item.request.headers.members.push(additionalHeader);
                        console.log("Updated------------------");
                        console.log(data.item.request.headers.members);
                    }

                )

谢谢

const newman = require('newman'); // require newman in your project

// call newman.run to pass `options` object and wait for callback
newman.run({
    collection: require('./test.postman_collection.json'),
    reporters: "cli",

}, function(err) {
    if (err) {
        throw err;
    }
    console.log('collection run complete!');
}).on('beforeTest', (error, data) => {
    console.log("BeforeUpdate------------------");
    data.events[0].script.exec = ["pm.test(\"Status code is 500\", function () {\r", "    pm.response.to.have.status(00);\r", "});"];

});

您可以使用 beforeScript 或 beforeTest 访问和修改测试脚本