refactor(接口测试): 返回报告内容增加java doc
This commit is contained in:
parent
41c0c2013d
commit
547a64f69c
|
@ -10,69 +10,113 @@ import java.util.List;
|
|||
*/
|
||||
@Data
|
||||
public class RequestResult {
|
||||
// 请求ID
|
||||
/**
|
||||
* 请求ID
|
||||
*/
|
||||
private String resourceId;
|
||||
|
||||
// 步骤请求唯一ID
|
||||
/**
|
||||
* 步骤请求唯一ID
|
||||
*/
|
||||
private String stepId;
|
||||
|
||||
// 线程名称
|
||||
/**
|
||||
* 线程名称
|
||||
*/
|
||||
private String threadName;
|
||||
|
||||
// 步骤名称
|
||||
/**
|
||||
* 步骤名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
// 请求地址
|
||||
/**
|
||||
* 请求地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
// 请求大小
|
||||
/**
|
||||
* 请求大小
|
||||
*/
|
||||
private long requestSize;
|
||||
|
||||
// 开始时间
|
||||
/**
|
||||
* 请求开始时间
|
||||
*/
|
||||
private long startTime;
|
||||
|
||||
// 结束时间
|
||||
/**
|
||||
* 请求结束时间
|
||||
*/
|
||||
private long endTime;
|
||||
|
||||
// 失败数量
|
||||
/**
|
||||
* 失败数量
|
||||
*/
|
||||
private int error;
|
||||
|
||||
// 请求头
|
||||
/**
|
||||
* 请求头
|
||||
*/
|
||||
private String headers;
|
||||
|
||||
// cookies
|
||||
/**
|
||||
* cookies
|
||||
*/
|
||||
private String cookies;
|
||||
|
||||
// 请求体
|
||||
/**
|
||||
* 请求体
|
||||
*/
|
||||
private String body;
|
||||
|
||||
// 响应状态
|
||||
/**
|
||||
* 响应状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
// 请求方法
|
||||
/**
|
||||
* 请求方法
|
||||
*/
|
||||
private String method;
|
||||
|
||||
// 断言总数
|
||||
/**
|
||||
* 断言总数
|
||||
*/
|
||||
private int assertionTotal = 0;
|
||||
|
||||
// 断言通过数
|
||||
/**
|
||||
* 断言通过数
|
||||
*/
|
||||
private int passAssertionsTotal = 0;
|
||||
|
||||
// 子请求结果
|
||||
/**
|
||||
* 子请求结果
|
||||
*/
|
||||
private List<RequestResult> subRequestResults = new ArrayList<>();
|
||||
|
||||
// 响应结果
|
||||
/**
|
||||
* 响应结果
|
||||
*/
|
||||
private ResponseResult responseResult = new ResponseResult();
|
||||
|
||||
/**
|
||||
* 是否成功
|
||||
*/
|
||||
private Boolean isSuccessful;
|
||||
|
||||
public void increasePassAssertionCount() {
|
||||
this.passAssertionsTotal++;
|
||||
}
|
||||
|
||||
// 误报信息
|
||||
/**
|
||||
* 误报信息
|
||||
*/
|
||||
private String fakeErrorMessage;
|
||||
// 误报编码名称
|
||||
|
||||
/**
|
||||
* 误报编码名称
|
||||
*/
|
||||
private String fakeErrorCode;
|
||||
|
||||
}
|
||||
|
|
|
@ -8,13 +8,28 @@ import lombok.Data;
|
|||
@Data
|
||||
public class ResponseAssertionResult {
|
||||
|
||||
/**
|
||||
* 断言名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 断言内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 断言脚本
|
||||
*/
|
||||
private String script;
|
||||
|
||||
/**
|
||||
* 断言结果
|
||||
*/
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* 是否通过
|
||||
*/
|
||||
private boolean pass;
|
||||
}
|
||||
|
|
|
@ -10,61 +10,100 @@ import java.util.List;
|
|||
*/
|
||||
@Data
|
||||
public class ResponseResult {
|
||||
// 响应状态
|
||||
|
||||
/**
|
||||
* 响应状态
|
||||
*/
|
||||
private String responseCode;
|
||||
|
||||
// 响应详细信息
|
||||
/**
|
||||
* 响应详细信息
|
||||
*/
|
||||
private String responseMessage;
|
||||
|
||||
// 总响应时间
|
||||
/**
|
||||
* 总响应时间
|
||||
*/
|
||||
private long responseTime;
|
||||
|
||||
// 从客户端向服务器发送请求到收到响应的时间
|
||||
/**
|
||||
* 从客户端向服务器发送请求到收到响应的时间
|
||||
*/
|
||||
private long latency;
|
||||
|
||||
// 总响应内容大小
|
||||
/**
|
||||
* 总响应内容大小
|
||||
*/
|
||||
private long responseSize;
|
||||
|
||||
// 响应头
|
||||
/**
|
||||
* 响应头
|
||||
*/
|
||||
private String headers;
|
||||
|
||||
// 响应内容
|
||||
/**
|
||||
* 响应内容
|
||||
*/
|
||||
private String body;
|
||||
|
||||
// 响应类型
|
||||
/**
|
||||
* 响应类型
|
||||
*/
|
||||
private String contentType;
|
||||
|
||||
// 过程变量处理信息
|
||||
/**
|
||||
* 过程变量处理信息
|
||||
*/
|
||||
private String vars;
|
||||
|
||||
// 图片内容
|
||||
/**
|
||||
* 图片内容
|
||||
*/
|
||||
private byte[] imageUrl;
|
||||
|
||||
// Socket Initialization(Socket 初始化时间)
|
||||
/**
|
||||
* Socket Initialization(Socket 初始化时间)
|
||||
*/
|
||||
private long socketInitTime = 0;
|
||||
|
||||
// DNS Lookup(DNS 查询时间)
|
||||
/**
|
||||
* DNS Lookup(DNS 查询时间)
|
||||
*/
|
||||
private long dnsLookupTime = 0;
|
||||
|
||||
// TCP Handshake(TCP 握手时间)
|
||||
/**
|
||||
* TCP Handshake(TCP 握手时间)
|
||||
*/
|
||||
private long tcpHandshakeTime = 0;
|
||||
|
||||
//SSL Handshake(SSL 握手时间)
|
||||
/**
|
||||
* SSL Handshake(SSL 握手时间)
|
||||
*/
|
||||
private long sslHandshakeTime = 0;
|
||||
|
||||
//Transfer Start(传输开始时间)
|
||||
/**
|
||||
* Transfer Start(传输开始时间)
|
||||
*/
|
||||
private long transferStartTime = 0;
|
||||
|
||||
//Download(下载时间)
|
||||
/**
|
||||
* Download(下载时间)
|
||||
*/
|
||||
private long downloadTime = 0;
|
||||
|
||||
// Body size
|
||||
/**
|
||||
* Body size
|
||||
*/
|
||||
private long bodySize = 0;
|
||||
|
||||
// header size
|
||||
/**
|
||||
* Header size
|
||||
*/
|
||||
private long headerSize = 0;
|
||||
|
||||
// 断言结果
|
||||
/**
|
||||
* 断言结果
|
||||
*/
|
||||
private final List<ResponseAssertionResult> assertions = new ArrayList<>();
|
||||
|
||||
}
|
||||
|
|
|
@ -7,36 +7,69 @@ import lombok.Data;
|
|||
@Data
|
||||
public class ApiReportDetailDTO {
|
||||
|
||||
/**
|
||||
* 报告详情id
|
||||
*/
|
||||
@Schema(description = "报告详情id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 接口报告id
|
||||
*/
|
||||
@Schema(description = "接口报告id")
|
||||
private String reportId;
|
||||
|
||||
/**
|
||||
* 各个步骤请求唯一标识
|
||||
*/
|
||||
@Schema(description = "各个步骤请求唯一标识")
|
||||
private String stepId;
|
||||
|
||||
/**
|
||||
* 结果状态
|
||||
*/
|
||||
@Schema(description = "结果状态")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 误报编号/误报状态独有
|
||||
*/
|
||||
@Schema(description = "误报编号/误报状态独有")
|
||||
private String fakeCode;
|
||||
|
||||
/**
|
||||
* 请求名称
|
||||
*/
|
||||
@Schema(description = "请求名称")
|
||||
private String requestName;
|
||||
|
||||
/**
|
||||
* 请求耗时
|
||||
*/
|
||||
@Schema(description = "请求耗时")
|
||||
private Long requestTime;
|
||||
|
||||
/**
|
||||
* 请求响应码
|
||||
*/
|
||||
@Schema(description = "请求响应码")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 响应内容大小
|
||||
*/
|
||||
@Schema(description = "响应内容大小")
|
||||
private Long responseSize;
|
||||
|
||||
/**
|
||||
* 脚本标识
|
||||
*/
|
||||
@Schema(description = "脚本标识")
|
||||
private String scriptIdentifier;
|
||||
|
||||
/**
|
||||
* 结果内容详情
|
||||
*/
|
||||
@Schema(description = "结果内容详情")
|
||||
private RequestResult content;
|
||||
|
||||
|
|
|
@ -7,36 +7,69 @@ import lombok.Data;
|
|||
@Data
|
||||
public class ApiScenarioReportDetailDTO {
|
||||
|
||||
/**
|
||||
* 报告详情id
|
||||
*/
|
||||
@Schema(description = "报告详情id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 接口报告id
|
||||
*/
|
||||
@Schema(description = "接口报告id")
|
||||
private String reportId;
|
||||
|
||||
/**
|
||||
* 各个步骤请求唯一标识
|
||||
*/
|
||||
@Schema(description = "各个步骤请求唯一标识")
|
||||
private String stepId;
|
||||
|
||||
/**
|
||||
* 结果状态
|
||||
*/
|
||||
@Schema(description = "结果状态")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 误报编号/误报状态独有
|
||||
*/
|
||||
@Schema(description = "误报编号/误报状态独有")
|
||||
private String fakeCode;
|
||||
|
||||
/**
|
||||
* 请求名称
|
||||
*/
|
||||
@Schema(description = "请求名称")
|
||||
private String requestName;
|
||||
|
||||
/**
|
||||
* 请求耗时
|
||||
*/
|
||||
@Schema(description = "请求耗时")
|
||||
private Long requestTime;
|
||||
|
||||
/**
|
||||
* 请求响应码
|
||||
*/
|
||||
@Schema(description = "请求响应码")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 响应内容大小
|
||||
*/
|
||||
@Schema(description = "响应内容大小")
|
||||
private Long responseSize;
|
||||
|
||||
/**
|
||||
* 脚本标识
|
||||
*/
|
||||
@Schema(description = "脚本标识")
|
||||
private String scriptIdentifier;
|
||||
|
||||
/**
|
||||
* 结果内容详情
|
||||
*/
|
||||
@Schema(description = "结果内容详情")
|
||||
private RequestResult content;
|
||||
|
||||
|
|
|
@ -4,18 +4,17 @@ import io.metersphere.sdk.exception.MSException;
|
|||
import io.metersphere.system.domain.Schedule;
|
||||
import io.metersphere.system.domain.ScheduleExample;
|
||||
import io.metersphere.system.mapper.ScheduleMapper;
|
||||
import io.metersphere.system.uid.IDGenerator;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.quartz.JobKey;
|
||||
import org.quartz.SchedulerException;
|
||||
import org.quartz.TriggerKey;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import io.metersphere.system.uid.IDGenerator;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class ScheduleService {
|
||||
|
@ -86,7 +85,7 @@ public class ScheduleService {
|
|||
public void addOrUpdateCronJob(Schedule request, JobKey jobKey, TriggerKey triggerKey, Class clazz) {
|
||||
Boolean enable = request.getEnable();
|
||||
String cronExpression = request.getValue();
|
||||
if (Optional.ofNullable(enable).isPresent() && StringUtils.isNotBlank(cronExpression)) {
|
||||
if (BooleanUtils.isTrue(enable) && StringUtils.isNotBlank(cronExpression)) {
|
||||
try {
|
||||
scheduleManager.addOrUpdateCronJob(jobKey, triggerKey, clazz, cronExpression,
|
||||
scheduleManager.getDefaultJobDataMap(request, cronExpression, request.getCreateUser()));
|
||||
|
|
Loading…
Reference in New Issue