« Postman » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
(→Data) |
|||
Ligne 97 : | Ligne 97 : | ||
pm.globals.set("ids", ids); | pm.globals.set("ids", ids); | ||
} | } | ||
</kode> | |||
== [https://www.pluralsight.com/guides/set-up-postman-and-automatically-add-bearer-tokens Automatically add Bearer tokens] == | |||
<kode lang='js'> | |||
let tokenUrl = pm.environment.get('oauth-token-url'); | |||
let clientId = pm.environment.get('oauth-token-id'); | |||
let clientSecret = pm.environment.get('oauth-token-secret'); | |||
let scope = 'resource.READ'; | |||
let grantType = 'client_credentials'; | |||
let getTokenRequest = { | |||
method: 'POST', | |||
url: tokenUrl, | |||
header: [{ key: 'Content-Type', value: 'application/x-www-form-urlencoded' }], | |||
body: { | |||
mode: 'urlencoded', | |||
urlencoded: [ | |||
{ key: 'client_id', value: clientId }, | |||
{ key: 'client_secret', value: clientSecret }, | |||
{ key: 'grant_type', value: grantType }, | |||
{ key: 'scope', value: scope } | |||
] | |||
} | |||
}; | |||
pm.sendRequest(getTokenRequest, (err, response) => { | |||
let jsonResponse = response.json(); | |||
newAccessToken = jsonResponse.access_token; | |||
pm.environment.set('accessToken', newAccessToken); | |||
}); | |||
</kode> | </kode> | ||
Version du 24 mai 2022 à 10:14
Preset Headers
Permet de définir des headers par défaut.
- Headers → presets (à droite)
- Ajouter des presets: Manage presets
- Charger un preset: {PresetName}
Environment
Permet de définir des variables par environnement.
- Ajouter des environnement: Engrenage à droite
- Changer d'environnement: liste déroulante "No environment"
Variable: {{MyVar}}
Import
Permet d'importer une requête copiée le navigateur
- firefox → developer tools → network
- make a query
- clique-droit sur la requete → Copy → Copy as cURL
- Postman → Import → Paste Raw Text
Proxy
Permet de capturer le traffic.
- Icone antenne (en haut à droite)
Tests
Dans une requête → onglet Tests
pm.test("Successful GET request", function () { pm.response.to.have.status("OK"); }); pm.test("Returns 5 items", function () { const items = pm.response.json(); pm.expect(items.length).to.eql(5); }); pm.test("All items should have a name", function () { const items = pm.response.json(); pm.expect(items.every((item) => { return item.name !== undefined; })).to.be.true; }); // stocker le résultat dans une variable globale pm.globals.set("MyVar", pm.response.json().myVar); // désallouer une varible ue fois que l'on ne s'en sert plus pm.globals.unset("MyVar"); // appeler la requête suivante postman.setNextRequest("Request Name"); |
External libraries
// include external library const moment = require('moment'); |
NodeJS modules available:
- lodash
- moment
- path
- assert
- buffer
- util
- url
- punycode
- querystring
- string_decoder
- stream
- timers
- events
Pre-request script
Ordre d'exécution:
- Pre-request script
- Request
- Response
- Test
pm.globals.set("ids", []); const getItems = { url: "http://{{host}}/items", method: "GET" } pm.sendRequest(getItems, function(err, items)) { const ids = _maps(items.json(), function(item) { return item.id; }); pm.globals.set("ids", ids); } |
Automatically add Bearer tokens
let tokenUrl = pm.environment.get('oauth-token-url'); let clientId = pm.environment.get('oauth-token-id'); let clientSecret = pm.environment.get('oauth-token-secret'); let scope = 'resource.READ'; let grantType = 'client_credentials'; let getTokenRequest = { method: 'POST', url: tokenUrl, header: [{ key: 'Content-Type', value: 'application/x-www-form-urlencoded' }], body: { mode: 'urlencoded', urlencoded: [ { key: 'client_id', value: clientId }, { key: 'client_secret', value: clientSecret }, { key: 'grant_type', value: grantType }, { key: 'scope', value: scope } ] } }; pm.sendRequest(getTokenRequest, (err, response) => { let jsonResponse = response.json(); newAccessToken = jsonResponse.access_token; pm.environment.set('accessToken', newAccessToken); }); |
Collections
Permet de sauvegarder des requêtes.
- Sauvegarder une rêquete: bouton Save à droite
- Afficher les collections: onglet Collection à gauche
Data
- Onglet Collections → triangle à droite du nom d'une collection → Run
- Collection Runner → Data: Select File
// get the items from the data file const items = data.items; // get randomly one of the item var item = _.sample(items); |
Errors
self signed certificate in certificate chain
- File → Settings
- General tab → SSL certificate verification = OFF