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.
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. Vous pouvez y spécifier les détails:
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).
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.
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
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
});
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
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.
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.
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.