Există un serviciu pe care JSON îl oferă. Cum poate JUnit / TestNG să obțină JSON și să o analizeze? Sa pierdut în 3 pini. 2 zile ședinței nu a înțeles.
Căut ceva simplu, cum ar fi
res = makeRequest (URL, paramuri);
findValue = res.getInt (1) .getText ();
Cel mai simplu este Jackson sau Gson
"Oferiți metode simple toJson () și fromJson () pentru a converti obiecte Java în JSON și invers"
Astăzi, cele mai simple și funcționale.
Rezultatul este apoi analizat ca obiect JSON al bibliotecii Jackson. Codul metodei complete:
P.S. Folosesc pentru a trimite cereri către Elasticsearch
Am folosit mult timp - imi place foarte mult.
De la readme:
Obținerea și parsarea unui organism de răspuns:
// Exemplu cu JsonPath
Stringul json = get ("/ lotto") AsString ()
Lista winnderIds = din (json) .get ("lotto.winners.winnerId");
// Exemplu cu XmlPath
String xml = post ("/ shopping") AndReturn () Body () AsString ()
Nod categorie = de la (xml) .get ("shopping.category [0]");
Există o versiune pentru C #? Cum se integrează cu CI?
Personal, folosesc aceste două biblioteci și sunt extrem de mulțumit:
Un exemplu de utilizare (pentru frumusețea unei perechi de metode auxiliare este scris, le-am eliminat pentru claritate):
În consecință, după ce ai făcut o solicitare, primești un răspuns, lucrăm cu el (pentru că este scris un frumos șir de metode auxiliare, le-am eliminat pentru claritate):
Pentru a verifica codul de răspuns.
Pentru a lucra cu un organism de răspuns precum JSON:
Accesul la câmpuri este simplu (în cazul matricei - o bucla este adăugată la elementele de listă):
Dacă JSON ar trebui să fie analizat într-un obiect, atunci puteți folosi JsonDeserializer și aceeași bibliotecă Gson.
Se pare ceva de genul asta.
Clasa responsabilă de deserializare:
clasa publica TestDataClientJsonDeserializer implementa JsonDeserializer
public TestDataClient deserializează (JsonElement json, Tip de tip,
Context JsonDeserializationContext)
aruncă JsonParseException JsonObject jsonObject = json.getAsJsonObject ();
String clientName = jsonObject.get ("nume") GetAsString ();
String clientPass = jsonObject.get ("parola") GetAsString ();
String clientAddress = jsonObject.get ("adresa") GetAsString ();
Sistemul de operare clientOperSystem = HelpUtils.parseEnum (OperatingSystem.class, jsonObject.get ("arh"). GetAsString ());
TestDataClient client = nou TestDataClient (clientName,
clientPass,
clientAddress,
clientOperSystem);
client.setGlobalId (jsonObject.get ("globalId"); getAsString ());
client.setClientDesc (jsonObject.get ("descriere"). getAsString ());
retur client;
>
>
Utilizare:
public TestDataClient getClien (String json) TestDataClient client = this.gson.fromJson (json, TestDataClient.class);
retur client;
>
Există un serviciu pe care JSON îl oferă. Cum poate JUnit / TestNG să obțină JSON și să o analizeze? Sa pierdut în 3 pini. 2 zile ședinței nu a înțeles.
Nu trebuie doar să o parsezi, dar, de asemenea, înțeleg, pe această linie