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
靜態導入的。
你到目前爲止嘗試過什麼?你寫的代碼有什麼特定的問題嗎? –