尝试验证连接时出现HTTP 401错误。我正在使用放心自动化

时间:2018-01-18 09:31:09

标签: java session-cookies restful-authentication rest-assured rest-assured-jsonpath

/ *我已经在下面的代码中手动传递了会话cookie。当我在post man中传递会话cookie时它工作正常,但在eclipse中它给出了401 HTTP错误。我很新的放心。请告诉我,如果有的话代码有问题。我已附加错误以及enter image description here * /

import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;

import java.security.KeyStore;
import java.security.cert.X509Certificate;

import javax.security.cert.CertificateException;

import org.apache.http.HttpResponse;
import org.apache.http.conn.ssl.SSLContextBuilder;
import org.apache.http.conn.ssl.SSLContexts;
import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
import org.apache.http.conn.ssl.TrustStrategy;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.testng.annotations.Test;

import com.sun.net.ssl.SSLContext;

import io.restassured.RestAssured;
import io.restassured.response.Response;
import io.restassured.response.ValidatableResponse;
public class getart {

    @Test

    public void Test1()
    {
        // TODO Auto-generated method stub

        //baseURL or Host

        RestAssured.useRelaxedHTTPSValidation();
        RestAssured.baseURI="https://localhost";

        given().

            param("Cookie","JSESSIONID=B1FAC334FF60F7182D4C552ABE01A700; hi.session.co.entity=1838-PROD1; hi.session.id.identifier=xHmvClBuIBcSKAEiVP~~AAAESADWaUjq; hi.session.client.identifier=1838Viewer").
            when().
            get("/hi-prod/3.1.12/al/api/articles")
           .then().assertThat().statusCode(200).
            body("status",equalTo("OK")).log().body();


    }

}  

1 个答案:

答案 0 :(得分:1)

param()用于向网址添加查询参数 - 这不是您想要设置Cookie的内容。必须在请求标头中设置Cookie。

相反,您应该使用cookie()cookies()rest-assured wiki有一节介绍如何设置Cookie。请注意,您需要根据示例设置四个cookie。

编辑:根据评论添加

方法1

Cookie cookie1 = Cookie.Builder("JSESSIONID", "B1FAC334FF60F7182D4C552ABE01A700").build();
Cookie cookie2 = Cookie.Builder("hi.session.co.entity", "1838-PROD1").build();
Cookie cookie3 = Cookie.Builder("hi.session.id.identifier", "xHmvClBuIBcSKAEiVP~~AAAESADWaUjq").build();
Cookie cookie4 = Cookie.Builder("hi.session.client.identifier", "1838Viewer").build();
Cookies cookies = new Cookies(cookie1, cookie2, cookie3, cookie4);

given().cookies(cookies)
       .when().get("/hi-prod/3.1.12/al/api/articles")

方法2

given().header("Set-Cookie", "JSESSIONID=B1FAC334FF60F7182D4C552ABE01A700; hi.session.co.entity=1838-PROD1; hi.session.id.identifier=xHmvClBuIBcSKAEiVP~~AAAESADWaUjq; hi.session.client.identifier=1838Viewer"")
       .when().get("/hi-prod/3.1.12/al/api/articles")