Postacı Google Chrome uzantısından POST verileri göndermek istiyorum .
Farklı verilerle 10 istek yapmak istiyorum ve aynı zamanda olmalı.
Postacı'da bunu yapmak mümkün mü?
Evet ise, kimse bana bunun nasıl başarılabileceğini açıklayabilir mi?
Postacı Google Chrome uzantısından POST verileri göndermek istiyorum .
Farklı verilerle 10 istek yapmak istiyorum ve aynı zamanda olmalı.
Postacı'da bunu yapmak mümkün mü?
Evet ise, kimse bana bunun nasıl başarılabileceğini açıklayabilir mi?
Yanıtlar:
Sanırım postacıda eşzamanlı testler yapmak gibi bir özellik yok.
Ben olsaydım tam olarak böyle senaryolar için kullanılan Apache jMeter düşünecektim .
Postacı ile ilgili olarak, az çok ihtiyaçlarınızı karşılayabilecek tek şey: Postacı Koşucusu. Orada ayrıntıları belirleyebilirsiniz:
Koşular eşzamanlı olmayacak, sadece ardışık olacak.
Umarım yardımcı olur. Ama jMeter'i düşünün (seveceksiniz).
Postacı bunu yapmaz, ancak curl
Bash'de birden fazla isteği eşzamansız olarak çalıştırabilirsiniz :
curl url1 & curl url2 & curl url3 & ...
&
Her istekden sonra bir zaman uyumsuz iş olarak çalışması gerektiği anlamına gelen bir son eklemeyi unutmayın .
Ancak postacı isteğiniz için kıvrılma snippet'i oluşturabilir: https://learning.getpostman.com/docs/postman/sending_api_requests/generate_code_snippets/
Bu sorunun hala alakalı olup olmadığını bilmiyorum, ancak şimdi Postacı'da böyle bir olasılık var. Birkaç ay önce eklediler.
Tek ihtiyacınız olan basit .js dosyası oluşturmak ve node.js ile çalıştırmaktır. Şöyle görünüyor:
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.`);
});
});
Sonra sadece bu .js dosyasını çalıştırın (cmd'deki 'node fileName.js').
Daha fazla ayrıntı burada
İnsanların hala bunun için basit çözümler aradığından emin değilim, ancak Postacı'da "Koleksiyon Koşucusu" nun birden fazla örneğini çalıştırabilirsiniz. Bazı istekleri olan bir koşucu oluşturun ve birden fazla örneği görüntülemek için "Çalıştır" düğmesini birkaç kez tıklayın.
Tüm Koleksiyonu paralel bir klasörde çalıştırın:
'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
});
Postacı koleksiyonunda aynı anda eşzamansız istekte bulunamazsınız, bunun yerine Apache JMeter kullanın. Birden çok iş parçacığı eklemenize ve buna senkronize zamanlayıcı eklemenize olanak tanır
Yalnızca GET istekleri yapıyorsanız ve Chrome tarayıcınızdan başka bir basit çözüme ihtiyacınız varsa, "Birden Çok URL Aç" uzantısını yüklemeniz yeterlidir:
https://chrome.google.com/webstore/detail/open-multiple-urls/oifijhaokejakekmnjmphonojcfkpbbh?hl=en
Ben sadece bir kerede 1500 url koştum, biraz google yaptım ama işe yarıyor.
Daha basit bir GUI yaklaşımı için, farklı sekmelerde çalıştırmak istediğiniz her isteği açın. Ardından her sekmeye bir tıklama çalıştırması yapabilirsiniz.