web-dev-qa-db-ja.com

安心して複数のヘッダーを渡す方法は?

私は安心して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"));
    }

}
10

複数のヘッダーを追加する最も簡単な方法は、.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

13
parishodak

以下のように複数のヘッダーのマップオブジェクトを作成および追加することもできます

    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);
4
Karan Sharma

以下のように置き換えます:

@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"));
    }
0
Jawahar Lal

または、RestAssuredのHeaders()を使用すると、複数のヘッダーを同時に追加してリクエストできます。

ヘッダーの説明

0
Gergely A.