web-dev-qa-db-fra.com

Comment faire plusieurs demandes en même temps avec POSTMAN

Je veux POST données à partir dePOSTMANextension de Google Chrome. Je veux faire 10 demandes avec des données différentes et cela devrait être en même temps.

Est-il possible de faire cela dans POSTMAN? Si oui, quelqu'un peut-il m'expliquer comment cela peut être réalisé?

Merci pour votre temps.

97
user3384231

Je suppose qu’il n’existe pas dans Postman de fonction permettant d’exécuter des tests simultanés.

Si j’étais vous, je considérerais Apache jMeter qui est utilisé exactement pour de tels scénarios. 

En ce qui concerne Postman, la seule chose qui pourrait plus ou moins répondre à vos besoins est - Postman Runner.  enter image description here Vous pouvez y spécifier les détails: 

  • nombre d'itérations, 
  • télécharger un fichier csv avec des données pour différents tests, etc. 

Les exécutions ne seront pas simultanées, mais consécutives.

J'espère que cela pourra aider. Mais considérez jMeter (vous allez adorer).

105
Yabko

Postman ne le fait pas, mais vous pouvez exécuter plusieurs requêtes curl de manière asynchrone dans Bash:

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

N'oubliez pas d'ajouter un & après chaque demande, ce qui signifie que cette demande doit être exécutée en tant que tâche asynchrone. 

42
Daniel

Je ne sais pas si cette question est toujours d'actualité, 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 un simple fichier .js et de l'exécuter via node.js. Cela 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.`);
    });
  });

Ensuite, exécutez simplement ce fichier .js ('node fileName.js' dans cmd).

Plus de détails ici

24
Volodymyr Popelniuk

Exécuter toute la collection dans un dossier en parallèle:

'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

Dans la collection de postman, vous ne pouvez pas faire de demande asynchrone simultanée, utilisez donc jmeter.

vous pouvez utiliser Apache JMeter ; il vous permet d'ajouter plusieurs threads et d'ajouter un chronomètre de synchronisation

1
ashwath hegde

Si vous ne faites que des requêtes GET et que vous avez besoin d'une autre solution simple à partir de votre navigateur Chrome, installez simplement l'extension "Ouvrir plusieurs URL":

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

Je viens de lancer 1500 url à la fois, lag google un peu mais cela fonctionne.

0
CularBytes

Pour une approche graphique plus simple, ouvrez chaque demande que vous souhaitez exécuter dans différents onglets. Ensuite, vous pouvez aller à chaque onglet un clic. 

0
Ronald

Vous ne savez pas si les gens cherchent toujours des solutions simples à ce problème, mais vous pouvez exécuter plusieurs instances du "Collection Runner" dans Postman. Il suffit de créer un coureur avec quelques requêtes et de cliquer plusieurs fois sur le bouton "Exécuter" pour faire apparaître plusieurs instances.

0
Dan