Informazioni sullo strumento
Prima di scrivere asserzioni nel codice, conviene provarle su una risposta reale e vedere quali passano. Incolla un body JSON, eventualmente lo status code e gli header copiati dai DevTools o da curl -i, e definisci i controlli in una tabella: un JSONPath esiste o no, è uguale a un valore, ha un tipo, corrisponde a una regex, contiene un elemento, ha una lunghezza, oppure è maggiore o minore di un numero. I controlli sullo status accettano codici esatti o classi come 2xx, e i nomi degli header vengono confrontati senza distinguere le maiuscole. I risultati sono mostrati come in un test runner, con righe ✓ e ✕ e un riepilogo tipo “3 passed, 1 failed” da copiare in un bug report. Il JSONPath viene valutato con l’esecuzione degli script disattivata, quindi le espressioni di filtro vengono rifiutate invece che eseguite. Il tempo di risposta non si può misurare da un testo incollato, quindi quel controllo risulta saltato.
Come si usa
- Incolla il JSON del body della risposta e, se vuoi controllarli, status e header. Oppure clicca “Load sample”.
- Aggiungi i controlli: scegli un target, inserisci un JSONPath come $.data[*].email o un nome di header, scegli un operatore e un valore atteso.
- Leggi i risultati mentre scrivi e copia il report. I percorsi che trovano più valori devono passare per ogni match.
Validatore di risposte API: domande frequenti
Perché la mia espressione di filtro come $..[?(@.price > 10)] fallisce?
Le espressioni di filtro e gli script richiedono di valutare codice, cosa che questo strumento disattiva per sicurezza. Usa invece percorsi con wildcard come $.items[*].price con un operatore come “>”: ogni valore trovato deve passare.
Come viene interpretato il valore atteso?
Se è analizzabile come JSON viene confrontato come JSON, quindi 42 è un numero, "42" è una stringa, true è un booleano e null è null. Tutto il resto viene confrontato come testo semplice. L’uguaglianza tra oggetti e array ignora l’ordine delle chiavi.
Posso trasformare questi controlli in test automatici?
Sì. Quando i controlli passano, usa l’API Assertion Builder per generare asserzioni equivalenti per Playwright, Postman, REST Assured o Cypress.