RestAssured Response 被覆盖

RestAssured Response is overriden

我正在尝试使用 RestAPI 编程获取多个 URI。 所有 GET 请求都需要基本授权

我使用了一个 BaseClass,我在其中定义了 RequestSpecification,如下所示(为了避免每次测试都是 运行 时的授权代码)

BaseClass.java :

 RequestSpecification basicAuth=RestAssured.given().accept("text/html").auth().preemptive().basic("username","password");    

继承了 Class 并在 class 中使用了 "basicAuth" 参数和我的测试方法。

  public class Tests extends BaseClass
    {
        @Test(priority=1)
        public void test01() throws IOException
        {
           response=basicAuth.when().get("URL1");
           Assert.assertEquals(200,response.getStatusCode());
        }

          @Test(priority=2)
            public void test02() throws IOException
            {
             response=basicAuth.when().get("URL2");
               Assert.assertEquals(200,response.getStatusCode());
          }}

这里的问题是两个测试 return 相同的响应(test01 的响应)虽然 URI 不同。 运行宁 test02 单独跳过 test01 给出了预期的响应。

解决方法是定义两个 RequestSpecification 参数和发送请求。 有没有一种方法可以清除以前的 GET 响应并使用 basicAuth 参数再次发送请求。

您需要将通话分成 2 个通话: 1. 添加一个 beforeMethod() 函数调用,您应该在其中调用 BaseClass.java 中的 auth 函数,这应该 return 您是一个对象(客户端),稍后您可以在测试中使用它 class. 2. 在每个测试 class 中,使用客户端对象并调用特定的 URL。因为每次调用 before 方法都会创建一个新的客户端对象。 因此,理想情况下,您的第二次调用将使用 auth 客户端进行调用并将 URL 对象作为参数传递。