Как передать файлы cookie из Selenium WebDriver в Rest-Assured? Когда вы выполняете автоматическое тестирование на уровне API и пользовательского интерфейса, могут возникнуть ситуации, когда вы выполняете и то, и другое, и вам нужно передать свойства из теста API в тест пользовательского интерфейса или наоборот.
В этом примере мы показываем, как передавать файлы cookie из Selenium WebDriver в Rest-Assured с помощью Java.
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);
} }