feat(测试计划报告): 修复测试计划报告内案例执行状态未得到更新的问题
--bug=1008171 --user=宋天阳 【测试计划】-执行定时任务后报告中接口+场景和性能用例执行状态未更新 https://www.tapd.cn/55049933/s/1071846
This commit is contained in:
parent
6d09f39f99
commit
59f61557e3
|
@ -63,6 +63,8 @@ public class TestPlanReportService {
|
||||||
@Resource
|
@Resource
|
||||||
TestPlanReportMapper testPlanReportMapper;
|
TestPlanReportMapper testPlanReportMapper;
|
||||||
@Resource
|
@Resource
|
||||||
|
ApiScenarioReportMapper apiScenarioReportMapper;
|
||||||
|
@Resource
|
||||||
TestPlanReportDataMapper testPlanReportDataMapper;
|
TestPlanReportDataMapper testPlanReportDataMapper;
|
||||||
@Resource
|
@Resource
|
||||||
ExtTestPlanScenarioCaseMapper extTestPlanScenarioCaseMapper;
|
ExtTestPlanScenarioCaseMapper extTestPlanScenarioCaseMapper;
|
||||||
|
@ -1118,6 +1120,8 @@ public class TestPlanReportService {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
TestPlanReportContentWithBLOBs testPlanReportContent = testPlanReportContents.get(0);
|
TestPlanReportContentWithBLOBs testPlanReportContent = testPlanReportContents.get(0);
|
||||||
|
//更新测试报告对应的最后执行结果
|
||||||
|
this.updateReportExecResult(testPlanReportContent);
|
||||||
TestPlanSimpleReportDTO testPlanReportDTO = new TestPlanSimpleReportDTO();
|
TestPlanSimpleReportDTO testPlanReportDTO = new TestPlanSimpleReportDTO();
|
||||||
BeanUtils.copyBean(testPlanReportDTO, testPlanReportContent);
|
BeanUtils.copyBean(testPlanReportDTO, testPlanReportContent);
|
||||||
if (StringUtils.isNotBlank(testPlanReportContent.getFunctionResult())) {
|
if (StringUtils.isNotBlank(testPlanReportContent.getFunctionResult())) {
|
||||||
|
@ -1162,6 +1166,40 @@ public class TestPlanReportService {
|
||||||
return testPlanReportDTO;
|
return testPlanReportDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateReportExecResult(TestPlanReportContentWithBLOBs testPlanReportContent) {
|
||||||
|
boolean isUpdate = false;
|
||||||
|
if (StringUtils.isNotBlank(testPlanReportContent.getScenarioAllCases())) {
|
||||||
|
List<TestPlanFailureScenarioDTO> allCases = JSONObject.parseArray(testPlanReportContent.getScenarioAllCases(), TestPlanFailureScenarioDTO.class);
|
||||||
|
for (TestPlanFailureScenarioDTO dto : allCases) {
|
||||||
|
if (StringUtils.equalsIgnoreCase(dto.getLastResult(), "Underway")) {
|
||||||
|
isUpdate = true;
|
||||||
|
ApiScenarioReport apiReport = apiScenarioReportMapper.selectByPrimaryKey(dto.getReportId());
|
||||||
|
if (apiReport != null) {
|
||||||
|
dto.setLastResult(apiReport.getStatus());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
testPlanReportContent.setScenarioAllCases(JSONArray.toJSONString(allCases));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(testPlanReportContent.getLoadAllCases())) {
|
||||||
|
List<TestPlanLoadCaseDTO> allCases = JSONObject.parseArray(testPlanReportContent.getLoadAllCases(), TestPlanLoadCaseDTO.class);
|
||||||
|
for (TestPlanLoadCaseDTO dto : allCases) {
|
||||||
|
if (StringUtils.equalsIgnoreCase(dto.getStatus(), "run")) {
|
||||||
|
isUpdate = true;
|
||||||
|
LoadTestReport report = loadTestReportMapper.selectByPrimaryKey(dto.getReportId());
|
||||||
|
if (report != null) {
|
||||||
|
dto.setStatus(report.getStatus());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
testPlanReportContent.setLoadAllCases(JSONArray.toJSONString(allCases));
|
||||||
|
}
|
||||||
|
if (isUpdate) {
|
||||||
|
testPlanReportContentMapper.updateByPrimaryKeyWithBLOBs(testPlanReportContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void finishReport(TestPlanReport testPlanReport) {
|
public void finishReport(TestPlanReport testPlanReport) {
|
||||||
long endTime = System.currentTimeMillis();
|
long endTime = System.currentTimeMillis();
|
||||||
testPlanReport.setEndTime(endTime);
|
testPlanReport.setEndTime(endTime);
|
||||||
|
|
Loading…
Reference in New Issue