web-dev-qa-db-fra.com

Comment se rendre à demander des paramètres dans Postman?

J'écris des tests pour Postman qui, en général, fonctionnent assez facilement. Cependant, je souhaite maintenant accéder à certaines des données de la demande, à un paramètre de requête exact… .. Vous pouvez accéder à l'URL de la demande via l'objet "request.url" qui renvoie une chaîne. Existe-t-il un moyen simple dans Postman d’analyser cette chaîne d’URL pour accéder au (x) paramètre (s) de requête?

7
Deddiekoel

Si vous souhaitez extraire la chaîne de requête au format encodé en URL sans l’analyser. Voici comment faire:

pm.request.url.getQueryString() // example output: foo=1&bar=2&baz=3
4
Ikbel

Je cherchais à accéder à request params pour écrire des tests (dans POSTMAN). J'ai fini par analyser le request.url disponible dans POSTMAN.

const paramsString = request.url.split('?')[1];
const eachParamArray = paramsString.split('&');
let params = {};
eachParamArray.forEach((param) => {
    const key = param.split('=')[0];
    const value = param.split('=')[1];
    Object.assign(params, {[key]: value});
});
console.log(params); // this is object with request params as key value pairs

 POSTMAN CLIENT  CONSOLE RESPONSE

edit: Ajouté Github Gist

10
Sudarsan GP

Le tableau pm.request.url.query.all() contient tous les paramètres de requête sous forme d'objets . Pour obtenir les paramètres sous forme de dictionnaire, vous pouvez utiliser:

var query = {};
pm.request.url.query.all().forEach((param) => { query[param.key] = param.value});
8
bbjay

Je ne pense pas qu'il y ait de propriété prête à l'emploi disponible dans l'objet de requête Postman pour le (s) paramètre (s) de requête.

Actuellement, quatre propriétés sont associées à l'objet 'Request':

data {objet} - il s'agit d'un dictionnaire de données de formulaire pour la requête. (request.data [“clé”] == ”valeur”) en-têtes {objet} - il s'agit d'un dictionnaire d'en-têtes pour la requête (request.headers [“clé”] == ”valeur”) méthode {chaîne} - GET/POST/PUT etc.
url {string} - l'URL de la demande.

Source: https://www.getpostman.com/docs/sandbox

4
Dinesh Kumar

pm.request.url.query renvoie PropertyList of QueryParam objects. Vous pouvez obtenir un paramètre pm.request.url.query.get() ou all pm.request.url.query.all() par exemple. Voir les méthodes PropertyList.

3
HEX

regardez dans la console en train de faire:

console.log(request);

cela vous montrera tout ce que vous pouvez obtenir à la demande. Ensuite, vous devrez accéder aux différents paramètres en utilisant request., Ie. request.name si vous voulez le nom du test . Si vous voulez un élément particulier dans l'URL, j'ai bien peur que vous deviez utiliser un code pour l'obtenir (désolé je suis un débutant en javascript)

J'espère que cela t'aides

Alexandre

1
A.Joly