Comment transmettre des cookies de Selenium WebDriver à une personne rassurée

Comment transmettre les cookies de Selenium WebDriver à Rest-Assured? Lorsque vous effectuez des tests automatisés au niveau de l'API et de la couche d'interface utilisateur, il peut arriver que vous fassiez les deux et que vous deviez transmettre les propriétés de votre test d'API à votre test d'interface utilisateur ou vice versa.

Dans cet exemple, nous montrons comment transmettre des cookies de Selenium WebDriver à Rest-Assured à l'aide de Java.



Passer les cookies de 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);
} }