Vai al contenuto
SDETRole
SDETRole

API testing

Validatore di risposte API

Esegui controlli JSONPath, status e header su una risposta incollata.

Funziona interamente nel tuo browser Senza registrazione

Checks run as you type. JSONPath scripts and filters are disabled for safety.

Response body (JSON)

Status and headers (optional)

One “Name: value” per line, as copied from DevTools or curl -i.

Checks · 2

Expected values are parsed as JSON when possible (42, true, "42", null), otherwise compared as text. When a path matches several values, every match must pass; length operators count the matches.

Paste a JSON response body to run the checks

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

  1. Incolla il JSON del body della risposta e, se vuoi controllarli, status e header. Oppure clicca “Load sample”.
  2. Aggiungi i controlli: scegli un target, inserisci un JSONPath come $.data[*].email o un nome di header, scegli un operatore e un valore atteso.
  3. 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.

Scrivi per cercare in tutto SDETRole.

Ricerca full-text con Pagefind · funziona nel tuo browser Apri la pagina di ricerca →