2016-09-15 7 views
0

Мне нужно отправить запрос на отправку с данными xml, а затем проверить ответ как пример проверки кода состояния и тела ответа.Как вы отправляете запрос на отправку XML с помощью rest-sure?

+0

Что вы пробовали? Есть ли у вас какие-либо проблемы с кодом, который вы написали? –

ответ

0

Вы можете либо передать pojo (не забудьте указать тип контента для приложения/xml), и, если вы уверены, автоматически преобразует его в XML. Например:

@XmlRootElement 
public class Greeting { 
    private String firstName; 
    private String lastName; 

    public String getFirstName() { 
     return firstName; 
    } 

    public void setFirstName(String firstName) { 
     this.firstName = firstName; 
    } 

    public String getLastName() { 
     return lastName; 
    } 

    public void setLastName(String lastName) { 
     this.lastName = lastName; 
    } 
} 

, а затем вы можете использовать его как это:

Greeting greeting = new Greeting(); 
greeting.setFirstName("John"); 
greeting.setLastName("Doe"); 

given().contentType(ContentType.XML).and().body(object).when().post("/somewhere"). .. 

он будет посылать следующий XML:

<greeting> 
    <firstName>John</firstName> 
    <lastName>Doe</lastName> 
</greeting> 

Допустим, что сервер отвечает с тот же XML, что и тот, который вы видите выше, тогда вы можете подтвердить код статуса ответа и тело следующим образом:

given(). 
     contentType(ContentType.XML). 
     body(object). 
when(). 
     post("/somewhere"). 
then(). 
     statusCode(200). 
     body("greeting.firstName", equalTo("John")). 
     body("greeting.lastName", equalTo("Doe")); 

REST Гарантированное будет автоматически понимать, что тело ответа является XML, если сервер возвращает тип содержимого XML. Обратите внимание, что equalTo статически импортируется из org.hamcrest.Matchers#equalTo.