Commit 5f56c3d1 by 左磊磊

24年04月09号14点02分更新:初版case

parent 23ab13b9
...@@ -245,4 +245,53 @@ public class ServerCase extends BaseCase { ...@@ -245,4 +245,53 @@ public class ServerCase extends BaseCase {
Object[][] data = ExcelUtils.getAPIAndCaseByApiId("5"); Object[][] data = ExcelUtils.getAPIAndCaseByApiId("5");
return data; return data;
} }
@Test(dataProvider = "data6", description = "6F:B段sql完全匹配") // DTO数据传输
@Description("6F:B段sql完全匹配")
public void testManager6F(API api, Case cas) throws Exception {
//0、执行前休眠30秒
Thread.sleep(1000 * 10);
//1、参数化替换
String params = replace(cas.getParams());
String sql = replace(cas.getCheckSQL());
String Bsql = replace(cas.getCheckBSQL());
cas.setParams(params);
cas.setCheckSQL(sql);
cas.setCheckBSQL(Bsql);
//2、数据库前置查询结果(断言必须在接口执行前后都查询)
Object beforeASqlResult = SqlUtils.querySingle(cas.getCheckSQL());
Object beforeBSqlResult = SqlUtils.querySingle(cas.getCheckBSQL());
//3、调用接口
String body = call(api, cas, false);
// 3.1 将登录的token存储(仅限于登录接口特有)
AuthorizationUtils.storeToken(body);
// System.out.println(AuthorizationUtils.env);
//4、断言响应结果,Excel中预期响应数据与实际响应数据进行对比
boolean assertResponseFlag = assertResponse(cas, body);
//5、添加接口响应回写excel内容
addWBD(Integer.parseInt(cas.getId()), Constants.ACTURL_WRITER_BACK_CELL_NUM, body);
//6、数据库后置查询结果
System.out.println("A-sql: " + cas.getCheckSQL());
Object afterASqlResult = SqlUtils.querySingle(cas.getCheckSQL());
System.out.println("B-sql: " + cas.getCheckBSQL());
Thread.sleep(1000 * 30); //验证B段SQL的休眠时间60秒
Object afterBSqlResult = SqlUtils.querySingle(cas.getCheckBSQL());
//7-2、B段数据库断言
boolean sqlBFlag = assertSql(cas.getbExpectValue(), beforeBSqlResult == null ? null : beforeBSqlResult.toString(), afterBSqlResult == null ? null : afterBSqlResult.toString());
String assertSqlBFlag = (sqlBFlag) ? "Pass" : "Fail";
addWBD(Integer.parseInt(cas.getId()), Constants.B_ASSERT_RESULT_CELL_NUM, assertSqlBFlag);
System.out.println("数据库B-sql断言结果:" + sqlBFlag);
//8、添加断言回写内容
String assertContent = (assertResponseFlag && sqlBFlag) ? "Pass" : "Fail";
addWBD(Integer.parseInt(cas.getId()), Constants.ASSERT_RESULT_CELL_NUM, assertContent);
Assert.assertEquals(assertContent, "Pass");
}
@DataProvider(name = "data6")
public Object[][] data6() {
Object[][] data = ExcelUtils.getAPIAndCaseByApiId("6"); // 传参apiID
return data;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment