Comment faire plusieurs requêtes en même temps en utilisant POSTMAN
je veux poster des données de POSTMAN Google Chrome extension. Je veux faire 10 demandes avec des données différentes et il faut en même temps.
Est-il possible de faire de telles en FACTEUR? Dans l'affirmative, quelqu'un peut-il m'expliquer comment y parvenir?
Merci pour votre temps.
6 réponses
je suppose qu'il n'y a pas de tel dispositif dans postman pour exécuter des tests concurrents.
si j'étais vous, je considérerais Apache jMeter qui est utilisé exactement pour de tels scénarios.
concernant Postman, la seule chose qui pourrait plus ou moins répondre à vos besoins est - Postman Runner. Là vous pouvez spécifier les détails:
- nombre de itérations,
- télécharger un fichier csv avec les données pour les différents cycles de test, etc.
les courses ne seront pas simultanées, seulement consécutives.
Espère que ça aide. Mais pensez à jMeter (vous allez adorer).
Postman ne fait pas cela, mais vous pouvez exécuter plusieurs requêtes curl
de manière asynchrone en Bash:
curl url1 & curl url2 & curl url3 & ...
N'oubliez pas d'ajouter un &
après chaque requête, ce qui signifie que la requête doit être exécutée comme une tâche async.
Je ne sais pas si cette question est toujours pertinente, mais il y a une telle possibilité dans Postman maintenant. Ils l'ont ajouté il y a quelques mois.
tout ce dont vous avez besoin est de créer simple .js fichier et de l'exécuter via un nœud.js. Il ressemble à ceci:
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.`);
});
});
alors lancez ceci .fichier js ('node fileName.js " dans cmd).
plus de détails ici
exécuter toute la collecte dans un dossier dans paralle:
'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
});
dans la collection de postman vous ne pouvez pas faire de demande asynchrone simultanée ,donc insted utiliser jmeter.
vous pouvez utiliser Apache JMeter ; il vous permet d'ajouter plusieurs threads et ajouter synchronizing timer à elle
le Collector runner vous permet d'exécuter des collections. Des milliers de fois, si vous voulez.
Source: https://www.getpostman.com/docs/v6/api_testing_and_collection_runner/running_collections
Voir l'image pour le champ où le nombre d'itérations est configuré. Cette capture d'écran provient de la version Mac desktop 6.0.10.
tout d'abord, créer une collection d'appels. Puis lancez la collection dans la fenêtre Collection Runner. Ouvrez la fenêtre Collection Runner en cliquant sur le lien dans la barre de navigation. Choisissez une collection à partir du menu déroulant, entrez le nombre d'itérations et appuyez sur le bouton bleu.
Comment faire pour modifier les données à chaque fois a été l'adresse ici et en grand détail dans les docs ici .