Answers:
我想邮递员中没有运行并发测试的功能。
如果我是您,我会考虑使用Apache jMeter完全用于此类情况。
关于邮递员,唯一可以或多或少满足您需求的是-邮递员赛跑者。 您可以在此处指定详细信息:
运行不会是并行的,只能是连续的。
希望有帮助。但是请考虑使用jMeter(您会喜欢的)。
我不知道这个问题是否仍然有用,但是现在邮递员中就有这种可能性。他们在几个月前添加了它。
您需要做的只是创建一个简单的.js文件,并通过node.js运行它。看起来像这样:
var path = require('path'),
async = require('async'), //https://www.npmjs.com/package/async
newman = require('newman'),
parametersForTestRun = {
collection: path.join(__dirname, 'postman_collection.json'), // your collection
environment: path.join(__dirname, 'postman_environment.json'), //your env
};
parallelCollectionRun = function(done) {
newman.run(parametersForTestRun, done);
};
// Runs the Postman sample collection thrice, in parallel.
async.parallel([
parallelCollectionRun,
parallelCollectionRun,
parallelCollectionRun
],
function(err, results) {
err && console.error(err);
results.forEach(function(result) {
var failures = result.run.failures;
console.info(failures.length ? JSON.stringify(failures.failures, null, 2) :
`${result.collection.name} ran successfully.`);
});
});
然后只需运行此.js文件(cmd中的“ node fileName.js”)即可。
在这里更多细节
不知道人们是否仍在寻找简单的解决方案,但是您可以在Postman中运行“ Collection Runner”的多个实例。只需创建带有某些请求的运行器,然后多次单击“运行”按钮即可启动多个实例。
并行运行一个文件夹中的所有Collection:
'use strict';
global.Promise = require('bluebird');
const path = require('path');
const newman = Promise.promisifyAll(require('newman'));
const fs = Promise.promisifyAll(require('fs'));
const environment = 'postman_environment.json';
const FOLDER = path.join(__dirname, 'Collections_Folder');
let files = fs.readdirSync(FOLDER);
files = files.map(file=> path.join(FOLDER, file))
console.log(files);
Promise.map(files, file => {
return newman.runAsync({
collection: file, // your collection
environment: path.join(__dirname, environment), //your env
reporters: ['cli']
});
}, {
concurrency: 2
});
在邮递员的收集运行器中,您无法同时发出异步请求,因此请改用Apache JMeter。它允许您添加多个线程并为其添加同步计时器
如果您只执行GET请求,并且需要Chrome浏览器中的另一个简单解决方案,则只需安装“打开多个URL”扩展名:
我刚刚一次运行了1500个url,确实落后于google了一点,但是它可以工作。
对于更简单的GUI方法,请在不同的选项卡中打开要运行的每个请求。然后,您可以转到每个选项卡,然后单击运行。