diff --git a/test-test/src/main/java/com/test/test/domain/TestCase.java b/test-test/src/main/java/com/test/test/domain/TestCase.java index e8efbc7..b685eb7 100644 --- a/test-test/src/main/java/com/test/test/domain/TestCase.java +++ b/test-test/src/main/java/com/test/test/domain/TestCase.java @@ -44,4 +44,7 @@ public class TestCase extends BaseEntity /** 删除标志(0代表存在 2代表删除) */ private String delFlag; + + /** 用例会话id */ + private String caseSid; } diff --git a/test-test/src/main/java/com/test/test/domain/TestCaseLog.java b/test-test/src/main/java/com/test/test/domain/TestCaseLog.java index 9fd717f..2a3c7d9 100644 --- a/test-test/src/main/java/com/test/test/domain/TestCaseLog.java +++ b/test-test/src/main/java/com/test/test/domain/TestCaseLog.java @@ -27,7 +27,7 @@ public class TestCaseLog extends BaseEntity /** 用例id */ @Excel(name = "用例id") - private String caseId; + private Long caseId; /** 操作类别 */ @Excel(name = "操作类别") @@ -45,4 +45,8 @@ public class TestCaseLog extends BaseEntity @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd") private Date operTime; + + /** 用例会话id */ + @Excel(name = "用例sid") + private String caseSid; } diff --git a/test-test/src/main/java/com/test/test/domain/TestCaseResult.java b/test-test/src/main/java/com/test/test/domain/TestCaseResult.java index c62f758..ed4f424 100644 --- a/test-test/src/main/java/com/test/test/domain/TestCaseResult.java +++ b/test-test/src/main/java/com/test/test/domain/TestCaseResult.java @@ -80,5 +80,9 @@ public class TestCaseResult extends BaseEntity { @Excel(name = "执行结果") private String status; + /** 用例会话id */ + @Excel(name = "用例sid") + private String caseSid; + private String title; } diff --git a/test-test/src/main/java/com/test/test/service/impl/TestCaseServiceImpl.java b/test-test/src/main/java/com/test/test/service/impl/TestCaseServiceImpl.java index dc49352..89424fe 100644 --- a/test-test/src/main/java/com/test/test/service/impl/TestCaseServiceImpl.java +++ b/test-test/src/main/java/com/test/test/service/impl/TestCaseServiceImpl.java @@ -9,11 +9,10 @@ import com.test.common.utils.JMeterUtil; import com.test.common.utils.MySQLExecutor; import com.test.common.utils.StringUtils; import com.test.common.utils.sql.TinyIntTypeAdapter; -import com.test.test.domain.TestCase; -import com.test.test.domain.TestCaseResult; -import com.test.test.domain.TestCaseStep; -import com.test.test.domain.TestDatasource; +import com.test.common.utils.uuid.IdUtils; +import com.test.test.domain.*; import com.test.test.domain.qo.*; +import com.test.test.mapper.TestCaseLogMapper; import com.test.test.mapper.TestCaseMapper; import com.test.test.mapper.TestCaseResultMapper; import com.test.test.mapper.TestDatasourceMapper; @@ -49,6 +48,8 @@ public class TestCaseServiceImpl implements ITestCaseService private TestCaseResultMapper testCaseResultMapper; @Resource private TestDatasourceMapper testDatasourceMapper; + @Resource + private TestCaseLogMapper testCaseLogMapper; @Autowired private ITestCaseStepService testCaseStepService; @@ -140,12 +141,21 @@ public class TestCaseServiceImpl implements ITestCaseService log.error("用例计划已被删除,不能执行!"); return false; } + TestCaseLog testCaseLog = new TestCaseLog(); + testCaseLog.setCaseId(id); + testCaseLog.setCreateTime(DateUtils.getNowDate()); + testCaseLog.setOperType("执行"); + String caseSid = IdUtils.simpleUUID(); + testCaseLog.setCaseSid(caseSid); + testCase.setCaseSid(caseSid); List testCaseStepList = testCaseStepService.selectTestCaseStepListByCaseId(id); for (TestCaseStep testCaseStep : testCaseStepList) { if (testCaseStep.getType() == 1L) { // http接口处理 boolean httpTestResult = doHttpRequestTest(testCase, testCaseStep, jmeterHomePath); if (!httpTestResult) { + testCaseLog.setOperDetail("失败"); + testCaseLogMapper.insertTestCaseLog(testCaseLog); log.error("用例步骤:{}执行失败!", testCaseStep.getName()); return false; } @@ -153,6 +163,8 @@ public class TestCaseServiceImpl implements ITestCaseService // 数据库接口处理 boolean dateSourceTestResult = doDateSourceRequestTest(testCase, testCaseStep); if (!dateSourceTestResult) { + testCaseLog.setOperDetail("失败"); + testCaseLogMapper.insertTestCaseLog(testCaseLog); log.error("数据源用例步骤:{}执行失败!", testCaseStep.getName()); return false; } @@ -160,6 +172,8 @@ public class TestCaseServiceImpl implements ITestCaseService // 循环节点处理 boolean pollTestResult = doPollRequestTest(testCase, testCaseStep, jmeterHomePath); if (!pollTestResult) { + testCaseLog.setOperDetail("失败"); + testCaseLogMapper.insertTestCaseLog(testCaseLog); log.error("循环用例步骤:{}执行失败!", testCaseStep.getName()); return false; } @@ -167,6 +181,8 @@ public class TestCaseServiceImpl implements ITestCaseService // 轮询节点处理 boolean loopTestResult = doLoopRequestTest(testCase, testCaseStep, jmeterHomePath); if (!loopTestResult) { + testCaseLog.setOperDetail("失败"); + testCaseLogMapper.insertTestCaseLog(testCaseLog); log.error("轮询用例步骤:{}执行失败!", testCaseStep.getName()); return false; } @@ -174,6 +190,8 @@ public class TestCaseServiceImpl implements ITestCaseService log.error("错误的用例步骤类型!"); } } + testCaseLog.setOperDetail("成功"); + testCaseLogMapper.insertTestCaseLog(testCaseLog); return true; } @@ -193,6 +211,7 @@ public class TestCaseServiceImpl implements ITestCaseService Map resultMap = testCaseStepService.executeJmeterTestCaseStepById(testCaseStep.getId(), jmeterHomePath); testCaseResult.setCaseId(testCase.getId()); testCaseResult.setStepId(testCaseStep.getId()); + testCaseResult.setCaseSid(testCase.getCaseSid()); if (resultMap != null) { testCaseResult.setRequestHeader(resultMap.get("requestHeader")); testCaseResult.setRequestBody(resultMap.get("requestBody")); @@ -250,6 +269,7 @@ public class TestCaseServiceImpl implements ITestCaseService testCaseResult.setExecuteTime(DateUtils.getNowDate()); testCaseResult.setCaseId(testCase.getId()); testCaseResult.setStepId(testCaseStep.getId()); + testCaseResult.setCaseSid(testCase.getCaseSid()); Long startTime = System.currentTimeMillis(); TestDatasource testDatasource = testDatasourceMapper.selectTestDatasourceById(testCaseStep.getDatasourceId()); Long useTime = System.currentTimeMillis() - startTime; @@ -319,6 +339,7 @@ public class TestCaseServiceImpl implements ITestCaseService testCaseResult.setExecuteTime(DateUtils.getNowDate()); testCaseResult.setCaseId(testCase.getId()); testCaseResult.setStepId(testCaseStep.getId()); + testCaseResult.setCaseSid(testCase.getCaseSid()); Long parentId = testCaseStep.getId(); TestCaseStep testCaseStepInput = new TestCaseStep(); testCaseStepInput.setCaseId(testCase.getId()); @@ -388,6 +409,7 @@ public class TestCaseServiceImpl implements ITestCaseService testCaseResult.setExecuteTime(DateUtils.getNowDate()); testCaseResult.setCaseId(testCase.getId()); testCaseResult.setStepId(testCaseStep.getId()); + testCaseResult.setCaseSid(testCase.getCaseSid()); Long parentId = testCaseStep.getId(); TestCaseStep testCaseStepInput = new TestCaseStep(); testCaseStepInput.setCaseId(testCase.getId()); diff --git a/test-test/src/main/resources/mapper/test/TestCaseLogMapper.xml b/test-test/src/main/resources/mapper/test/TestCaseLogMapper.xml index 8e39550..a0e2e56 100644 --- a/test-test/src/main/resources/mapper/test/TestCaseLogMapper.xml +++ b/test-test/src/main/resources/mapper/test/TestCaseLogMapper.xml @@ -11,21 +11,23 @@ + - select id, case_id, oper_type, oper_detail, oper_user, oper_time + select id, case_id, oper_type, oper_detail, oper_user, oper_time, case_sid from test_case_log @@ -42,6 +44,7 @@ oper_detail, oper_user, oper_time, + case_sid, #{caseId}, @@ -49,6 +52,7 @@ #{operDetail}, #{operUser}, #{operTime}, + #{caseSid}, @@ -60,6 +64,7 @@ oper_detail = #{operDetail}, oper_user = #{operUser}, oper_time = #{operTime}, + case_sid = #{caseSid}, where id = #{id} diff --git a/test-test/src/main/resources/mapper/test/TestCaseResultMapper.xml b/test-test/src/main/resources/mapper/test/TestCaseResultMapper.xml index bc237b9..37f5c63 100644 --- a/test-test/src/main/resources/mapper/test/TestCaseResultMapper.xml +++ b/test-test/src/main/resources/mapper/test/TestCaseResultMapper.xml @@ -20,14 +20,15 @@ + - select id, case_id, step_id, request_header, request_body, response_header, response_body, sql_result, polling_count, loop_count, assignment, assertion, use_time, execute_time, status from test_case_result + select id, case_id, case_sid, step_id, request_header, request_body, response_header, response_body, sql_result, polling_count, loop_count, assignment, assertion, use_time, execute_time, status from test_case_result - select id, case_id, step_id, polling_count, loop_count, use_time, execute_time, status from test_case_result + select id, case_id, case_sid, step_id, polling_count, loop_count, use_time, execute_time, status from test_case_result @@ -58,6 +60,7 @@ and use_time = #{useTime} and execute_time = #{executeTime} and status = #{status} + and case_sid = #{caseSid} order by execute_time desc @@ -84,6 +87,7 @@ use_time, execute_time, status, + case_sid, #{caseId}, @@ -100,6 +104,7 @@ #{useTime}, #{executeTime}, #{status}, + #{caseSid}, @@ -120,6 +125,7 @@ use_time = #{useTime}, execute_time = #{executeTime}, status = #{status}, + case_sid = #{caseSid}, where id = #{id}