2016-05-05 5 views
0

Ich versuche, Elementwert CUSTOMER in XML unter Verwendung von Ruhe zu vergleichen. Ich kann mein Tag nicht finden, wenn der Wert CUSTOMER vorhanden ist.Rest Assured: Überprüfen Sie den xml-Wert für untergeordnete Tags

Sobald ich im Wert erfolgreich bin, muss ich INVOICE, ITEM, PRODUCT und andere Details vergleichen.

<resource xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <CUSTOMERList xlink:href="http://thomas-bayer.com/sqlrest/CUSTOMER/">CUSTOMER</CUSTOMERList> 
    <INVOICEList xlink:href="http://thomas-bayer.com/sqlrest/INVOICE/">INVOICE</INVOICEList> 
    <ITEMList xlink:href="http://thomas-bayer.com/sqlrest/ITEM/">**ITEM**</ITEMList> 
    <PRODUCTList xlink:href="http://thomas-bayer.com/sqlrest/PRODUCT/">PRODUCT</PRODUCTList> 
</resource> 

Unten ist mein Code Java-Code:

RestAssured.baseURI = "http://thomas-bayer.com"; 
try { 
    RestAssured.given().parameter("CUSTOMERList") 
       .when().post("/sqlrest").then() 
       .body("resource.CUSTOMERList", Matchers.equalTo("CUSTOMER")); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

Fehler nach dem Ausführen von Code generiert:

java.lang.AssertionError: XML path resource.CUSTOMERList doesn't match. 
Expected: CUSTOMER 

Antwort

2

Sie müssen .text() hinzufügen, um den Wert der Variablen abzurufen, wie unten angegeben:

.body("resource.CUSTOMERList.text()", 
    Matchers.equalTo("CUSTOMER")); 
Verwandte Themen