繁体   English   中英

如何使用一个 API 的 cookie 到另一个 API 并使用 REST 保证库在 Java 中运行 API 调用链

[英]How to use the cookie of one API to another and run the chain of API calls in Java using the REST assured library

我正在使用 Java 中的 REST 保证库开发一个程序来自动化 Webservice API 测试。

以电子商务网站的以下场景的 API 链接为例:

1. 用户通过名为“LOGIN”的 API 调用登录,其响应正文为“登录成功”

  1. 现在使用 getdetailedcookies 函数从 API 调用的响应主体中获取 cookie 值。

  2. 从登录场景接收的 cookie 现在作为 cookie 标头提供给另一个名为“CART”的 API 调用

  3. “CART”的 API 响应将包含登录用户的购物车中存在的产品的详细信息

  4. 从“CART”API 调用中获取的 getdetailedcookie 应该有一些 cookie,该 cookie 应该与从之前的 API 调用中获得的 usersession 匹配

笔记:

1.所有的API调用在TESTNG中作为不同的方法给出并共同运行

2.当cookie从网站上提供时,每个响应都是正确的

参考下面的链接,我认为它有你要找的东西:

https://www.codota.com/code/java/methods/org.apache.http.impl.client.BasicCookieStore/getCookies

使用 restAssured 提供的 CookieFilter 对象并将其传递到过滤器中。

CookieFilter cookie = new CookieFilter();

public void sampleAPI(){
            RestAssured.baseURI = "http://localhost:8080";
            String response = given().contentType("application/json").accept("application/json").body(***).log().all().filter(cookie).when().post("/resource/Path")
                    .then().log().all().extract().response().asString();
        }

然后以相同的方式将它用于您想要传递 cookie 的后续 api 调用,会话也是如此。 对于会话使用 SessionFilter。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM