如何使用POSTMAN同时发出多个请求

时间:2016-03-22 14:26:41

标签: post postman http-request

我想发布来自 POSTMAN Google Chrome扩展程序的数据。我想用不同的数据发出10个请求,它应该是同一时间。

在POSTMAN中可以这样做吗?如果有,任何人都可以解释我如何实现这一目标?

感谢您的时间。

10 个答案:

答案 0 :(得分:122)

我猜邮递员中没有这样的功能可以运行并发测试。

如果我是你,我会考虑Apache jMeter,这完全用于这种情况。

关于邮递员,唯一可以或多或少满足您需求的是 - 邮递员亚军。 enter image description here 在那里,您可以指定详细信息:

  • 迭代次数
  • 上传包含不同测试运行等数据的csv文件。

运行不会是并发的,只是连续的。

希望有所帮助。但请考虑jMeter(你会喜欢它)。

答案 1 :(得分:55)

Postman没有这样做但你可以在Bash中异步运行多个curl个请求:

curl url1 & curl url2 & curl url3 & ...

请记住在每个请求后添加&,这意味着请求应作为异步作业运行。

答案 2 :(得分:26)

我不知道这个问题是否仍然相关,但现在邮递员有这样的可能性。他们几个月前补充说。

您只需要创建简单的.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文件('节点fileName.js'在cmd中)。

更多详情here

答案 3 :(得分:2)

在paralle中的文件夹中运行所有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
});

答案 4 :(得分:1)

在邮递员的收藏中,您无法同时发出异步请求,因此请使用jmeter。

您可以使用Apache JMeter;它允许您添加多个线程并为其添加同步计时器

答案 5 :(得分:0)

不知道人们是否仍在寻找简单的解决方案,但是您可以在Postman中运行“ Collection Runner”的多个实例。只需创建一个具有某些请求的跑步者,然后多次单击“运行”按钮即可调出多个实例。

答案 6 :(得分:0)

对于更简单的GUI方法,请在不同的选项卡中打开要运行的每个请求。然后,您可以转到每个选项卡并单击运行。

答案 7 :(得分:0)

如果您仅执行GET请求,并且需要Chrome浏览器中的另一个简单解决方案,则只需安装“打开多个URL”扩展名即可:

https://chrome.google.com/webstore/detail/open-multiple-urls/oifijhaokejakekmnjmphonojcfkpbbh?hl=en

我刚刚运行了1500个网址,确实落后于Google一点,但是它可以正常工作。

答案 8 :(得分:0)

为什么只将 Postman 用于此目的? 您可以使用任何语言 pythong、javascript 等编写脚本。 Python为我做了这个

答案 9 :(得分:-1)

您需要运行多个迭代。在这里描述:

enter link description here