3. XML Schema 해석 검증

2255 단어
목차
1. XML 해석 2, XML Schema 또는 DTD 3, 복잡 한 해석 과 검증 4, 깊이 우선 검색
XML 해석
POST 요청 이 있 습 니 다. 요청 결 과 는 XML 파일 입 니 다. 내용 은 다음 과 같 습 니 다.

   {params("firstName")}
   {params("lastName")}


결과 의 firstName 과 lastName 두 필드 를 되 돌려 주 는 방법 을 검증 하려 면 다음 과 같 습 니 다.
given().
         parameters("firstName", "John", "lastName", "Doe").
when().
         post("/greetXML").
then().
         body("greeting.firstName", equalTo("John")).
         body("greeting.lastName", equalTo("Doe"));

2. XML Schema (XSD) 또는 DTD
XSD  
get("/carRecords").then().assertThat().body(matchesXsd(xsd));

DTD   
get("/videos").then().assertThat().body(matchesDtd(dtd));

4. 567914. 와 4. 567914. 방법 은 4. 567914. 에서 io. restassured. matcher. RestAssured Matchers 에서 가 져 올 수 있 습 니 다.3. 복잡 한 해석 과 검증 은 XML 파일 이 다음 과 같 습 니 다.

     
       Chocolate
       Coffee
     
     
       Paper
       Pens
     
     
       Kathryn's Birthday
     


만약 에 우리 가 테스트 를 써 서 유형 이 groceries 인 category 노드 에 Chocolate 와 Coffee 라 는 두 가지 항목 이 있 는 지 확인 하고 싶다.rest - assured 에서 이렇게 할 수 있 습 니 다.
when().
       get("/shopping").
then().
       body("shopping.category.find { it.@type == 'groceries' }.item", hasItems("Chocolate", "Coffee"));

  :
1、shopping.category  categoriy     ,  find  
2、@type          groceries   category  
3、  `Hamcrest matcher` `hasItems`      

깊이 우선 검색
실제로 이전의 예 를 우 리 는 계속 간소화 할 수 있다.
when().
       get("/shopping").
then().
       body("**.find { it.@type == 'groceries' }", hasItems("Chocolate", "Coffee"));
  :
1、`**`    XML             
2、       "item"  XML    。    category             ,     toString()    

좋은 웹페이지 즐겨찾기