web-dev-qa-db-ja.com

POSTMANを使用して複数の要求を同時に作成する方法

_ postman _ Google Chrome拡張機能からPOSTデータを取得したいです。私は異なるデータで10のリクエストをしたいのですが、それは同時に行われるべきです。

POSTMANでそのようにすることは可能ですか?そうだとすれば、誰もがこれをどのように達成することができるか私に説明できますか?

お時間をいただきありがとうございます。

114
user3384231

同時テストを実行するような機能はpostmanにはないと思います。

私があなただったら私は Apache jMeter を考えるでしょう。これはまさにそのようなシナリオのために使われます。

Postmanに関して、多かれ少なかれあなたのニーズを満たすことができる唯一のものは - Postman Runnerです。 enter image description here 詳細を指定できます。

  • 繰り返し回数
  • さまざまなテスト実行用のデータを含むcsvファイルをアップロードするなど.

実行は同時ではなく、連続しているだけです。

それが役立つことを願っています。しかしjMeter(あなたはそれを好きになるでしょう)を検討してください。

118
Yabko

Postmanはそれを行いませんが、Bashでは非同期に複数のcurlリクエストを実行できます。

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

各リクエストの後に&を追加することを忘れないでください。これはリクエストが非同期ジョブとして実行されるべきであることを意味します。

55
Daniel

この質問がまだ適切かどうかはわかりませんが、現在Postmanにはそのような可能性があります。彼らは数ヶ月前にそれを追加しました。

必要なのは単純な.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')を実行してください。

もっと詳しく ここ

25

フォルダ内のすべてのコレクションを並行して実行します。

'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
});
2
Michael

郵便配達のコレクションでは、同時非同期リクエストを行うことはできませんので、jmeterを使ってください。

Apache JMeter ;を使うことができます。それはあなたが複数のスレッドを追加し、それに同期タイマーを追加することを可能にします

1
ashwath hegde

GETリクエストだけを実行していて、Chromeブラウザ内から別の簡単な解決策が必要な場合は、「複数のURLを開く」拡張機能をインストールするだけです。

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

一度に1500個のURLを実行しただけで、Googleは少し遅れましたが、動作します。

0
CularBytes

より単純なGUIアプローチの場合は、実行したいすべての要求を別々のタブで開きます。その後、各タブをクリックして実行できます。

0
Ronald

人々がまだこれに対する簡単な解決策を探しているかどうかわからないが、あなたはPostmanで "Collection Runner"の複数のインスタンスを実行することができる。いくつかのリクエストでランナーを作成し、「実行」ボタンを複数回クリックして複数のインスタンスを起動します。

0
Dan