我是新来的放心和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"));
}
}
答案 0 :(得分:12)
添加多个标头的最简单方法是在.header(headername,headervalue)
.given()
次
given().
header("Id", "abc").
header("name","name").
header("","")
...
您可以在此github link的测试套件中找到使用REST-Assured框架传递标头的不同方法。
修改强>
验证Rest-Assured中的响应状态:
expect().statusCode(200),log().ifError().given()......
或者选择一个如何测试此github link
的响应标头的示例答案 1 :(得分:3)
您还可以创建和添加多个标题的地图对象,如下所示
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);
答案 2 :(得分:0)
或者您可以使用RestAssured中的Headers(),它支持您同时添加多个标题以进行请求。
答案 3 :(得分:0)
替换如下:
.c
答案 4 :(得分:0)
这是我如何使用 RequestSpecification 并添加了两个标头。
@Test
public void PostRequest() {
String appKey = "777";// userID is unique
RequestSpecification myreq = RestAssured.given();
myreq.header("Content-Type", "application/json");
myreq.header("Authorization", "Bearer 777");
// Create Json Object to store attributes
JSONObject myjson = new JSONObject();
myjson.put("app_key", appKey);
myjson.put("status", "critical")
// Attach those attributes to Body after convert them in to JsonString
myreq.body(myjson.toString());
// Post the request with URL
Response MyRes = myreq.post("https://api.bigpanda.io/data/v2/alerts");
int ActualStatuscode = MyRes.getStatusCode();
}