0
我必须发送一个包含xml数据的post请求,然后验证响应,比如检查状态码和响应正文的例子。如何使用rest-assured发送XML发布请求?
我必须发送一个包含xml数据的post请求,然后验证响应,比如检查状态码和响应正文的例子。如何使用rest-assured发送XML发布请求?
您可以传递pojo(记得将content-type设置为application/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。请注意0是从org.hamcrest.Matchers#equalTo
静态导入的。
你到目前为止尝试过什么?你写的代码有什么特定的问题吗? –