Postman Google Chrome拡張機能からデータをPOSTしたい。
異なるデータで10個のリクエストを作成したいのですが、同時にリクエストする必要があります。
Postmanでこれを行うことは可能ですか?
はいの場合、これをどのようにして達成できるかを誰かに説明できますか?
Postman Google Chrome拡張機能からデータをPOSTしたい。
異なるデータで10個のリクエストを作成したいのですが、同時にリクエストする必要があります。
Postmanでこれを行うことは可能ですか?
はいの場合、これをどのようにして達成できるかを誰かに説明できますか?
回答:
同時テストを実行するようなpostmanのような機能はないと思います。
もし私があなただったら、そのようなシナリオに正確に使用されるApache jMeterを検討します。
Postmanに関しては、多かれ少なかれあなたのニーズを満たすことができる唯一のものは-Postman Runnerです。 そこで詳細を指定できます。
実行は同時ではなく、連続するだけです。
お役に立てば幸いです。しかし、jMeterを検討してください(きっと気に入るはずです)。
Postmanはそれを行いませんがcurl
、Bashで複数のリクエストを非同期で実行できます:
curl url1 & curl url2 & curl url3 & ...
&
各リクエストの後に必ず忘れずに追加してください。つまり、リクエストは非同期ジョブとして実行される必要があります。
ただし、Postmanはリクエストのカールスニペットを生成できます。https://learning.getpostman.com/docs/postman/sending_api_requests/generate_code_snippets/
この質問がまだ関連しているかどうかはわかりませんが、現在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」)を実行します。
詳細はこちら
人々がまだこれに対する簡単な解決策を探しているかどうかはわかりませんが、Postmanで「コレクションランナー」の複数のインスタンスを実行できます。いくつかのリクエストでランナーを作成し、「実行」ボタンを複数回クリックして、複数のインスタンスを表示します。
フォルダー内のすべてのコレクションを並行して実行します。
'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を開く」拡張機能をインストールするだけです。
https://chrome.google.com/webstore/detail/open-multiple-urls/oifijhaokejakekmnjmphonojcfkpbbh?hl=en
私はちょうど1500のURLを一度に実行しました、グーグルを少し遅らせましたが、それは機能します。
よりシンプルなGUIアプローチでは、実行するすべてのリクエストを異なるタブで開きます。次に、各タブをクリックして実行します。