2016-03-22 13 views
53

Ich möchte POST-Daten von POSTMAN Google Chrome-Erweiterung. Ich möchte 10 Anfragen mit verschiedenen Daten machen und es sollte in der gleichen Zeit sein.So machen Sie mehrere Anfragen zur gleichen Zeit mit POSTMAN

Ist es möglich, dies in POSTMAN zu tun? Wenn ja, kann mir jemand erklären, wie dies erreicht werden kann?

Vielen Dank für Ihre Zeit.

Antwort

54

Ich denke, es gibt keine solche Funktion im Postboten als gleichzeitige Tests zu laufen.

Wenn ich Sie wäre, würde ich Apache jMeter betrachten, die genau für solche Szenarien verwendet wird.

In Bezug auf Postman, das einzige, was mehr oder weniger Ihre Bedürfnisse erfüllen könnte, ist - Postman Runner. enter image description here Dort können Sie die Details angeben:

  • Anzahl von Iterationen,
  • Upload CSV-Datei mit Daten für verschiedene Testläufe usw.

Die Läufe werden nicht gleichzeitig sein, nur aufeinanderfolgenden.

Hoffe, dass hilft. Aber bedenke jMeter (du wirst es lieben).

+6

Um gleichzeitige Tests mit dem Collection Runner zu starten, zeigt [this link] (https://timbeynart.com/2017/03/14/use-postman-to-hammer-a-rest-api/) einen kleinen Hack wie es geht. – Ray

+0

JMeter ist super danke für den Tipp. –

15

Ich weiß nicht, ob diese Frage noch relevant ist, aber es gibt solche Möglichkeit in Postman jetzt. Sie haben es vor ein paar Monaten hinzugefügt.

Alles, was Sie brauchen, ist eine einfache .js-Datei zu erstellen und über node.js auszuführen. Es sieht wie folgt aus:

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.`); 
    }); 
    }); 

Dann führen Sie einfach diese JS-Datei ('Knoten fileName.js' in cmd).

Mehr Details here

+3

Gibt es eine Möglichkeit, gleichzeitige Anfragetests mit dem Postboten auch ohne das Befehlszeilentool newman zu erreichen? – flipperweid

20

Postman macht das nicht, aber Sie können mehrere curl Anfragen asynchron in Bash laufen:

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

Denken Sie daran, & nach jeder Anfrage hinzuzufügen, die diese Anforderung bedeutet, sollte als laufen asynchroner Job

+0

Das ist brilliant - so ein einfacher, großartiger Test für echtes Async-Verhalten. – ghukill

+8

Wie man 'curl' von Postman bekommt: https://www.getpostman.com/docs/creating_curl – Kuchi