如何将Cookie从Selenium WebDriver传递到休息保证

如何将Cookie从Selenium WebDriver传递给Rest-Assured?当您在API和UI层进行自动化测试时,可能会出现这样的情况:您需要将API测试中的属性传递给UI测试,反之亦然。

在此示例中,我们将展示如何使用Java将Selenium WebDriver中的Cookie传递给Rest-Assured。
将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<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);
}

猜你喜欢

转载自blog.51cto.com/13887297/2151279
今日推荐