REST Assured API - Pass Cookies from Selenium to Rest-Assured 2

import io.restassured.RestAssured;
import io.restassured.http.Cookies;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import static io.restassured.RestAssured.given;

public class RestAssuredWebDriverCookie {

    @Test
    public void cookieTest() {
        WebDriver driver = new ChromeDriver();

        driver.navigate().to("http://www.someurl.com");

        Set<Cookie> seleniumCookies = driver.manage().getCookies();

        // This is where the Cookies will live going forward
        List restAssuredCookies = new ArrayList();

        // Simply pull all the cookies into Rest-Assured
        for (org.openqa.selenium.Cookie cookie : seleniumCookies) {
            restAssuredCookies.add(new io.restassured.http.Cookie.Builder(cookie.getName(), cookie.getValue()).build());
        }

        // Pass them into the Rest-Assured Call
        given().spec(RestAssured.requestSpecification)
                .basePath("/some-path")
                .cookies(new Cookies(restAssuredCookies))
                .queryParam("id", "1234")
                .get()
                .then().statusCode(200);
    }
}

public void sendFamilyMemberPostRequest() throws InterruptedException{
        RestAssured.proxy("[proxyURL]",9502);
        Set<Cookie> seleniumCookies = webDriver.manage().getCookies();
        // This is where the Cookies will live going forward
        List restAssuredCookies = new ArrayList();
        // Simply pull all the cookies into Rest-Assured
        for (org.openqa.selenium.Cookie cookie : seleniumCookies) {
            if(cookie.getName()!="rat_v"&& cookie.getName()!="path"){
                restAssuredCookies.add(new Cookie.Builder(cookie.getName(), cookie.getValue()).build());
            }           
        }        
       String myJson = "{\"familyMemberList\":[{\"name\":\"太郎\",\"gender\":\"M\",\"birthdayType\":\"0\",\"birthday\":\"20190230\"}],\"newsletterSubscription\":true}";
       Response resp = given()
        .header("Content-Type", "application/json")
        .cookies(new Cookies(restAssuredCookies))
        .body(myJson)     
        .post("[requestURL]");
        System.out.println("Service response is: " + resp.print());
        System.out.println("Status code is: " + resp.statusCode());
    }    

发布了2 篇原创文章 · 获赞 0 · 访问量 973

猜你喜欢

转载自blog.csdn.net/vivivi_lau/article/details/104251539