fix(UI 自动化) UI测试报告不同步测试计划,无消息发送
--bug=1015636 --user=张大海 【UI 测试】测试计划 UI 测试结果与总报告结果不同步 https://www.tapd.cn/55049933/s/1223786 --bug=1015719 --user=张大海 【测试跟踪】测试计划 - 只关联UI自动化场景 - 不发送消息通知 https://www.tapd.cn/55049933/s/1223784
This commit is contained in:
parent
10bcfe1378
commit
d10a5c25c2
|
@ -37,6 +37,8 @@ public class TestPlanReport implements Serializable {
|
||||||
|
|
||||||
private Boolean isNew;
|
private Boolean isNew;
|
||||||
|
|
||||||
|
private Boolean isUiScenarioExecuting;
|
||||||
|
|
||||||
private String runInfo;
|
private String runInfo;
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
@ -1143,6 +1143,66 @@ public class TestPlanReportExample {
|
||||||
addCriterion("is_new not between", value1, value2, "isNew");
|
addCriterion("is_new not between", value1, value2, "isNew");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingIsNull() {
|
||||||
|
addCriterion("is_ui_scenario_executing is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingIsNotNull() {
|
||||||
|
addCriterion("is_ui_scenario_executing is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingEqualTo(Boolean value) {
|
||||||
|
addCriterion("is_ui_scenario_executing =", value, "isUiScenarioExecuting");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingNotEqualTo(Boolean value) {
|
||||||
|
addCriterion("is_ui_scenario_executing <>", value, "isUiScenarioExecuting");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingGreaterThan(Boolean value) {
|
||||||
|
addCriterion("is_ui_scenario_executing >", value, "isUiScenarioExecuting");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingGreaterThanOrEqualTo(Boolean value) {
|
||||||
|
addCriterion("is_ui_scenario_executing >=", value, "isUiScenarioExecuting");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingLessThan(Boolean value) {
|
||||||
|
addCriterion("is_ui_scenario_executing <", value, "isUiScenarioExecuting");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingLessThanOrEqualTo(Boolean value) {
|
||||||
|
addCriterion("is_ui_scenario_executing <=", value, "isUiScenarioExecuting");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingIn(List<Boolean> values) {
|
||||||
|
addCriterion("is_ui_scenario_executing in", values, "isUiScenarioExecuting");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingNotIn(List<Boolean> values) {
|
||||||
|
addCriterion("is_ui_scenario_executing not in", values, "isUiScenarioExecuting");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingBetween(Boolean value1, Boolean value2) {
|
||||||
|
addCriterion("is_ui_scenario_executing between", value1, value2, "isUiScenarioExecuting");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIsUiScenarioExecutingNotBetween(Boolean value1, Boolean value2) {
|
||||||
|
addCriterion("is_ui_scenario_executing not between", value1, value2, "isUiScenarioExecuting");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Criteria extends GeneratedCriteria {
|
public static class Criteria extends GeneratedCriteria {
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
<result column="principal" jdbcType="VARCHAR" property="principal" />
|
<result column="principal" jdbcType="VARCHAR" property="principal" />
|
||||||
<result column="components" jdbcType="VARCHAR" property="components" />
|
<result column="components" jdbcType="VARCHAR" property="components" />
|
||||||
<result column="is_new" jdbcType="BIT" property="isNew" />
|
<result column="is_new" jdbcType="BIT" property="isNew" />
|
||||||
|
<result column="is_ui_scenario_executing" jdbcType="BIT" property="isUiScenarioExecuting" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.metersphere.base.domain.TestPlanReport">
|
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.metersphere.base.domain.TestPlanReport">
|
||||||
<result column="run_info" jdbcType="LONGVARCHAR" property="runInfo" />
|
<result column="run_info" jdbcType="LONGVARCHAR" property="runInfo" />
|
||||||
|
@ -83,7 +84,7 @@
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, test_plan_id, create_time, update_time, `name`, `status`, trigger_mode, creator,
|
id, test_plan_id, create_time, update_time, `name`, `status`, trigger_mode, creator,
|
||||||
start_time, end_time, is_api_case_executing, is_scenario_executing, is_performance_executing,
|
start_time, end_time, is_api_case_executing, is_scenario_executing, is_performance_executing,
|
||||||
principal, components, is_new
|
principal, components, is_new, is_ui_scenario_executing
|
||||||
</sql>
|
</sql>
|
||||||
<sql id="Blob_Column_List">
|
<sql id="Blob_Column_List">
|
||||||
run_info
|
run_info
|
||||||
|
@ -142,13 +143,15 @@
|
||||||
trigger_mode, creator, start_time,
|
trigger_mode, creator, start_time,
|
||||||
end_time, is_api_case_executing, is_scenario_executing,
|
end_time, is_api_case_executing, is_scenario_executing,
|
||||||
is_performance_executing, principal, components,
|
is_performance_executing, principal, components,
|
||||||
is_new, run_info)
|
is_new, is_ui_scenario_executing, run_info
|
||||||
|
)
|
||||||
values (#{id,jdbcType=VARCHAR}, #{testPlanId,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT},
|
values (#{id,jdbcType=VARCHAR}, #{testPlanId,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT},
|
||||||
#{updateTime,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
|
#{updateTime,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
|
||||||
#{triggerMode,jdbcType=VARCHAR}, #{creator,jdbcType=VARCHAR}, #{startTime,jdbcType=BIGINT},
|
#{triggerMode,jdbcType=VARCHAR}, #{creator,jdbcType=VARCHAR}, #{startTime,jdbcType=BIGINT},
|
||||||
#{endTime,jdbcType=BIGINT}, #{isApiCaseExecuting,jdbcType=BIT}, #{isScenarioExecuting,jdbcType=BIT},
|
#{endTime,jdbcType=BIGINT}, #{isApiCaseExecuting,jdbcType=BIT}, #{isScenarioExecuting,jdbcType=BIT},
|
||||||
#{isPerformanceExecuting,jdbcType=BIT}, #{principal,jdbcType=VARCHAR}, #{components,jdbcType=VARCHAR},
|
#{isPerformanceExecuting,jdbcType=BIT}, #{principal,jdbcType=VARCHAR}, #{components,jdbcType=VARCHAR},
|
||||||
#{isNew,jdbcType=BIT}, #{runInfo,jdbcType=LONGVARCHAR})
|
#{isNew,jdbcType=BIT}, #{isUiScenarioExecuting,jdbcType=BIT}, #{runInfo,jdbcType=LONGVARCHAR}
|
||||||
|
)
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertSelective" parameterType="io.metersphere.base.domain.TestPlanReport">
|
<insert id="insertSelective" parameterType="io.metersphere.base.domain.TestPlanReport">
|
||||||
insert into test_plan_report
|
insert into test_plan_report
|
||||||
|
@ -201,6 +204,9 @@
|
||||||
<if test="isNew != null">
|
<if test="isNew != null">
|
||||||
is_new,
|
is_new,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="isUiScenarioExecuting != null">
|
||||||
|
is_ui_scenario_executing,
|
||||||
|
</if>
|
||||||
<if test="runInfo != null">
|
<if test="runInfo != null">
|
||||||
run_info,
|
run_info,
|
||||||
</if>
|
</if>
|
||||||
|
@ -254,6 +260,9 @@
|
||||||
<if test="isNew != null">
|
<if test="isNew != null">
|
||||||
#{isNew,jdbcType=BIT},
|
#{isNew,jdbcType=BIT},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="isUiScenarioExecuting != null">
|
||||||
|
#{isUiScenarioExecuting,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
<if test="runInfo != null">
|
<if test="runInfo != null">
|
||||||
#{runInfo,jdbcType=LONGVARCHAR},
|
#{runInfo,jdbcType=LONGVARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -316,6 +325,9 @@
|
||||||
<if test="record.isNew != null">
|
<if test="record.isNew != null">
|
||||||
is_new = #{record.isNew,jdbcType=BIT},
|
is_new = #{record.isNew,jdbcType=BIT},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="record.isUiScenarioExecuting != null">
|
||||||
|
is_ui_scenario_executing = #{record.isUiScenarioExecuting,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
<if test="record.runInfo != null">
|
<if test="record.runInfo != null">
|
||||||
run_info = #{record.runInfo,jdbcType=LONGVARCHAR},
|
run_info = #{record.runInfo,jdbcType=LONGVARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -342,6 +354,7 @@
|
||||||
principal = #{record.principal,jdbcType=VARCHAR},
|
principal = #{record.principal,jdbcType=VARCHAR},
|
||||||
components = #{record.components,jdbcType=VARCHAR},
|
components = #{record.components,jdbcType=VARCHAR},
|
||||||
is_new = #{record.isNew,jdbcType=BIT},
|
is_new = #{record.isNew,jdbcType=BIT},
|
||||||
|
is_ui_scenario_executing = #{record.isUiScenarioExecuting,jdbcType=BIT},
|
||||||
run_info = #{record.runInfo,jdbcType=LONGVARCHAR}
|
run_info = #{record.runInfo,jdbcType=LONGVARCHAR}
|
||||||
<if test="_parameter != null">
|
<if test="_parameter != null">
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
@ -364,7 +377,8 @@
|
||||||
is_performance_executing = #{record.isPerformanceExecuting,jdbcType=BIT},
|
is_performance_executing = #{record.isPerformanceExecuting,jdbcType=BIT},
|
||||||
principal = #{record.principal,jdbcType=VARCHAR},
|
principal = #{record.principal,jdbcType=VARCHAR},
|
||||||
components = #{record.components,jdbcType=VARCHAR},
|
components = #{record.components,jdbcType=VARCHAR},
|
||||||
is_new = #{record.isNew,jdbcType=BIT}
|
is_new = #{record.isNew,jdbcType=BIT},
|
||||||
|
is_ui_scenario_executing = #{record.isUiScenarioExecuting,jdbcType=BIT}
|
||||||
<if test="_parameter != null">
|
<if test="_parameter != null">
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
</if>
|
</if>
|
||||||
|
@ -417,6 +431,9 @@
|
||||||
<if test="isNew != null">
|
<if test="isNew != null">
|
||||||
is_new = #{isNew,jdbcType=BIT},
|
is_new = #{isNew,jdbcType=BIT},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="isUiScenarioExecuting != null">
|
||||||
|
is_ui_scenario_executing = #{isUiScenarioExecuting,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
<if test="runInfo != null">
|
<if test="runInfo != null">
|
||||||
run_info = #{runInfo,jdbcType=LONGVARCHAR},
|
run_info = #{runInfo,jdbcType=LONGVARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -440,6 +457,7 @@
|
||||||
principal = #{principal,jdbcType=VARCHAR},
|
principal = #{principal,jdbcType=VARCHAR},
|
||||||
components = #{components,jdbcType=VARCHAR},
|
components = #{components,jdbcType=VARCHAR},
|
||||||
is_new = #{isNew,jdbcType=BIT},
|
is_new = #{isNew,jdbcType=BIT},
|
||||||
|
is_ui_scenario_executing = #{isUiScenarioExecuting,jdbcType=BIT},
|
||||||
run_info = #{runInfo,jdbcType=LONGVARCHAR}
|
run_info = #{runInfo,jdbcType=LONGVARCHAR}
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
</update>
|
</update>
|
||||||
|
@ -459,7 +477,8 @@
|
||||||
is_performance_executing = #{isPerformanceExecuting,jdbcType=BIT},
|
is_performance_executing = #{isPerformanceExecuting,jdbcType=BIT},
|
||||||
principal = #{principal,jdbcType=VARCHAR},
|
principal = #{principal,jdbcType=VARCHAR},
|
||||||
components = #{components,jdbcType=VARCHAR},
|
components = #{components,jdbcType=VARCHAR},
|
||||||
is_new = #{isNew,jdbcType=BIT}
|
is_new = #{isNew,jdbcType=BIT},
|
||||||
|
is_ui_scenario_executing = #{isUiScenarioExecuting,jdbcType=BIT}
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
</update>
|
</update>
|
||||||
</mapper>
|
</mapper>
|
|
@ -21,14 +21,13 @@ public class TestPlanReportSaveRequest {
|
||||||
private boolean countResources;
|
private boolean countResources;
|
||||||
private boolean apiCaseIsExecuting;
|
private boolean apiCaseIsExecuting;
|
||||||
private boolean scenarioIsExecuting;
|
private boolean scenarioIsExecuting;
|
||||||
|
private boolean uiScenarioIsExecuting;
|
||||||
private boolean performanceIsExecuting;
|
private boolean performanceIsExecuting;
|
||||||
|
|
||||||
// private String apiCaseIdListJSON;
|
Map<String, String> apiCaseIdMap;
|
||||||
// private String scenarioIdListJSON;
|
Map<String, String> scenarioIdMap;
|
||||||
// private String performanceIdListJSON;
|
Map<String, String> uiScenarioIdMap;
|
||||||
Map<String,String> apiCaseIdMap;
|
Map<String, String> performanceIdMap;
|
||||||
Map<String,String> scenarioIdMap;
|
|
||||||
Map<String,String> performanceIdMap;
|
|
||||||
|
|
||||||
public TestPlanReportSaveRequest(String reportID, String planId, String userId, String triggerMode) {
|
public TestPlanReportSaveRequest(String reportID, String planId, String userId, String triggerMode) {
|
||||||
this.reportID = reportID;
|
this.reportID = reportID;
|
||||||
|
@ -39,21 +38,106 @@ public class TestPlanReportSaveRequest {
|
||||||
this.countResources = true;
|
this.countResources = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TestPlanReportSaveRequest(String reportID, String planId, String userId, String triggerMode, boolean apiCaseIsExecuting, boolean scenarioIsExecuting, boolean performanceIsExecuting,
|
public TestPlanReportSaveRequest(Builder builder) {
|
||||||
Map<String,String> apiCaseIdMap, Map<String,String> scenarioIdMap, Map<String,String> performanceIdMap) {
|
this.reportID = builder.reportID;
|
||||||
this.reportID = reportID;
|
this.planId = builder.planId;
|
||||||
this.planId = planId;
|
this.userId = builder.userId;
|
||||||
this.userId = userId;
|
this.triggerMode = builder.triggerMode;
|
||||||
this.triggerMode = triggerMode;
|
this.countResources = builder.countResources;
|
||||||
|
this.apiCaseIsExecuting = builder.apiCaseIsExecuting;
|
||||||
|
this.scenarioIsExecuting = builder.scenarioIsExecuting;
|
||||||
|
this.uiScenarioIsExecuting = builder.uiScenarioIsExecuting;
|
||||||
|
this.performanceIsExecuting = builder.performanceIsExecuting;
|
||||||
|
this.apiCaseIdMap = builder.apiCaseIdMap;
|
||||||
|
this.scenarioIdMap = builder.scenarioIdMap;
|
||||||
|
this.uiScenarioIdMap = builder.uiScenarioIdMap;
|
||||||
|
this.performanceIdMap = builder.performanceIdMap;
|
||||||
|
}
|
||||||
|
|
||||||
this.countResources = false;
|
public static class Builder {
|
||||||
|
private String reportID;
|
||||||
|
private String planId;
|
||||||
|
private String userId;
|
||||||
|
private String triggerMode;
|
||||||
|
|
||||||
this.apiCaseIsExecuting = apiCaseIsExecuting;
|
private boolean countResources;
|
||||||
this.scenarioIsExecuting = scenarioIsExecuting;
|
private boolean apiCaseIsExecuting;
|
||||||
this.performanceIsExecuting = performanceIsExecuting;
|
private boolean scenarioIsExecuting;
|
||||||
|
private boolean uiScenarioIsExecuting;
|
||||||
|
private boolean performanceIsExecuting;
|
||||||
|
Map<String, String> apiCaseIdMap;
|
||||||
|
Map<String, String> scenarioIdMap;
|
||||||
|
Map<String, String> uiScenarioIdMap;
|
||||||
|
Map<String, String> performanceIdMap;
|
||||||
|
|
||||||
this.apiCaseIdMap = apiCaseIdMap;
|
public Builder setReportID(String reportID) {
|
||||||
this.scenarioIdMap = scenarioIdMap;
|
this.reportID = reportID;
|
||||||
this.performanceIdMap = performanceIdMap;
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setPlanId(String planId) {
|
||||||
|
this.planId = planId;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setUserId(String userId) {
|
||||||
|
this.userId = userId;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setTriggerMode(String triggerMode) {
|
||||||
|
this.triggerMode = triggerMode;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setCountResources(boolean countResources) {
|
||||||
|
this.countResources = countResources;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setApiCaseIsExecuting(boolean apiCaseIsExecuting) {
|
||||||
|
this.apiCaseIsExecuting = apiCaseIsExecuting;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setScenarioIsExecuting(boolean scenarioIsExecuting) {
|
||||||
|
this.scenarioIsExecuting = scenarioIsExecuting;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setUiScenarioIsExecuting(boolean uiScenarioIsExecuting) {
|
||||||
|
this.uiScenarioIsExecuting = uiScenarioIsExecuting;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setPerformanceIsExecuting(boolean performanceIsExecuting) {
|
||||||
|
this.performanceIsExecuting = performanceIsExecuting;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setApiCaseIdMap(Map<String, String> apiCaseIdMap) {
|
||||||
|
this.apiCaseIdMap = apiCaseIdMap;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setScenarioIdMap(Map<String, String> scenarioIdMap) {
|
||||||
|
this.scenarioIdMap = scenarioIdMap;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Builder setPerformanceIdMap(Map<String, String> performanceIdMap) {
|
||||||
|
this.performanceIdMap = performanceIdMap;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setUiScenarioIdMap(Map<String, String> uiScenarioIdMap) {
|
||||||
|
this.uiScenarioIdMap = uiScenarioIdMap;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestPlanReportSaveRequest build() {
|
||||||
|
return new TestPlanReportSaveRequest(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class TestPlanMessageService {
|
||||||
if (testPlanReportContent != null) {
|
if (testPlanReportContent != null) {
|
||||||
report = testPlanReportService.checkTestPlanReportHasErrorCase(report, testPlanReportContent);
|
report = testPlanReportService.checkTestPlanReportHasErrorCase(report, testPlanReportContent);
|
||||||
}
|
}
|
||||||
if (!report.getIsApiCaseExecuting() && !report.getIsPerformanceExecuting() && !report.getIsScenarioExecuting()) {
|
if (!report.getIsApiCaseExecuting() && !report.getIsPerformanceExecuting() && !report.getIsScenarioExecuting() && !report.getIsUiScenarioExecuting()) {
|
||||||
//更新TestPlan状态为完成
|
//更新TestPlan状态为完成
|
||||||
TestPlanWithBLOBs testPlan = testPlanMapper.selectByPrimaryKey(report.getTestPlanId());
|
TestPlanWithBLOBs testPlan = testPlanMapper.selectByPrimaryKey(report.getTestPlanId());
|
||||||
if (testPlan != null && !StringUtils.equals(testPlan.getStatus(), TestPlanStatus.Completed.name())) {
|
if (testPlan != null && !StringUtils.equals(testPlan.getStatus(), TestPlanStatus.Completed.name())) {
|
||||||
|
|
|
@ -271,22 +271,21 @@ public class TestPlanReportService {
|
||||||
uiScenarioIdMap.put(dto.getId(), dto.getUiScenarioId());
|
uiScenarioIdMap.put(dto.getId(), dto.getUiScenarioId());
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, String> apiCaseInfoMap = new HashMap<>();
|
TestPlanReportSaveRequest saveRequest = new TestPlanReportSaveRequest.Builder()
|
||||||
for (String id : planTestCaseIdMap.keySet()) {
|
.setReportID(planReportId)
|
||||||
apiCaseInfoMap.put(id, TestPlanApiExecuteStatus.PREPARE.name());
|
.setPlanId(planId)
|
||||||
}
|
.setUserId(userId)
|
||||||
Map<String, String> scenarioInfoMap = new HashMap<>();
|
.setCountResources(false)
|
||||||
for (String id : planScenarioIdMap.keySet()) {
|
.setTriggerMode(triggerMode)
|
||||||
scenarioInfoMap.put(id, TestPlanApiExecuteStatus.PREPARE.name());
|
.setApiCaseIsExecuting(!planTestCaseIdMap.isEmpty())
|
||||||
}
|
.setScenarioIsExecuting(!planScenarioIdMap.isEmpty())
|
||||||
Map<String, String> performanceInfoMap = new HashMap<>();
|
.setPerformanceIsExecuting(!performanceIdMap.isEmpty())
|
||||||
for (String id : performanceIdMap.values()) {
|
.setUiScenarioIsExecuting(!uiScenarioIdMap.isEmpty())
|
||||||
performanceInfoMap.put(id, TestPlanApiExecuteStatus.PREPARE.name());
|
.setApiCaseIdMap(planTestCaseIdMap)
|
||||||
}
|
.setScenarioIdMap(planScenarioIdMap)
|
||||||
|
.setPerformanceIdMap(performanceIdMap)
|
||||||
TestPlanReportSaveRequest saveRequest = new TestPlanReportSaveRequest(planReportId, planId, userId, triggerMode,
|
.setUiScenarioIdMap(uiScenarioIdMap)
|
||||||
planTestCaseIdMap.size() > 0, planScenarioIdMap.size() > 0, performanceIdMap.size() > 0,
|
.build();
|
||||||
apiCaseInfoMap, scenarioInfoMap, performanceInfoMap);
|
|
||||||
|
|
||||||
if (testPlanReport == null) {
|
if (testPlanReport == null) {
|
||||||
returnDTO = this.genTestPlanReport(saveRequest, runInfoDTO);
|
returnDTO = this.genTestPlanReport(saveRequest, runInfoDTO);
|
||||||
|
@ -383,6 +382,9 @@ public class TestPlanReportService {
|
||||||
List<String> scenarioIdList = testPlanApiScenarioList.stream().map(TestPlanApiScenarioInfoDTO::getApiScenarioId).collect(Collectors.toList());
|
List<String> scenarioIdList = testPlanApiScenarioList.stream().map(TestPlanApiScenarioInfoDTO::getApiScenarioId).collect(Collectors.toList());
|
||||||
testPlanReport.setIsScenarioExecuting(!scenarioIdList.isEmpty());
|
testPlanReport.setIsScenarioExecuting(!scenarioIdList.isEmpty());
|
||||||
|
|
||||||
|
List<TestPlanUiScenario> testPlanUiScenarioList = extTestPlanUiScenarioCaseMapper.selectLegalDataByTestPlanId(saveRequest.getPlanId());
|
||||||
|
testPlanReport.setIsUiScenarioExecuting(!testPlanUiScenarioList.isEmpty());
|
||||||
|
|
||||||
LoadCaseRequest loadCaseRequest = new LoadCaseRequest();
|
LoadCaseRequest loadCaseRequest = new LoadCaseRequest();
|
||||||
loadCaseRequest.setTestPlanId(saveRequest.getPlanId());
|
loadCaseRequest.setTestPlanId(saveRequest.getPlanId());
|
||||||
loadCaseRequest.setProjectId(testPlan.getProjectId());
|
loadCaseRequest.setProjectId(testPlan.getProjectId());
|
||||||
|
@ -393,9 +395,13 @@ public class TestPlanReportService {
|
||||||
testPlanReport.setIsApiCaseExecuting(saveRequest.isApiCaseIsExecuting());
|
testPlanReport.setIsApiCaseExecuting(saveRequest.isApiCaseIsExecuting());
|
||||||
testPlanReport.setIsScenarioExecuting(saveRequest.isScenarioIsExecuting());
|
testPlanReport.setIsScenarioExecuting(saveRequest.isScenarioIsExecuting());
|
||||||
testPlanReport.setIsPerformanceExecuting(saveRequest.isPerformanceIsExecuting());
|
testPlanReport.setIsPerformanceExecuting(saveRequest.isPerformanceIsExecuting());
|
||||||
|
testPlanReport.setIsUiScenarioExecuting(saveRequest.isUiScenarioIsExecuting());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (testPlanReport.getIsScenarioExecuting() || testPlanReport.getIsApiCaseExecuting() || testPlanReport.getIsPerformanceExecuting()) {
|
if (testPlanReport.getIsScenarioExecuting()
|
||||||
|
|| testPlanReport.getIsApiCaseExecuting()
|
||||||
|
|| testPlanReport.getIsPerformanceExecuting()
|
||||||
|
|| testPlanReport.getIsUiScenarioExecuting()) {
|
||||||
testPlanReport.setStatus(TestPlanReportStatus.RUNNING.name());
|
testPlanReport.setStatus(TestPlanReportStatus.RUNNING.name());
|
||||||
} else {
|
} else {
|
||||||
testPlanReport.setStatus(TestPlanReportStatus.COMPLETED.name());
|
testPlanReport.setStatus(TestPlanReportStatus.COMPLETED.name());
|
||||||
|
@ -572,6 +578,7 @@ public class TestPlanReportService {
|
||||||
testPlanReport.setIsApiCaseExecuting(false);
|
testPlanReport.setIsApiCaseExecuting(false);
|
||||||
testPlanReport.setIsScenarioExecuting(false);
|
testPlanReport.setIsScenarioExecuting(false);
|
||||||
testPlanReport.setIsPerformanceExecuting(false);
|
testPlanReport.setIsPerformanceExecuting(false);
|
||||||
|
testPlanReport.setIsUiScenarioExecuting(false);
|
||||||
|
|
||||||
TestPlanExecutionQueueExample testPlanExecutionQueueExample = new TestPlanExecutionQueueExample();
|
TestPlanExecutionQueueExample testPlanExecutionQueueExample = new TestPlanExecutionQueueExample();
|
||||||
testPlanExecutionQueueExample.createCriteria().andReportIdEqualTo(testPlanReportId);
|
testPlanExecutionQueueExample.createCriteria().andReportIdEqualTo(testPlanReportId);
|
||||||
|
@ -1346,6 +1353,41 @@ public class TestPlanReportService {
|
||||||
LogUtil.error("Parse test plan report cenario case error!", e);
|
LogUtil.error("Parse test plan report cenario case error!", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!hasErrorCase && StringUtils.isNotEmpty(content.getPlanUiScenarioReportStruct())) {
|
||||||
|
try {
|
||||||
|
List<TestPlanUiScenarioDTO> scenarioCases = JSONArray.parseArray(content.getPlanUiScenarioReportStruct(), TestPlanUiScenarioDTO.class);
|
||||||
|
List<String> reportIdList = new ArrayList<>();
|
||||||
|
scenarioCases.forEach(item -> {
|
||||||
|
if (StringUtils.isNotEmpty(item.getReportId())) {
|
||||||
|
reportIdList.add(item.getReportId());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
String defaultStatus = "Fail";
|
||||||
|
Map<String, String> reportStatus = apiScenarioReportService.getReportStatusByReportIds(reportIdList);
|
||||||
|
|
||||||
|
for (TestPlanUiScenarioDTO dto : scenarioCases) {
|
||||||
|
String reportId = dto.getReportId();
|
||||||
|
if (StringUtils.isNotEmpty(reportId)) {
|
||||||
|
String execStatus = reportStatus.get(reportId);
|
||||||
|
if (execStatus == null) {
|
||||||
|
execStatus = defaultStatus;
|
||||||
|
} else {
|
||||||
|
if (StringUtils.equalsIgnoreCase(execStatus, "Error")) {
|
||||||
|
execStatus = "Fail";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dto.setLastResult(execStatus);
|
||||||
|
dto.setStatus(execStatus);
|
||||||
|
if (!StringUtils.equalsAnyIgnoreCase(execStatus, "success")) {
|
||||||
|
hasErrorCase = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LogUtil.error("Parse test plan report ui scenario case error!", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return hasErrorCase;
|
return hasErrorCase;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue