需要知道我在传递下面代码中的标题时是否犯了一些错误(这是否是确保传递多个标题的正确方法?)我得到一个例外,如Rest Assured中所示。传递的标题值在Jmeter和postman中运行良好。
例外:
java.lang.AssertionError:1期望失败。 预期状态代码< 200>与实际状态代码< 401>不匹配。
代码:
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
{
@Test
public void response ()
{
given().
header("Id", "abc").
header("Key", "NuDVhdsfYmNkDLOZQ").
header("ConId", "xyz").
when().
get("testme/api/uk?Id=DT44FR100731").
then().
//contentType(ContentType.JSON).
body("response.code", equalTo("200"));
}
}
答案 0 :(得分:0)
401 - 当您未将身份验证信息传递给REST服务时,将导致未经授权的状态。
您可以按如下方式传递身份验证:
given().
auth().
basic("userid","password").
header().
....
expect().
statusCode(200)
log().ifError()
...
您可以在此给定的github link
中找到REST-assured支持的更多身份验证方案