2014-09-22 9 views
7

Sto utilizzando Postman per effettuare chiamate API REST a un server. Voglio rendere dinamico il nome del campo in modo da poter eseguire la richiesta con un nome univoco ogni volta.Crea campo di testo nome dinamico in Postman

{ 
    "location": 
    { 
    "name": "Testuser2", // this should be unique, eg. Testuser3, Testuser4, etc 
    "branding_domain_id": "52f9f8e2-72b7-0029-2dfa-84729e59dfee", 
    "parent_id": "52f9f8e2-731f-b2e1-2dfa-e901218d03d9" 
    } 

} 
+1

e la tua domanda è? – Leo

+0

qual'è la tua domanda? –

+0

La mia domanda è che voglio rendere dinamico il campo "name", quindi quando eseguo questo script viene eseguito correttamente invece dell'errore "nome è già in uso" – manoj

risposta

1

Per chi sta per me downvote questo post è stato fatto prima della discussione nei commenti con l'OP (vedi sotto). Lo lascio a posto così il commento dell'OP che alla fine descrive ciò di cui ha bisogno non viene rimosso dalla domanda.


Da quello che ho capito che stai cercando, ecco una soluzione di base. E 'partendo dal presupposto che:

  • si sta sviluppando una sorta di script in cui è necessario dati di test
  • campo name deve essere univoco ogni volta che viene eseguito

Se la domanda era più specifica poi ho potrei darti una risposta più specifica, ma questo è il meglio che posso fare da ciò che c'è adesso.


var counter = location.hash ? parseInt(location.hash.slice(1)) : 1; // get a unique counter from the URL 
var unique_name = 'Testuser' + counter; // create a unique name 
location.hash = ++counter; // increase the counter by 1 

È possibile modificare con la forza il contatore, cercando nella barra degli indirizzi e cambiare l'URL che termina con #1 a #5, ecc

È quindi possibile utilizzare la variabile name quando si genera il oggetto:

var location = { 
    name: unique_name, 
    branding_domain_id: 'however-you-currently-get-it', 
    parent_id: 'however-you-currently-get-it' 
}; 
+0

Ciao joe, grazie per il tuo aiuto hai ragione Ho usato il campo del nome casuale ma in formato json . Perché lavoro su postino e qui ho usato il formato JSON, quindi posso usare il tuo codice con il mio script in postino? – manoj

+0

@manoj Non ne ho idea, non ho mai nemmeno sentito parlare di Postman prima :-) JSON è un linguaggio di memorizzazione dei dati, non può fare programmazione di alcun tipo. Immaginavo che stavi usando Javascript da quando hai menzionato JSON senza alcun contesto, ma chiaramente non lo sei. Probabilmente non puoi usare nessuna delle risposte, anche se hai taggato la tua domanda come Postman o hai appena detto che lo stavi usando, questo ci avrebbe risparmiato entrambi i tempi :-) – Joe

+0

@manoj Ho aggiornato la tua domanda per te essere più specifico per ciò di cui hai bisogno, e taggalo per te in modo appropriato – Joe

10

In Postman si desidera utilizzare Dynamic Variables.

Il JSON si posta sarebbe simile a questa:

{ 
    "location": 
    { 
    "name": "{{$guid}}", 
    "branding_domain_id": "52f9f8e2-72b7-0029-2dfa-84729e59dfee", 
    "parent_id": "52f9f8e2-731f-b2e1-2dfa-e901218d03d9" 
    } 

} 

Si noti che questo vi darà un GUID (si ha anche la possibilità di utilizzare interi o timestamp) e non sono attualmente a conoscenza di un modo iniettare stringhe (ad esempio, da un file di test o da un'utilità di generazione dati).

5

In postino è possibile passare intero casuale che varia da 0 a 1000, nei dati è possibile utilizzarlo come

{ 
    "location": 
    { 
    "name": "Testuser{{$randomInt}}", 
    "branding_domain_id": "52f9f8e2-72b7-0029-2dfa-84729e59dfee", 
    "parent_id": "52f9f8e2-731f-b2e1-2dfa-e901218d03d9" 
    } 

} 
5

Solo i miei 5 centesimi a questa materia. Quando si usa randomInt c'è sempre la possibilità che il numero possa eventualmente essere presente nel DB che può causare problemi. Soluzione (almeno per me) usa invece il timestamp $.

Esempio:

{ 
    "username": "test{{$timestamp}}", 
    "password": "test" 
}