Rest Assured中的多个标头不起作用,并使用401 Unauthorized代码进行响应

时间:2016-01-27 18:47:51

标签: java rest rest-assured

需要知道我在传递下面代码中的标题时是否犯了一些错误(这是否是确保传递多个标题的正确方法?)我得到一个例外,如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"));
        }

    }

1 个答案:

答案 0 :(得分:0)

401 - 当您未将身份验证信息传递给REST服务时,将导致未经授权的状态。

您可以按如下方式传递身份验证:

given().
   auth().
   basic("userid","password").
   header().
   ....
expect().
   statusCode(200)
   log().ifError()
...

您可以在此给定的github link

中找到REST-assured支持的更多身份验证方案