var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", jsonData.access_token);
Was ich jetzt versuche, ist, die Oauth-Anforderung automatisch (von einem Vorabanforderungsskript) für alle anderen Anforderungen auszuführen, die ein Trägertoken benötigen.
Gibt es eine Möglichkeit, ein Zugriffstoken zu erhalten und eine authentifizierte Anfrage mit einem Klick auf die Postboten-Schaltfläche zu senden?
Wie von KBusc erwähnt und von diesen Beispielen inspiriert, können Sie Ihr Ziel erreichen, indem Sie ein Pre-Request-Skript wie das folgende festlegen:
Dann verweisen Sie einfach {{access_token}} wie jede andere Umgebungsvariable.
Wie kann ich eine der Anfragen aus meinem Arbeitsbereich ausführen, z. B. nur nach Name, von der Voranfrage einer beliebigen Anfrage, die ich möchte?
– Dmitri
1. Oktober 2021 um 13:27 Uhr
Ich bin mir nicht sicher, ob ich Ihre Frage verstehe, Dmitry, aber ich vermute, dass sie nicht eng mit der ursprünglichen zusammenhängt und möglicherweise mit neuen Funktionen zu tun hat, die Postman seitdem hinzugefügt wurden. Vielleicht wäre es angemessener, eine neue Frage zu öffnen?
– Gera Zenobi
4. Oktober 2021 um 9:17 Uhr
Hannele
HINWEIS: Jetzt da ist Eine Möglichkeit, dies in einem Pre-Request-Skript zu tun, finden Sie unter die anderen antworten. Ich werde diese Antwort für die Nachwelt aufbewahren, aber nur damit es jeder weiß 🙂
Ich glaube, es gibt noch keine Möglichkeit, dies im Pre-Request-Skript zu tun, aber Sie können es auf nur wenige Klicks reduzieren, wenn Sie eine Variable und die Registerkarte “Tests” verwenden. Eine ausführlichere Anleitung finden Sie im Postman-Blogaber die Quintessenz ist:
Richten Sie Ihre Authentifizierungsanfrage wie gewohnt ein.
Speichern Sie im Abschnitt Tests dieser Anfrage das Ergebnis dieser Anfrage in einer Variablen, möglicherweise so etwas wie die folgende:
var data = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", data.token);
Führen Sie die Authentifizierungsanforderung aus – das sollten Sie jetzt sehen token für diese Umgebung eingestellt ist (klicken Sie auf das augenförmige Symbol oben rechts).
Richten Sie Ihre zu verwendende Datenanforderung ein {{token}} an der Stelle, an der Sie zuvor das Inhabertoken eingefügt haben.
Führen Sie Ihre Datenanforderung aus – sie sollte jetzt ordnungsgemäß authentifiziert sein.
Um das Token zu aktualisieren, müssen Sie lediglich die Authentifizierungsanforderung erneut ausführen.
Mir ist klar, dass die Frage das ursprünglich getan hat, aber es ist einfach, nach dem Titel zu suchen, ohne sich dessen bewusst zu sein XD
– Hannele
26. März 2018 um 21:54 Uhr
Danke, dass Sie mich auf den richtigen Weg gebracht haben.) Heutzutage werden Sie es bekommen Identifier 'data' has already been declared obiger Code läuft. Um es zu beheben, müssen wir nur die Variable umbenennen data -> body
Könnten Sie gemäß den Stackoverflow-Richtlinien einen Kontext / eine Beschreibung des Linkinhalts bereitstellen?
– Unsterbliches Blau
21. Juli um 14:50 Uhr
Können Sie hier die Antwort geben. Ich bin nicht in der Lage, auf der Seite oder den verlinkten Problemseiten zu finden. Wenn die Antwort die Funktion „Sammellauf“ ist, ist sie nicht ganz dasselbe und nicht so einfach zu verwenden wie die Anforderungsfunktion.
– Kaigo
28. Juli um 11:41 Uhr
Piotr Dawidiuk
Sie können keine weitere Anfrage von senden Pre-request Script Abschnitt, aber tatsächlich ist es möglich, Anfragen zu verketten und eine nach der anderen auszuführen.
Sie sammeln Ihre Anfrage in Inkasso und starte es mit Collection Runner.
Um die Anfrageergebnisse anzuzeigen, können Sie einer anderen Antwort folgen.
Ich hatte die gleiche Frage im Kopf, die im Grunde lautet: “Wie kann ich eine andere Anfrage ausführen, die bereits von den Registerkarten “Test” oder “Pre-Request-Skript” einer anderen Anfrage existiert, ohne diese Anfrage mit zu erstellen pm.sendRequest(reqConfObj)?”, dann fand ich die postman.setNextRequest('requestName') Methode aus diese Postman-Diskussion was dich zu führen wird diese Postboten-Dokumentationsseite Informationen zum Erstellen von Anfrage-Workflows.
Aber die Sache ist, postman.setNextRequest() -Methode wird nicht ausgeführt, wenn Sie keinen Ordner oder keine Sammlung ausführen, daher funktioniert es nicht, einfach auf die Schaltfläche „Senden“ der Anfrage zu klicken, die Ihr Skript enthält.
Ich möchte Sie auch auf einige Dinge aufmerksam machen:
Das vorangestellte Wort ist „Postbote“ statt „pm“.
postman.setNextRequest() wird immer zuletzt ausgeführt, obwohl Sie es an den Anfang Ihres Skripts geschrieben haben. Ihr anderer Code im Skript wird dann ausgeführt postman.setNextRequest wird initialisiert.
Wenn Sie den Anforderungsfluss stoppen möchten, können Sie dies einfach tun postman.setNextRequest(null).
Ich möchte jeden, der Postman verwendet, ermutigen, sich die erwähnten Links anzusehen. Ich glaube, es ist eine großartige Funktion, die jeder ausprobieren sollte! 🙂
w4dd325
Sie können der Sammlung ein Pre-Request-Skript hinzufügen, das vor jeder Postman-Anfrage ausgeführt wird. Ich verwende beispielsweise Folgendes, um ein Zugriffstoken von Apigee zurückzugeben
const echoPostRequest = {
url: client_credentials_url,
method: 'POST',
header: 'Authorization: Basic *Basic Authentication string*'
};
var getToken = true;
if (!pm.environment.get('token')) {
console.log('Token missing')
} else {
console.log('Token all good');
}
if (getToken === true) {
pm.sendRequest(echoPostRequest, function(err, res) {
console.log(err ? err : res.json());
if (err === null) {
console.log('Saving the token');
console.log(res);
var responseJson = res.json();
console.log(responseJson.access_token);
pm.environment.set('token', responseJson.access_token)
}
});
}
w4dd325
All diese Problemumgehungen mit der Neuerstellung von Anfragen. Postman unterstützt nicht, was Sie tun möchten. Um das zu bekommen, was Sie wollen, müssen Sie Insomnia verwenden, es erlaubt Ihnen, Körperwerte von anderen Anfrageantworten zuzuordnen, und wenn diese Antworten nicht ausgeführt werden, führt es sie automatisch aus oder verhält sich basierend auf der gewählten Richtlinie.
Wenn Sie jedoch bei Postman bleiben möchten, müssen Sie die vollständigen vorherigen Anforderungsparameter in globalen Variablen speichern, dann die gesamte Konfiguration früherer Anforderungen aus dieser Variablen als JSON-String abrufen, diesen JSON in ein Objekt parsen und es pm zuweisen .sendRequest als erstes Argument.
Danke, das war die Klarheit, die ich brauchte. Um es klar zu sagen, viele dieser anderen Antworten sagen Ihnen, wie Sie eine vorhandene Anfrage in einem Pre-Request-Skript neu erstellen, aber das ist nicht dasselbe wie das Aufrufen einer bereits vorhandenen Anfrage (in Ihrer Sammlung).
– Ich weiß nichts
3. August um 16:17 Uhr
14051500cookie-checkSo führen Sie eine Anfrage von einer anderen mithilfe des Pre-Request-Skripts in Postman ausyes