Google Chrome拡張機能のPOSTMANからデータをPOSTしたいと思います。異なるデータで10回のリクエストを行い、それを同時に行う必要があります。
POSTMANでこのようなことは可能でしょうか?もし可能であれば、どのようにして実現できるのか説明していただけますか?
お手数ですが、よろしくお願いします。
同時進行でテストを行うような機能はpostmanにはないのでしょうね。
もし私があなただったら、まさにそのようなシナリオのために使われているApache jMeterを検討するでしょう。
Postmanについては、あなたのニーズを多少なりとも満たすことができる唯一のものは - Postman Runnerです。 です。 そこで詳細を指定することができます。
テストは同時進行ではなく、連続して行われます。
ご参考になれば幸いです。でも、jMeterを検討してみてください(きっと気に入りますよ)。
Postmanではそのようなことはできませんが、Bashで複数のcurl
リクエストを非同期に実行することができます。
curl url1 & curl url2 & curl url3 & ...
各リクエストの後に、そのリクエストが非同期ジョブとして実行されることを意味する &
を追加することを忘れないでください。
しかし、Postman はリクエスト用の curl スニペットを生成することができます: https://learning.getpostman.com/docs/postman/sending_api_requests/generate_code_snippets/
この質問がまだ関連しているかどうかはわかりませんが、今のポストマンにはそのような可能性があります。数ヶ月前に追加されました。
必要なのは、シンプルな.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のコレクションランナーでは、同時非同期リクエストを行うことができないため、代わりにApache JMeterを使用してください。 複数のスレッドを追加し、同期タイマーを追加できます。
すべてのコレクションを並行してフォルダで実行します。
'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
});
GETリクエストのみを実行していて、Chromeブラウザ内から別の簡単なソリューションが必要な場合は、「複数のURLを開く」拡張機能をインストールしてください。
https://chrome.google.com/webstore/detail/open-multiple-urls/oifijhaokejakekmnjmphonojcfkpbh?hl = en。
私は一度に1500のURLを実行したばかりで、少しラググーグルを実行しましたが、それは機能します。