fix(测试跟踪): 修复测试计划内部执行场景用例时没有记录场景执行次数的缺陷

--bug=1015093 --user=宋天阳 【测试跟踪】首页-过去7天测试计划失败用例top10,用例/场景失败次数没增加
https://www.tapd.cn/55049933/s/1208658
This commit is contained in:
song-tianyang 2022-07-24 16:11:26 +08:00 committed by 建国
parent 997d9802e7
commit 5339932369
2 changed files with 21 additions and 21 deletions

View File

@ -296,6 +296,7 @@ public class ApiScenarioReportService {
if (testPlanApiScenario != null) {
if (report != null) {
testPlanApiScenario.setLastResult(report.getStatus());
report.setScenarioId(testPlanApiScenario.getApiScenarioId());
} else {
testPlanApiScenario.setLastResult(status);
}
@ -507,7 +508,7 @@ public class ApiScenarioReportService {
report.setEndTime(System.currentTimeMillis());
testPlanUiScenario.setUpdateTime(System.currentTimeMillis());
testPlanUiScenarioMapper.updateByPrimaryKeySelective(testPlanUiScenario);
if(scenario == null){
if (scenario == null) {
scenario = uiScenarioMapper.selectByPrimaryKey(testPlanUiScenario.getUiScenarioId());
}
updateUiScenario(requestResults, dto, errorSize, status, report, scenario);
@ -936,10 +937,10 @@ public class ApiScenarioReportService {
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)
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 里面格式不符合规范的直接认定结果为失败

View File

@ -16,6 +16,7 @@ public class DateUtils {
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_PATTERM);
return dateFormat.parse(dateString);
}
public static Date getTime(String timeString) throws Exception {
SimpleDateFormat dateFormat = new SimpleDateFormat(TIME_PATTERN);
return dateFormat.parse(timeString);
@ -45,30 +46,31 @@ public class DateUtils {
SimpleDateFormat dateFormat = new SimpleDateFormat(TIME_PATTERN);
return dateFormat.format(timeStamp);
}
public static String getDataStr(long timeStamp) {
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_PATTERM);
return dateFormat.format(timeStamp);
}
public static Date dateSum (Date date,int countDays){
public static Date dateSum(Date date, int countDays) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH,countDays);
calendar.add(Calendar.DAY_OF_MONTH, countDays);
return calendar.getTime();
}
public static Date dateSum (Date date,int countUnit,int calendarType){
public static Date dateSum(Date date, int countUnit, int calendarType) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(calendarType,countUnit);
calendar.add(calendarType, countUnit);
return calendar.getTime();
}
/**
* 获取入参日期所在周的周一周末日期 日期对应的时间为当日的零点
* 获取入参日期所在周 日期对应的时间为当日的零点
*
* @return Map<String, String>(2); key取值范围firstTime/lastTime
*/
@ -76,13 +78,9 @@ public class DateUtils {
Map<String, Date> returnMap = new HashMap<>();
Calendar calendar = Calendar.getInstance();
//Calendar默认一周的开始是周日业务需求从周一开始算所以要"+1"
int weekDayAdd = 1;
try {
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_WEEK, calendar.getActualMinimum(Calendar.DAY_OF_WEEK));
calendar.add(Calendar.DAY_OF_MONTH,weekDayAdd);
//第一天的时分秒是 00:00:00 这里直接取日期默认就是零点零分
Date thisWeekFirstTime = getDate(getDateString(calendar.getTime()));
@ -90,12 +88,11 @@ public class DateUtils {
calendar.clear();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_WEEK, calendar.getActualMaximum(Calendar.DAY_OF_WEEK));
calendar.add(Calendar.DAY_OF_MONTH,weekDayAdd);
//最后一天的时分秒应当是23:59:59 处理方式是增加一天计算日期再-1
calendar.add(Calendar.DAY_OF_MONTH,1);
calendar.add(Calendar.DAY_OF_MONTH, 1);
Date nextWeekFirstDay = getDate(getDateString(calendar.getTime()));
Date thisWeekLastTime = getTime(getTimeString(nextWeekFirstDay.getTime()-1));
Date thisWeekLastTime = getTime(getTimeString(nextWeekFirstDay.getTime() - 1));
returnMap.put("firstTime", thisWeekFirstTime);
returnMap.put("lastTime", thisWeekLastTime);
@ -108,18 +105,20 @@ public class DateUtils {
/**
* 获取当前时间或者当前时间+- 任意天数 时间的时间戳
*
* @param countDays
* @return
*/
public static Long getTimestamp(int countDays){
public static Long getTimestamp(int countDays) {
Date now = new Date();
return dateSum (now,countDays).getTime()/1000*1000;
return dateSum(now, countDays).getTime() / 1000 * 1000;
}
/**
* 获取当天的起始时间Date
* @param time 指定日期 2020-12-13 06:12:42
* @return 当天起始时间 2020-12-13 00:00:00
*
* @param time 指定日期 2020-12-13 06:12:42
* @return 当天起始时间 2020-12-13 00:00:00
* @throws Exception
*/
public static Date getDayStartTime(Date time) throws Exception {