Как передать файлы cookie из Selenium WebDriver в Rest-Assured

Как передать файлы cookie из Selenium WebDriver в Rest-Assured? Когда вы выполняете автоматическое тестирование на уровне API и пользовательского интерфейса, могут возникнуть ситуации, когда вы выполняете и то, и другое, и вам нужно передать свойства из теста API в тест пользовательского интерфейса или наоборот.

В этом примере мы показываем, как передавать файлы cookie из Selenium WebDriver в Rest-Assured с помощью Java.



Передача файлов cookie из Selenium в Rest-Assured

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 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);
} }