2016-02-05 7 views
5

安心してGET、POSTなどの方法を簡単に実行できます。以下の例では、JSON応答を返すAPIにPOSTを送信しています。安心して複雑なXMLを投稿する方法

@Test 
public void reserveARide() 
{ 
    given(). 
     header("Authorization", "abcdefgh-123456"). 
     param("rideId", "gffgr-3423-gsdgh"). 
     param("guestCount", 2). 
    when(). 
     post("http://someWebsite/reserveRide"). 
    then(). 
     contentType(ContentType.JSON). 
     body("result.message", equalTo("success")); 
} 

しかし、複雑なXML本体でPOSTリクエストを作成する必要があります。 本文例:

<?xml version="1.0" encoding="UTF-8"?> 
<request protocol="3.0" version="xxx" session="xxx"> 
<info1 param1="xxx" version="xxx" size="xxx" notes="xxx"/> 
<info2 param1="xxx" version="xxx" size="xxx" notes="xxx"/> 
</request> 

どうすればいいですか?参照

given(). 
    contentType("application/xml"). 
    body(yourbody). 
... 
... 

あなたはまた、直列化可能オブジェクトを送信することができます: https://github.com/jayway/rest-assured/wiki/Usage#serialization

答えて

0

にありがとう次のメソッドを使用して文字列に変換します。

public static String GenerateStringFromResource(String path) throws IOException { 

    return new String(Files.readAllBytes(Paths.get(path))); 

} 

私の要求では

String myRequest = GenerateStringFromResource("path/to/xml.xml") 

     given() 
      .contentType("application/xml") 
      .body(myRequest) 
     .when() 
      .put("my.url/endpoint/") 
     .then() 
      statusCode(200) 
2

私は、リソースディレクトリに自分の体を維持し、それらを読む は、私はあなたは、単にこれを行うことができると信じて、事前

関連する問題