testng同一个test方法下面,调用不同的接口后调用同一个方法
时间: 2024-04-12 22:33:57 浏览: 8
在 TestNG 中,您可以使用注解 `@DataProvider` 来为同一个测试方法提供不同的数据源,然后在该方法中调用不同的接口,并在最后调用同一个方法进行处理。
下面是一个示例代码:
```java
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class TestNGExample {
@BeforeMethod
public void setup() {
// 在每个测试方法执行之前的准备工作
}
@Test(dataProvider = "apiDataProvider")
public void testMethod(String apiUrl) {
// 调用不同的接口
String response = callApi(apiUrl);
// 进行处理的代码
// 调用同一个方法进行处理
sharedProcess(response);
}
@AfterMethod
public void cleanup() {
// 在每个测试方法执行完毕后进行清理操作的代码
}
@DataProvider(name = "apiDataProvider")
public Object[][] provideApiUrls() {
// 提供不同的接口 URL 数据源
return new Object[][] {
{"https://example.com/api1"},
{"https://example.com/api2"},
// 可以添加更多的接口 URL
};
}
public String callApi(String apiUrl) {
// 调用接口的代码,并返回响应
return "Response from " + apiUrl;
}
public void sharedProcess(String response) {
// 共享的处理操作的代码
}
}
```
在上面的示例中,`testMethod()` 使用了 `@DataProvider` 注解来提供不同的接口 URL。在每次调用 `testMethod()` 时,根据提供的不同数据源,会调用不同的接口并获取响应。然后,通过调用 `sharedProcess()` 方法进行共享的处理操作。
这样,每个测试方法都可以根据不同的接口 URL 进行调用,并在最后调用同一个方法进行处理。