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 对象作为参数传递。
我正在尝试使用 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 对象作为参数传递。