【发布时间】:2023-02-07 22:01:39
【问题描述】:
我有两个类 DB_Search 和 Elastic_Search,它们从 STAGE 和 PROD 生成响应,但是当我使用 testng.xml 文件并行运行这两个类时,一个类得到了完整的响应,但另一个类得到了 session-expired -回复。
这是两个类:
public class DB_Search {
@Test
public void FinBlock() throws IOException, ParseException {
SessionFilter session = new SessionFilter();
RestAssured.baseURI = "login_api";
String Response = given().auth().preemptive().basic("******", "****").filter(session).when()
.get(RestAssured.baseURI).then().extract().response().getCookie("RAY_SESSION_ID");
Response resp = given().cookie("RAY_SESSION_ID", Response).filter(session).when().get("API").then().extract()
.response();
FileWriter filewriter = new FileWriter("C:\\Users\\***\\eclipse-workspace\\API_test\\Files\\output.json");
BufferedWriter bufferedWriter = new BufferedWriter(filewriter);
bufferedWriter.write(resp.asString());
bufferedWriter.close();
}
}
public class Elastic_search {
@Test
public void FinBlock() throws IOException, ParseException {
SessionFilter session = new SessionFilter();
RestAssured.baseURI = "Login_API";
String Response = given().auth().preemptive().basic("****", "***").filter(session).when()
.get(RestAssured.baseURI).then().extract().response().getCookie("RAY_SESSION_ID");
Response resp = given().cookie("RAY_SESSION_ID", Response).filter(session).when().get("main_api").then()
.extract().response();
FileWriter filewriter = new FileWriter("C:\\Users\\***\\eclipse-workspace\\API_test\\Files\\output1.json");
BufferedWriter bufferedWriter = new BufferedWriter(filewriter);
bufferedWriter.write(resp.asString());
bufferedWriter.close();
}
}
【问题讨论】:
-
嗨,这两个课程中的哪一个确实失败了?
-
@Z-100 有时它会 db_search 有时是 elastic_search 类。
-
那么两个课程都失败了,只是不是同时失败了?
RestAssured.baseURI值是故意不同的吗?测试是否独立进行? - 如果您一次只开始一项测试,请手动进行;他们都工作吗? -
@Z-100 两个类都不会失败,任何一个都会失败,RestAssured.baseURI 是登录 API,因此两个类都会不同。如果我独立运行这些类,我将得到响应。
-
你以前试过调试吗?我对
resp的值感兴趣,就在调试器命中它之后。在调试模式下同时运行这两个测试,并在Response resp = ...行创建一个换行符 -> 然后检查响应的值。
标签: java json rest-assured