我们如何在放心的情况下传递多个标题?

Jat*_*ngh 12 http-headers rest-assured

我是新来的放心和Java,我正在尝试做一个非常基本的测试,检查响应是200 ok的API.请问您能告诉我在下面的脚本中需要更改什么才能传递多个标题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"));
    }

}
Run Code Online (Sandbox Code Playgroud)

par*_*dak 13

添加多个标题的最简单方法是在.header(headername,headervalue)之后重复多次.given()

given().
  header("Id", "abc").
  header("name","name").
  header("","")
  ...
Run Code Online (Sandbox Code Playgroud)

您可以在此github链接的测试套件中找到使用REST-Assured框架传递标头的不同方法.

编辑:

验证Rest-Assured中的响应状态:

expect().statusCode(200),log().ifError().given()...... 
Run Code Online (Sandbox Code Playgroud)

或者从这个github链接中选择一个如何测试响应头的示例


Kar*_*ran 6

你还可以创建并添加多个头的地图对象,如下

    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);
Run Code Online (Sandbox Code Playgroud)