私は安心してJavaを使うのは初めてです。APIの応答が200であることを確認する非常に基本的なテストをしようとしています。複数のヘッダーId、Key、ConIdを渡すために、以下のスクリプトで何を変更する必要があるか教えてください。
import org.junit.Test;
import com.jayway.restassured.*;
import com.jayway.restassured.http.ContentType;
import static org.hamcrest.Matchers.*;
import static com.jayway.restassured.RestAssured.*;
public class APIresponse
{
public static void main(String[] args)
{
APIresponse apiresponse = new APIresponse();
apiresponse.response();
}
@Test
public void response ()
{
baseURI="http://testme/api/";
given().
header("Id", "abc").
param("Key", "NuDVhdsfYmNkDLOZQ").
param("ConId", "xyz").
when().
get("/uk?Id=DT44FR100731").
then().
contentType(ContentType.JSON).
body("response.code", equalTo("200"));
}
}
複数のヘッダーを追加する最も簡単な方法は、.header(headername,headervalue)
の後に.given()
を複数回繰り返すことです
given().
header("Id", "abc").
header("name","name").
header("","")
...
テストスイートのREST-Assuredフレームワークを使用して、ヘッダーを渡すさまざまな方法を見つけることができます github link 。
編集:
Rest-Assuredで応答ステータスを確認するには:
expect().statusCode(200),log().ifError().given()......
または、これから応答ヘッダーをテストする方法の例を選択してください github link
以下のように複数のヘッダーのマップオブジェクトを作成および追加することもできます
Header h1= new Header("Accept", "*/*");
Header h2 = new Header("Accept-Language", "en-US");
Header h3 = new Header("User-Agent", "Mozilla/5.0");
List<Header> list = new ArrayList<Header>();
list.add(h1);
list.add(h2);
list.add(h3);
Headers header = new Headers(list);
request.headers(header);
以下のように置き換えます:
@Test
public void response ()
{
baseURI="http://testme/api";
given()
.header("Id", "abc")
.param("Key", "NuDVhdsfYmNkDLOZQ")
.param("ConId", "xyz")
when()
.get("/uk?Id=DT44FR100731")
then()
.contentType(ContentType.JSON)
.and()
.body("response.code", equalTo("200"));
}
または、RestAssuredのHeaders()を使用すると、複数のヘッダーを同時に追加してリクエストできます。