diff --git a/test-test/src/main/java/com/test/test/controller/TestCaseController.java b/test-test/src/main/java/com/test/test/controller/TestCaseController.java
index f40bb5b..df7f278 100644
--- a/test-test/src/main/java/com/test/test/controller/TestCaseController.java
+++ b/test-test/src/main/java/com/test/test/controller/TestCaseController.java
@@ -87,7 +87,6 @@ public class TestCaseController extends BaseController {
@PostMapping("/run")
public AjaxResult run(@RequestBody IDQO qo) {
log.info("执行用例 id:{}, jmeterHomePath:{}", qo.getId(), jmeterHomePath);
- testCaseService.executeTestCaseById(qo.getId(), jmeterHomePath);
- return toAjax(true);
+ return success(testCaseService.executeTestCaseById(qo.getId(), jmeterHomePath));
}
}
diff --git a/test-test/src/main/java/com/test/test/controller/TestCaseResultController.java b/test-test/src/main/java/com/test/test/controller/TestCaseResultController.java
index 382a73c..0e11980 100644
--- a/test-test/src/main/java/com/test/test/controller/TestCaseResultController.java
+++ b/test-test/src/main/java/com/test/test/controller/TestCaseResultController.java
@@ -2,6 +2,7 @@ package com.test.test.controller;
import com.test.common.core.controller.BaseController;
import com.test.common.core.domain.AjaxResult;
+import com.test.test.domain.TestCaseResult;
import com.test.test.domain.qo.IDQO;
import com.test.test.service.ITestCaseResultService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,4 +29,11 @@ public class TestCaseResultController extends BaseController
{
return success(testCaseResultService.selectTestCaseResultById(qo.getId()));
}
+
+ @GetMapping("/list")
+ public AjaxResult getList(@RequestParam String sid) {
+ TestCaseResult testCaseResult = new TestCaseResult();
+ testCaseResult.setCaseSid(sid);
+ return success(testCaseResultService.selectTestCaseResultList(testCaseResult));
+ }
}
diff --git a/test-test/src/main/java/com/test/test/domain/vo/TestCaseResultVO.java b/test-test/src/main/java/com/test/test/domain/vo/TestCaseResultVO.java
new file mode 100644
index 0000000..294a1d5
--- /dev/null
+++ b/test-test/src/main/java/com/test/test/domain/vo/TestCaseResultVO.java
@@ -0,0 +1,11 @@
+package com.test.test.domain.vo;
+
+import com.test.test.domain.TestCaseResult;
+import com.test.test.domain.TestCaseStep;
+import lombok.Data;
+
+@Data
+public class TestCaseResultVO {
+ TestCaseStep step;
+ TestCaseResult result;
+}
diff --git a/test-test/src/main/java/com/test/test/service/ITestCaseService.java b/test-test/src/main/java/com/test/test/service/ITestCaseService.java
index c79ebcc..ef2a598 100644
--- a/test-test/src/main/java/com/test/test/service/ITestCaseService.java
+++ b/test-test/src/main/java/com/test/test/service/ITestCaseService.java
@@ -68,5 +68,5 @@ public interface ITestCaseService
* @param jmeterHomePath jmeter安装路径
* @return 是否成功
*/
- public boolean executeTestCaseById(Long id, String jmeterHomePath);
+ public String executeTestCaseById(Long id, String jmeterHomePath);
}
diff --git a/test-test/src/main/java/com/test/test/service/impl/TaskManagerService.java b/test-test/src/main/java/com/test/test/service/impl/TaskManagerService.java
index 40de1a5..391df43 100644
--- a/test-test/src/main/java/com/test/test/service/impl/TaskManagerService.java
+++ b/test-test/src/main/java/com/test/test/service/impl/TaskManagerService.java
@@ -139,18 +139,18 @@ public class TaskManagerService {
try {
// 测试用例执行逻辑
log.info("Executing test case {} for task {}", testCaseId, taskId);
- boolean result = testCaseService.executeTestCaseById(testCaseId, jmeterHomePath);
- if (!result && retry == 0) {
+ String result = testCaseService.executeTestCaseById(testCaseId, jmeterHomePath);
+ if (result==null && retry == 0) {
if (retryCount != null && retryCount > 0) {
for (int i = 0; i < retryCount; i++) {
result = testCaseService.executeTestCaseById(testCaseId, jmeterHomePath);
- if (result) {
+ if (result!=null) {
break;
}
}
}
}
- return result;
+ return result!=null;
} catch (Exception e) {
log.error("Test case {} for task {} failed: ", testCaseId, taskId, e);
return false;
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 89424fe..ba51654 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
@@ -135,11 +135,11 @@ public class TestCaseServiceImpl implements ITestCaseService
* @return 是否成功
*/
@Override
- public boolean executeTestCaseById(Long id, String jmeterHomePath) {
+ public String executeTestCaseById(Long id, String jmeterHomePath) {
TestCase testCase = this.selectTestCaseById(id);
if (testCase == null || "2".equals(testCase.getDelFlag())) {
log.error("用例计划已被删除,不能执行!");
- return false;
+ return null;
}
TestCaseLog testCaseLog = new TestCaseLog();
testCaseLog.setCaseId(id);
@@ -157,7 +157,7 @@ public class TestCaseServiceImpl implements ITestCaseService
testCaseLog.setOperDetail("失败");
testCaseLogMapper.insertTestCaseLog(testCaseLog);
log.error("用例步骤:{}执行失败!", testCaseStep.getName());
- return false;
+ return null;
}
} else if (testCaseStep.getType() == 2L) {
// 数据库接口处理
@@ -166,7 +166,7 @@ public class TestCaseServiceImpl implements ITestCaseService
testCaseLog.setOperDetail("失败");
testCaseLogMapper.insertTestCaseLog(testCaseLog);
log.error("数据源用例步骤:{}执行失败!", testCaseStep.getName());
- return false;
+ return null;
}
} else if (testCaseStep.getType() == 3L) {
// 循环节点处理
@@ -175,7 +175,7 @@ public class TestCaseServiceImpl implements ITestCaseService
testCaseLog.setOperDetail("失败");
testCaseLogMapper.insertTestCaseLog(testCaseLog);
log.error("循环用例步骤:{}执行失败!", testCaseStep.getName());
- return false;
+ return null;
}
} else if (testCaseStep.getType() == 4L) {
// 轮询节点处理
@@ -184,7 +184,7 @@ public class TestCaseServiceImpl implements ITestCaseService
testCaseLog.setOperDetail("失败");
testCaseLogMapper.insertTestCaseLog(testCaseLog);
log.error("轮询用例步骤:{}执行失败!", testCaseStep.getName());
- return false;
+ return null;
}
} else {
log.error("错误的用例步骤类型!");
@@ -192,7 +192,7 @@ public class TestCaseServiceImpl implements ITestCaseService
}
testCaseLog.setOperDetail("成功");
testCaseLogMapper.insertTestCaseLog(testCaseLog);
- return true;
+ return caseSid;
}
/**
diff --git a/test-ui/src/api/test/caseStep.js b/test-ui/src/api/test/caseStep.js
index d9091a2..d262041 100644
--- a/test-ui/src/api/test/caseStep.js
+++ b/test-ui/src/api/test/caseStep.js
@@ -54,3 +54,12 @@ export function delCaseStep(id) {
data: {id}
})
}
+
+// 查询步骤日志详细
+export function getCaseResult(sid) {
+ return request({
+ url: '/test/testCaseStepResult/list',
+ method: 'get',
+ params: {sid: sid}
+ })
+}
diff --git a/test-ui/src/views/test/case/index.vue b/test-ui/src/views/test/case/index.vue
index 92551e2..49795e8 100644
--- a/test-ui/src/views/test/case/index.vue
+++ b/test-ui/src/views/test/case/index.vue
@@ -22,19 +22,26 @@
+
+
+
+
+