fix(UI 自动化): ui测试报告结果与列表结果不一致
--bug=1015832 --user=张大海 【UI测试】场景编辑-生成报告/场景列表-执行-生成结果为失败-测试报告结果显示为成功 https://www.tapd.cn/55049933/s/1224230
This commit is contained in:
parent
b524ad1f07
commit
f95c590cf5
|
@ -1,6 +1,7 @@
|
|||
package io.metersphere.api.service;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson.parser.Feature;
|
||||
import io.metersphere.api.dto.*;
|
||||
|
@ -882,6 +883,20 @@ public class ApiScenarioReportService {
|
|||
|
||||
long errorReportResultSize = dto.getRequestResults().stream().filter(requestResult ->
|
||||
StringUtils.equalsIgnoreCase(requestResult.getStatus(), ExecuteResult.ERROR_REPORT_RESULT.toString())).count();
|
||||
//类型为ui时的统计
|
||||
if (StringUtils.isNotEmpty(dto.getRunMode()) && dto.getRunMode().startsWith("UI")) {
|
||||
try {
|
||||
errorSize = dto.getRequestResults().stream().filter(requestResult ->
|
||||
StringUtils.isNotEmpty(requestResult.getResponseResult().getHeaders())
|
||||
&& JSONArray.parseArray(requestResult.getResponseResult().getHeaders()).stream().filter(
|
||||
r -> ((JSONObject) r).containsKey("success") && !((JSONObject) r).getBoolean("success")
|
||||
).count() > 0)
|
||||
.count();
|
||||
} catch (Exception e) {
|
||||
// UI 返回的结果在 headers 里面,格式不符合规范的直接认定结果为失败
|
||||
errorSize = 1;
|
||||
}
|
||||
}
|
||||
String status = dto.getRequestResults().isEmpty() ? ExecuteResult.UN_EXECUTE.toString() : ScenarioStatus.Success.name();
|
||||
if (errorSize > 0) {
|
||||
status = ScenarioStatus.Error.name();
|
||||
|
|
Loading…
Reference in New Issue