diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiCustomCommand.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiCustomCommand.java new file mode 100644 index 0000000000..0e58048908 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiCustomCommand.java @@ -0,0 +1,149 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "自定义指令") +@TableName("ui_custom_command") +@Data +public class UiCustomCommand implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_custom_command.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "场景ID", required = true, allowableValues="range[1, 255]") + private String id; + + @Size(min = 1, max = 50, message = "{ui_custom_command.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID", required = true, allowableValues="range[1, 50]") + private String projectId; + + + @ApiModelProperty(name = "标签", required = false, allowableValues="range[1, 2000]") + private String tags; + + @Size(min = 1, max = 64, message = "{ui_custom_command.module_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.module_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "模块ID", required = true, allowableValues="range[1, 64]") + private String moduleId; + + @Size(min = 1, max = 1000, message = "{ui_custom_command.module_path.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.module_path.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "模块路径", required = true, allowableValues="range[1, 1000]") + private String modulePath; + + @Size(min = 1, max = 255, message = "{ui_custom_command.name.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.name.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "场景名称", required = true, allowableValues="range[1, 255]") + private String name; + + @Size(min = 1, max = 100, message = "{ui_custom_command.level.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.level.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "用例等级", required = true, allowableValues="range[1, 100]") + private String level; + + @Size(min = 1, max = 100, message = "{ui_custom_command.status.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.status.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "状态", required = true, allowableValues="range[1, 100]") + private String status; + + @Size(min = 1, max = 100, message = "{ui_custom_command.principal.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.principal.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "责任人", required = true, allowableValues="range[1, 100]") + private String principal; + + + @ApiModelProperty(name = "步骤总数", required = true, dataType = "Integer") + private Integer stepTotal; + + + @ApiModelProperty(name = "定时任务的表达式", required = false, allowableValues="range[1, 255]") + private String schedule; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + + @ApiModelProperty(name = "通过率", required = false, allowableValues="range[1, 100]") + private String passRate; + + + @ApiModelProperty(name = "最后执行结果", required = false, allowableValues="range[1, 100]") + private String lastResult; + + + @ApiModelProperty(name = "最后执行结果的报告ID", required = false, allowableValues="range[1, 50]") + private String reportId; + + + @ApiModelProperty(name = "num", required = true, dataType = "Integer") + private Integer num; + + @Size(min = 1, max = 1, message = "{ui_custom_command.deleted.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.deleted.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "删除状态", required = true, allowableValues="range[1, 1]") + private Boolean deleted; + + + @ApiModelProperty(name = "自定义num", required = false, allowableValues="range[1, 64]") + private String customNum; + + @Size(min = 1, max = 100, message = "{ui_custom_command.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues="range[1, 100]") + private String createUser; + + + @ApiModelProperty(name = "删除时间", required = false, dataType = "Long") + private Long deleteTime; + + + @ApiModelProperty(name = "删除人", required = false, allowableValues="range[1, 64]") + private String deleteUser; + + + @ApiModelProperty(name = "执行次数", required = false, dataType = "Integer") + private Integer executeTimes; + + + @ApiModelProperty(name = "自定义排序,间隔5000", required = true, dataType = "Long") + private Long pos; + + + @ApiModelProperty(name = "环境类型(环境,环境组)", required = false, allowableValues="range[1, 20]") + private String environmentType; + + + @ApiModelProperty(name = "环境组ID", required = false, allowableValues="range[1, 50]") + private String environmentGroupId; + + @Size(min = 1, max = 50, message = "{ui_custom_command.version_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.version_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "版本ID", required = true, allowableValues="range[1, 50]") + private String versionId; + + @Size(min = 1, max = 255, message = "{ui_custom_command.ref_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.ref_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "指向初始版本ID", required = true, allowableValues="range[1, 255]") + private String refId; + + @Size(min = 1, max = 1, message = "{ui_custom_command.latest.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command.latest.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "是否为最新版本 0:否,1:是", required = true, allowableValues="range[1, 1]") + private Boolean latest; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiCustomCommandBlob.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiCustomCommandBlob.java new file mode 100644 index 0000000000..a65c53cb14 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiCustomCommandBlob.java @@ -0,0 +1,41 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "自定义指令大字段") +@TableName("ui_custom_command_blob") +@Data +public class UiCustomCommandBlob implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_custom_command_blob.scenario_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "场景ID", required = true, allowableValues="range[1, 255]") + private String scenarioId; + + + @ApiModelProperty(name = "场景定义", required = false, allowableValues="range[1, ]") + private byte[] scenarioDefinition; + + + @ApiModelProperty(name = "描述", required = false, allowableValues="range[1, ]") + private byte[] description; + + + @ApiModelProperty(name = "环境", required = false, allowableValues="range[1, ]") + private byte[] environmentJson; + + + @ApiModelProperty(name = "自定义结构", required = false, allowableValues="range[1, 255]") + private byte[] commandViewStruct; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiCustomCommandModule.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiCustomCommandModule.java new file mode 100644 index 0000000000..381e252dc3 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiCustomCommandModule.java @@ -0,0 +1,62 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "自定义指令模块") +@TableName("ui_custom_command_module") +@Data +public class UiCustomCommandModule implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_custom_command_module.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "模块ID", required = true, allowableValues="range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{ui_custom_command_module.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command_module.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID", required = true, allowableValues="range[1, 50]") + private String projectId; + + @Size(min = 1, max = 64, message = "{ui_custom_command_module.name.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command_module.name.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "模块名称", required = true, allowableValues="range[1, 64]") + private String name; + + @Size(min = 1, max = 50, message = "{ui_custom_command_module.parent_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command_module.parent_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "父级ID", required = true, allowableValues="range[1, 50]") + private String parentId; + + + @ApiModelProperty(name = "模块等级", required = true, dataType = "Integer") + private Integer level; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + @Size(min = 1, max = 22, message = "{ui_custom_command_module.pos.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command_module.pos.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "自定义排序", required = true, allowableValues="range[1, 22]") + private Double pos; + + @Size(min = 1, max = 100, message = "{ui_custom_command_module.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_custom_command_module.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues="range[1, 100]") + private String createUser; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiElement.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiElement.java new file mode 100644 index 0000000000..83fcc4b6b7 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiElement.java @@ -0,0 +1,95 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "元素") +@TableName("ui_element") +@Data +public class UiElement implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_element.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "元素id", required = true, allowableValues="range[1, 50]") + private String id; + + + @ApiModelProperty(name = "元素num", required = true, dataType = "Integer") + private Integer num; + + @Size(min = 1, max = 50, message = "{ui_element.module_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element.module_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "元素所属模块id", required = true, allowableValues="range[1, 50]") + private String moduleId; + + @Size(min = 1, max = 50, message = "{ui_element.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目id", required = true, allowableValues="range[1, 50]") + private String projectId; + + @Size(min = 1, max = 255, message = "{ui_element.name.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element.name.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "名称", required = true, allowableValues="range[1, 255]") + private String name; + + @Size(min = 1, max = 30, message = "{ui_element.location_type.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element.location_type.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "定位类型", required = true, allowableValues="range[1, 30]") + private String locationType; + + @Size(min = 1, max = 300, message = "{ui_element.location.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element.location.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "元素定位", required = true, allowableValues="range[1, 300]") + private String location; + + @Size(min = 1, max = 100, message = "{ui_element.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues="range[1, 100]") + private String createUser; + + @Size(min = 1, max = 100, message = "{ui_element.update_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element.update_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "更新人", required = true, allowableValues="range[1, 100]") + private String updateUser; + + @Size(min = 1, max = 50, message = "{ui_element.version_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element.version_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "版本ID", required = true, allowableValues="range[1, 50]") + private String versionId; + + @Size(min = 1, max = 50, message = "{ui_element.ref_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element.ref_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "指向初始版本ID", required = true, allowableValues="range[1, 50]") + private String refId; + + + @ApiModelProperty(name = "自定义排序,间隔5000", required = true, dataType = "Long") + private Long pos; + + @Size(min = 1, max = 1, message = "{ui_element.latest.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element.latest.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "是否为最新版本 0:否,1:是", required = true, allowableValues="range[1, 1]") + private Boolean latest; + + + @ApiModelProperty(name = "元素描述", required = false, allowableValues="range[1, 1000]") + private String description; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiElementModule.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiElementModule.java new file mode 100644 index 0000000000..cb17bc9474 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiElementModule.java @@ -0,0 +1,62 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "元素模块") +@TableName("ui_element_module") +@Data +public class UiElementModule implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_element_module.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "模块ID", required = true, allowableValues="range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{ui_element_module.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element_module.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID", required = true, allowableValues="range[1, 50]") + private String projectId; + + @Size(min = 1, max = 64, message = "{ui_element_module.name.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element_module.name.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "模块名称", required = true, allowableValues="range[1, 64]") + private String name; + + @Size(min = 1, max = 50, message = "{ui_element_module.parent_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element_module.parent_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "父级ID", required = true, allowableValues="range[1, 50]") + private String parentId; + + + @ApiModelProperty(name = "模块等级", required = true, dataType = "Integer") + private Integer level; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + @Size(min = 1, max = 22, message = "{ui_element_module.pos.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element_module.pos.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "自定义排序", required = true, allowableValues="range[1, 22]") + private Double pos; + + @Size(min = 1, max = 100, message = "{ui_element_module.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element_module.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues="range[1, 100]") + private String createUser; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiElementReference.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiElementReference.java new file mode 100644 index 0000000000..3744a1a9be --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiElementReference.java @@ -0,0 +1,45 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "元素关系表") +@TableName("ui_element_reference") +@Data +public class UiElementReference implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_element_reference.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues="range[1, 50]") + private String id; + + @Size(min = 1, max = 255, message = "{ui_element_reference.element_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element_reference.element_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "元素ID", required = true, allowableValues="range[1, 255]") + private String elementId; + + @Size(min = 1, max = 255, message = "{ui_element_reference.element_module_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element_reference.element_module_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "元素模块ID", required = true, allowableValues="range[1, 255]") + private String elementModuleId; + + @Size(min = 1, max = 255, message = "{ui_element_reference.scenario_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element_reference.scenario_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "场景ID", required = true, allowableValues="range[1, 255]") + private String scenarioId; + + @Size(min = 1, max = 50, message = "{ui_element_reference.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_element_reference.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID", required = true, allowableValues="range[1, 50]") + private String projectId; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenario.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenario.java new file mode 100644 index 0000000000..a9e041f4f1 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenario.java @@ -0,0 +1,145 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "场景") +@TableName("ui_scenario") +@Data +public class UiScenario implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_scenario.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "场景ID", required = true, allowableValues="range[1, 255]") + private String id; + + @Size(min = 1, max = 50, message = "{ui_scenario.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID", required = true, allowableValues="range[1, 50]") + private String projectId; + + + @ApiModelProperty(name = "标签", required = false, allowableValues="range[1, 2000]") + private String tags; + + @Size(min = 1, max = 64, message = "{ui_scenario.module_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.module_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "模块ID", required = true, allowableValues="range[1, 64]") + private String moduleId; + + @Size(min = 1, max = 1000, message = "{ui_scenario.module_path.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.module_path.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "模块路径", required = true, allowableValues="range[1, 1000]") + private String modulePath; + + @Size(min = 1, max = 255, message = "{ui_scenario.name.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.name.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "场景名称", required = true, allowableValues="range[1, 255]") + private String name; + + @Size(min = 1, max = 100, message = "{ui_scenario.level.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.level.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "用例等级", required = true, allowableValues="range[1, 100]") + private String level; + + @Size(min = 1, max = 100, message = "{ui_scenario.status.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.status.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "状态", required = true, allowableValues="range[1, 100]") + private String status; + + @Size(min = 1, max = 100, message = "{ui_scenario.principal.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.principal.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "责任人", required = true, allowableValues="range[1, 100]") + private String principal; + + + @ApiModelProperty(name = "步骤总数", required = true, dataType = "Integer") + private Integer stepTotal; + + + @ApiModelProperty(name = "定时任务的表达式", required = false, allowableValues="range[1, 255]") + private String schedule; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + + @ApiModelProperty(name = "最后执行结果", required = false, allowableValues="range[1, 100]") + private String lastResult; + + + @ApiModelProperty(name = "最后执行结果的报告ID", required = false, allowableValues="range[1, 50]") + private String reportId; + + + @ApiModelProperty(name = "num", required = true, dataType = "Integer") + private Integer num; + + @Size(min = 1, max = 1, message = "{ui_scenario.deleted.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.deleted.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "删除状态", required = true, allowableValues="range[1, 1]") + private Boolean deleted; + + + @ApiModelProperty(name = "自定义num", required = false, allowableValues="range[1, 64]") + private String customNum; + + @Size(min = 1, max = 100, message = "{ui_scenario.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues="range[1, 100]") + private String createUser; + + + @ApiModelProperty(name = "删除时间", required = false, dataType = "Long") + private Long deleteTime; + + + @ApiModelProperty(name = "删除人", required = false, allowableValues="range[1, 64]") + private String deleteUser; + + + @ApiModelProperty(name = "执行次数", required = true, dataType = "Integer") + private Integer executeTimes; + + + @ApiModelProperty(name = "自定义排序,间隔5000", required = true, dataType = "Long") + private Long pos; + + + @ApiModelProperty(name = "环境类型(环境,环境组)", required = false, allowableValues="range[1, 20]") + private String environmentType; + + + @ApiModelProperty(name = "环境组ID", required = false, allowableValues="range[1, 50]") + private String environmentGroupId; + + @Size(min = 1, max = 50, message = "{ui_scenario.version_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.version_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "版本ID", required = true, allowableValues="range[1, 50]") + private String versionId; + + @Size(min = 1, max = 255, message = "{ui_scenario.ref_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.ref_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "指向初始版本ID", required = true, allowableValues="range[1, 255]") + private String refId; + + @Size(min = 1, max = 1, message = "{ui_scenario.latest.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario.latest.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "是否为最新版本 0:否,1:是", required = true, allowableValues="range[1, 1]") + private Boolean latest; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioBlob.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioBlob.java new file mode 100644 index 0000000000..8fb912d82a --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioBlob.java @@ -0,0 +1,37 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "场景大字段") +@TableName("ui_scenario_blob") +@Data +public class UiScenarioBlob implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_scenario_blob.scenario_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "场景ID", required = true, allowableValues="range[1, 255]") + private String scenarioId; + + + @ApiModelProperty(name = "场景定义", required = false, allowableValues="range[1, ]") + private byte[] scenarioDefinition; + + + @ApiModelProperty(name = "描述", required = false, allowableValues="range[1, ]") + private byte[] description; + + + @ApiModelProperty(name = "环境", required = false, allowableValues="range[1, ]") + private byte[] environmentJson; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioExecutionInfo.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioExecutionInfo.java new file mode 100644 index 0000000000..7ae92c95d7 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioExecutionInfo.java @@ -0,0 +1,43 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "执行步骤基础信息(待讨论)") +@TableName("ui_scenario_execution_info") +@Data +public class UiScenarioExecutionInfo implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_scenario_execution_info.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "", required = true, allowableValues="range[1, 50]") + private String id; + + @Size(min = 1, max = 255, message = "{ui_scenario_execution_info.source_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_execution_info.source_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "api scenario id", required = true, allowableValues="range[1, 255]") + private String sourceId; + + @Size(min = 1, max = 50, message = "{ui_scenario_execution_info.result.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_execution_info.result.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "", required = true, allowableValues="range[1, 50]") + private String result; + + + @ApiModelProperty(name = "", required = false, allowableValues="range[1, 50]") + private String triggerMode; + + + @ApiModelProperty(name = "Create timestamp", required = true, dataType = "Long") + private Long createTime; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioModule.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioModule.java new file mode 100644 index 0000000000..26854cda4a --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioModule.java @@ -0,0 +1,62 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "场景模块") +@TableName("ui_scenario_module") +@Data +public class UiScenarioModule implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_scenario_module.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "模块ID", required = true, allowableValues="range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{ui_scenario_module.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_module.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID", required = true, allowableValues="range[1, 50]") + private String projectId; + + @Size(min = 1, max = 64, message = "{ui_scenario_module.name.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_module.name.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "模块名称", required = true, allowableValues="range[1, 64]") + private String name; + + @Size(min = 1, max = 50, message = "{ui_scenario_module.parent_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_module.parent_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "父级ID", required = true, allowableValues="range[1, 50]") + private String parentId; + + + @ApiModelProperty(name = "模块等级", required = true, dataType = "Integer") + private Integer level; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + @Size(min = 1, max = 22, message = "{ui_scenario_module.pos.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_module.pos.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "自定义排序", required = true, allowableValues="range[1, 22]") + private Double pos; + + @Size(min = 1, max = 100, message = "{ui_scenario_module.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_module.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues="range[1, 100]") + private String createUser; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReference.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReference.java new file mode 100644 index 0000000000..da8fad0b89 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReference.java @@ -0,0 +1,49 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "场景引用关系") +@TableName("ui_scenario_reference") +@Data +public class UiScenarioReference implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_scenario_reference.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues="range[1, 50]") + private String id; + + @Size(min = 1, max = 255, message = "{ui_scenario_reference.ui_scenario_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_reference.ui_scenario_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "场景ID", required = true, allowableValues="range[1, 255]") + private String uiScenarioId; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + @Size(min = 1, max = 64, message = "{ui_scenario_reference.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_reference.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues="range[1, 64]") + private String createUser; + + @Size(min = 1, max = 255, message = "{ui_scenario_reference.reference_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_reference.reference_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "被引用的ID", required = true, allowableValues="range[1, 255]") + private String referenceId; + + @Size(min = 1, max = 255, message = "{ui_scenario_reference.data_type.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_reference.data_type.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "引用的数据类型(场景,指令)", required = true, allowableValues="range[1, 255]") + private String dataType; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReport.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReport.java new file mode 100644 index 0000000000..531d01c1ce --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReport.java @@ -0,0 +1,86 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "场景报告") +@TableName("ui_scenario_report") +@Data +public class UiScenarioReport implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_scenario_report.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "报告ID", required = true, allowableValues="range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{ui_scenario_report.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_report.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID", required = true, allowableValues="range[1, 50]") + private String projectId; + + @Size(min = 1, max = 3000, message = "{ui_scenario_report.name.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_report.name.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "报告名称", required = true, allowableValues="range[1, 3000]") + private String name; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + @Size(min = 1, max = 64, message = "{ui_scenario_report.status.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_report.status.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "报告状态", required = true, allowableValues="range[1, 64]") + private String status; + + @Size(min = 1, max = 64, message = "{ui_scenario_report.trigger_mode.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_report.trigger_mode.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "触发模式(手动,定时,批量,测试计划)", required = true, allowableValues="range[1, 64]") + private String triggerMode; + + + @ApiModelProperty(name = "执行类型(并行,串行)", required = false, allowableValues="range[1, 200]") + private String executeType; + + + @ApiModelProperty(name = "场景名称", required = false, allowableValues="range[1, 3000]") + private String scenarioName; + + + @ApiModelProperty(name = "场景ID", required = false, allowableValues="range[1, 3000]") + private String scenarioId; + + @Size(min = 1, max = 100, message = "{ui_scenario_report.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_report.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues="range[1, 100]") + private String createUser; + + + @ApiModelProperty(name = "执行器", required = false, allowableValues="range[1, 100]") + private String actuator; + + + @ApiModelProperty(name = "结束时间", required = true, dataType = "Long") + private Long endTime; + + + @ApiModelProperty(name = "报告类型(集合,独立)", required = false, allowableValues="range[1, 100]") + private String reportType; + + + @ApiModelProperty(name = "关联的测试计划报告ID(可以为空)", required = false, allowableValues="range[1, 50]") + private String relevanceTestPlanReportId; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReportBlob.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReportBlob.java new file mode 100644 index 0000000000..6ad3e306d7 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReportBlob.java @@ -0,0 +1,33 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "场景报告大字段") +@TableName("ui_scenario_report_blob") +@Data +public class UiScenarioReportBlob implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_scenario_report_blob.report_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "报告ID", required = true, allowableValues="range[1, 50]") + private String reportId; + + + @ApiModelProperty(name = "描述", required = false, allowableValues="range[1, ]") + private byte[] description; + + + @ApiModelProperty(name = "执行环境配置", required = false, allowableValues="range[1, ]") + private byte[] envConfig; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReportResult.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReportResult.java new file mode 100644 index 0000000000..c47aa00778 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReportResult.java @@ -0,0 +1,64 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "报告结果") +@TableName("ui_scenario_report_result") +@Data +public class UiScenarioReportResult implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_scenario_report_result.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues="range[1, 50]") + private String id; + + @Size(min = 1, max = 200, message = "{ui_scenario_report_result.resource_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_report_result.resource_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "请求资源 id", required = true, allowableValues="range[1, 200]") + private String resourceId; + + @Size(min = 1, max = 50, message = "{ui_scenario_report_result.report_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_report_result.report_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "报告 id", required = true, allowableValues="range[1, 50]") + private String reportId; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + @Size(min = 1, max = 100, message = "{ui_scenario_report_result.status.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_report_result.status.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "结果状态", required = true, allowableValues="range[1, 100]") + private String status; + + + @ApiModelProperty(name = "请求时间", required = true, dataType = "Long") + private Long requestTime; + + + @ApiModelProperty(name = "总断言数", required = false, dataType = "Long") + private Long totalAssertions; + + + @ApiModelProperty(name = "失败断言数", required = false, dataType = "Long") + private Long passAssertions; + + + @ApiModelProperty(name = "执行结果", required = true, allowableValues="range[1, ]") + private byte[] content; + + + @ApiModelProperty(name = "记录截图断言等结果", required = false, allowableValues="range[1, ]") + private byte[] baseInfo; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReportStructure.java b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReportStructure.java new file mode 100644 index 0000000000..1e26b559d7 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/ui/domain/UiScenarioReportStructure.java @@ -0,0 +1,42 @@ +package io.metersphere.ui.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "报告结构") +@TableName("ui_scenario_report_structure") +@Data +public class UiScenarioReportStructure implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{ui_scenario_report_structure.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues="range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{ui_scenario_report_structure.report_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{ui_scenario_report_structure.report_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "请求资源 id", required = true, allowableValues="range[1, 50]") + private String reportId; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "资源步骤结构树", required = true, allowableValues="range[1, ]") + private byte[] resourceTree; + + + @ApiModelProperty(name = "执行日志", required = true, allowableValues="range[1, ]") + private byte[] console; + + +} \ No newline at end of file diff --git a/backend/framework/sdk/src/main/resources/i18n/ui.properties b/backend/framework/sdk/src/main/resources/i18n/ui.properties index 87d88014b4..28df6c2c07 100644 --- a/backend/framework/sdk/src/main/resources/i18n/ui.properties +++ b/backend/framework/sdk/src/main/resources/i18n/ui.properties @@ -1,74 +1,151 @@ -test_case_exist= -before_delete_plan= -test_case_node_level_tip= -test_case_node_level= -test_case_module_not_null= -test_case_create_module_fail= -test_case_import_template_name= -test_case_import_template_sheet= -module_not_null= -user_not_exists= -test_case_already_exists= -parse_data_error= -missing_header_information= -number= -row= -error= -incorrect_format= -test_case_priority_validate= -test_case_method_validate= -test_case_name= -test_case_module= -test_case_type= -test_case_maintainer= -test_case_priority= -test_case_method= -test_case_prerequisite= -test_case_remark= -test_case_step_desc= -test_case_step_result= -test_case= -user= -user_import_template_name= -user_import_template_sheet= -user_import_format_wrong= -user_import_id_is_repeat= -user_import_email_is_repeat= -user_import_password_format_wrong= -user_import_phone_format_wrong= -user_import_email_format_wrong= -user_import_organization_not_fond= -user_import_workspace_not_fond= -org_admin= -org_member= -test_manager= -tester= -read_only_user= -module= -preconditions_optional= -remark_optional= -do_not_modify_header_order= -module_created_automatically= -options= -options_yes= -options_no= -required= -password_format_is_incorrect= -please_input_workspace_member= -test_case_report_template_repeat= -custom_field_already= -id_required= -id_repeat_in_table= -template_already= -expect_name_exists= -id_not_rightful= -mock_warning= -invalid_parameter= -workspace_template_settings_issue= -zentao_test_type_error= -issue_jira_info_error= -case_status_not_exist= -jira_auth_error= -# issue template copy -target_issue_template_not_checked= -source_issue_template_is_empty= +ui_scenario_report_result.id.not_blank= +ui_scenario_report_result.resource_id.length_range= +ui_scenario_report_result.resource_id.not_blank= +ui_scenario_report_result.report_id.length_range= +ui_scenario_report_result.report_id.not_blank= +ui_scenario_report_result.status.length_range= +ui_scenario_report_result.status.not_blank= +ui_custom_command_module.id.not_blank= +ui_custom_command_module.project_id.length_range= +ui_custom_command_module.project_id.not_blank= +ui_custom_command_module.name.length_range= +ui_custom_command_module.name.not_blank= +ui_custom_command_module.parent_id.length_range= +ui_custom_command_module.parent_id.not_blank= +ui_custom_command_module.pos.length_range= +ui_custom_command_module.pos.not_blank= +ui_custom_command_module.create_user.length_range= +ui_custom_command_module.create_user.not_blank= +ui_element_module.id.not_blank= +ui_element_module.project_id.length_range= +ui_element_module.project_id.not_blank= +ui_element_module.name.length_range= +ui_element_module.name.not_blank= +ui_element_module.parent_id.length_range= +ui_element_module.parent_id.not_blank= +ui_element_module.pos.length_range= +ui_element_module.pos.not_blank= +ui_element_module.create_user.length_range= +ui_element_module.create_user.not_blank= +ui_element.id.not_blank= +ui_element.module_id.length_range= +ui_element.module_id.not_blank= +ui_element.project_id.length_range= +ui_element.project_id.not_blank= +ui_element.name.length_range= +ui_element.name.not_blank= +ui_element.location_type.length_range= +ui_element.location_type.not_blank= +ui_element.location.length_range= +ui_element.location.not_blank= +ui_element.create_user.length_range= +ui_element.create_user.not_blank= +ui_element.update_user.length_range= +ui_element.update_user.not_blank= +ui_element.version_id.length_range= +ui_element.version_id.not_blank= +ui_element.ref_id.length_range= +ui_element.ref_id.not_blank= +ui_element.latest.length_range= +ui_element.latest.not_blank= +ui_element_reference.id.not_blank= +ui_element_reference.element_id.length_range= +ui_element_reference.element_id.not_blank= +ui_element_reference.element_module_id.length_range= +ui_element_reference.element_module_id.not_blank= +ui_element_reference.scenario_id.length_range= +ui_element_reference.scenario_id.not_blank= +ui_element_reference.project_id.length_range= +ui_element_reference.project_id.not_blank= +ui_scenario_report.id.not_blank= +ui_scenario_report.project_id.length_range= +ui_scenario_report.project_id.not_blank= +ui_scenario_report.name.length_range= +ui_scenario_report.name.not_blank= +ui_scenario_report.status.length_range= +ui_scenario_report.status.not_blank= +ui_scenario_report.trigger_mode.length_range= +ui_scenario_report.trigger_mode.not_blank= +ui_scenario_report.create_user.length_range= +ui_scenario_report.create_user.not_blank= +ui_scenario_report_blob.report_id.not_blank= +ui_scenario.id.not_blank= +ui_scenario.project_id.length_range= +ui_scenario.project_id.not_blank= +ui_scenario.module_id.length_range= +ui_scenario.module_id.not_blank= +ui_scenario.module_path.length_range= +ui_scenario.module_path.not_blank= +ui_scenario.name.length_range= +ui_scenario.name.not_blank= +ui_scenario.level.length_range= +ui_scenario.level.not_blank= +ui_scenario.status.length_range= +ui_scenario.status.not_blank= +ui_scenario.principal.length_range= +ui_scenario.principal.not_blank= +ui_scenario.deleted.length_range= +ui_scenario.deleted.not_blank= +ui_scenario.create_user.length_range= +ui_scenario.create_user.not_blank= +ui_scenario.version_id.length_range= +ui_scenario.version_id.not_blank= +ui_scenario.ref_id.length_range= +ui_scenario.ref_id.not_blank= +ui_scenario.latest.length_range= +ui_scenario.latest.not_blank= +ui_custom_command.id.not_blank= +ui_custom_command.project_id.length_range= +ui_custom_command.project_id.not_blank= +ui_custom_command.module_id.length_range= +ui_custom_command.module_id.not_blank= +ui_custom_command.module_path.length_range= +ui_custom_command.module_path.not_blank= +ui_custom_command.name.length_range= +ui_custom_command.name.not_blank= +ui_custom_command.level.length_range= +ui_custom_command.level.not_blank= +ui_custom_command.status.length_range= +ui_custom_command.status.not_blank= +ui_custom_command.principal.length_range= +ui_custom_command.principal.not_blank= +ui_custom_command.deleted.length_range= +ui_custom_command.deleted.not_blank= +ui_custom_command.create_user.length_range= +ui_custom_command.create_user.not_blank= +ui_custom_command.version_id.length_range= +ui_custom_command.version_id.not_blank= +ui_custom_command.ref_id.length_range= +ui_custom_command.ref_id.not_blank= +ui_custom_command.latest.length_range= +ui_custom_command.latest.not_blank= +ui_scenario_execution_info.id.not_blank= +ui_scenario_execution_info.source_id.length_range= +ui_scenario_execution_info.source_id.not_blank= +ui_scenario_execution_info.result.length_range= +ui_scenario_execution_info.result.not_blank= +ui_scenario_module.id.not_blank= +ui_scenario_module.project_id.length_range= +ui_scenario_module.project_id.not_blank= +ui_scenario_module.name.length_range= +ui_scenario_module.name.not_blank= +ui_scenario_module.parent_id.length_range= +ui_scenario_module.parent_id.not_blank= +ui_scenario_module.pos.length_range= +ui_scenario_module.pos.not_blank= +ui_scenario_module.create_user.length_range= +ui_scenario_module.create_user.not_blank= +ui_scenario_reference.id.not_blank= +ui_scenario_reference.ui_scenario_id.length_range= +ui_scenario_reference.ui_scenario_id.not_blank= +ui_scenario_reference.create_user.length_range= +ui_scenario_reference.create_user.not_blank= +ui_scenario_reference.reference_id.length_range= +ui_scenario_reference.reference_id.not_blank= +ui_scenario_reference.data_type.length_range= +ui_scenario_reference.data_type.not_blank= +ui_custom_command_blob.scenario_id.not_blank= +ui_scenario_report_structure.id.not_blank= +ui_scenario_report_structure.report_id.length_range= +ui_scenario_report_structure.report_id.not_blank= +ui_scenario_blob.scenario_id.not_blank= diff --git a/backend/framework/sdk/src/main/resources/i18n/ui_en_US.properties b/backend/framework/sdk/src/main/resources/i18n/ui_en_US.properties index f07b1c41cc..a8bf87328a 100644 --- a/backend/framework/sdk/src/main/resources/i18n/ui_en_US.properties +++ b/backend/framework/sdk/src/main/resources/i18n/ui_en_US.properties @@ -1,382 +1,151 @@ -#commons -error_lang_invalid=Invalid language parameter -file_cannot_be_null=File cannot be empty! -cannot_be_null=\tCannot be empty -number=Number -row=row -error=error -connection_failed=Connection failed -connection_timeout=Connection timeout -delete_fail=Delete fail -start_engine_fail=Start fail -upload_fail=Upload fail -invalid_parameter=Invalid parameter! -name_already_exists=Name already exists -resource_not_exist=The resource does not exist or has been deleted -upload_file_fail_get_file_path_fail=Failed to upload the file, failed to get the file path -#user related -user_email_already_exists=User email already exists -user_id_is_null=User ID cannot be null -user_name_is_null=User name cannot be null -user_email_is_null=User email cannot be null -password_is_null=Password cannot be null -user_id_already_exists=User ID already exists -password_modification_failed=The old password is wrong. Please re-enter it -cannot_delete_current_user=Cannot delete the user currently logged in -user_already_exists=The user already exists in the current member list -cannot_remove_current=Unable to remove the currently logged in user -password_is_incorrect=Incorrect password or username -user_not_exist=user does not exist: -user_has_been_disabled=the user has been disabled. -excessive_attempts=Excessive attempts -user_locked=the user has been locked. -user_expires=user expires. -not_authorized=not authorized. -login_fail=Login fail -user_apikey_limit=Can have up to 5 api keys -please_logout_current_user=Please logout current user first -#load test -edit_load_test_not_found=Cannot edit test, test not found= -run_load_test_not_found=Cannot run test, test not found= -run_load_test_file_not_found=Unable to run test, unable to get test file meta information, test ID= -run_load_test_file_content_not_found=Cannot run test, cannot get test file content, test ID= -run_load_test_file_init_error=Failed to run the test, please go to [Settings-System-System Parameter Setting] to check the current site configuration. For details, see https://metersphere.io/docs/faq/load_ test/#url -load_test_is_running=Load test is running, please wait. -load_test_kafka_invalid=Kafka is not available, please check the configuration -cannot_edit_load_test_running=Cannot modify the running test -test_not_found=Test cannot be found: -test_not_running=Test is not running -load_test_already_exists=Duplicate load test name -load_test_name_length=The length of the test name exceeds the limit -no_nodes_message=No node message -duplicate_node_ip=Duplicate IPs -duplicate_node_port=Duplicate Ports -duplicate_node_ip_port=Duplicate IPs & Ports -max_thread_insufficient=The number of concurrent users exceeds -related_case_del_fail_prefix=Connected to -related_case_del_fail_suffix=TestCase, please disassociate first -jmx_content_valid=JMX content is invalid -container_delete_fail=The container failed to stop, please try again -load_test_report_file_not_exist=There is no JTL file in the current report, please wait or execute it again to get it -#workspace -workspace_name_is_null=Workspace name cannot be null -workspace_name_already_exists=The workspace name already exists -workspace_does_not_belong_to_user=The current workspace does not belong to the current user -workspace_not_exists=Workspace is not exists -#test resource pool -test_resource_pool_id_is_null=Test Resource Pool ID cannot be null -test_resource_pool_name_is_null=Test Resource Pool name cannot be null -test_resource_pool_name_already_exists=The test resource pool name already exists -load_test=Load Test -test_resource_pool_is_use=This resource pool is in use and cannot be deleted -only_one_k8s=Only one K8S can be added -test_resource_pool_not_exists=Test resource pool not exists -test_resource_pool_invalid=Test resource pool invalid -#project -project_name_is_null=Project name cannot be null -project_name_already_exists=The project name already exists -project_file_already_exists=The file already exists -project_file_in_use=use this file and cannot be deleted. -#organization -organization_name_is_null=organization name cannot be null -organization_name_already_exists=The organization name already exists -organization_does_not_belong_to_user=The current organization does not belong to the current user -organization_id_is_null=Organization ID cannot be null -#api -api_load_script_error=Load script error -illegal_xml_format=illegal XML format -api_report_is_null="Report is null, can't update" -api_test_environment_already_exists="Api test environment already exists" -api_test=API Test -#test case -test_case_node_level=level -test_case_node_level_tip=The node tree maximum depth is -test_case_module_not_null=The owned module cannot be empty -test_case_create_module_fail=Failed to create module -test_case_import_template_name=Test_case_templates -test_case_import_template_sheet=Template -module_not_null=The module must not be blank -user_not_exists=The user in this project is not exists -test_case_already_exists=The test case in this project is exists -parse_data_error=Parse data error -missing_header_information=Missing header information -test_case_exist=A test case already exists under this project: -node_deep_limit=The node depth does not exceed 8 layers! -before_delete_plan=There is an associated test case under this plan, please unlink it first! -incorrect_format=\tincorrect format -test_case_step_model_validate=\tmust be TEXT, STEP -test_case_priority_validate=\tmust be P0, P1, P2, P3 -test_case_method_validate=\tmust be manual, auto -test_case_name=Name -test_case_type=Type -test_case_maintainer=Maintainer -test_case_priority=Priority -test_case_method=method -test_case_prerequisite=Prerequisite -test_case_remark=Remark -test_case_step_desc=Step description -test_case_step_result=Step result -test_case_module=Module -test_case=Case -user=User -user_import_template_name=User import templates -user_import_template_sheet=templates -user_import_format_wrong=input error -user_import_id_is_repeat=Id repeat -user_import_email_is_repeat=E-mail repeat -user_import_password_format_wrong=Wrong password format -user_import_phone_format_wrong=Wrong phone format -user_import_email_format_wrong=Wrong email format -user_import_organization_not_fond=Organization is not found -user_import_workspace_not_fond=Workspace is not found -org_admin=Organization manager -org_member=Organization member -test_manager=Test manager -tester=Tester -read_only_user=Read-only user -module=Module -num_needed_modify_testcase=ID is needed when modifying testcase -num_needless_create_testcase=ID is needless when creating testcase -tag_tip_pattern=Labels should be separated by semicolons or commas -preconditions_optional=Preconditions optional -remark_optional=Remark optional -do_not_modify_header_order=Do not modify the header order -module_created_automatically=If there is no such module, will be created automatically -options=options -options_yes=Yes -options_no=No -required=Required -password_format_is_incorrect=Valid password: 8-30 digits, English upper and lower case letters + numbers + special characters (optional) -please_input_project_member=Please input project merber's number -test_case_report_template_repeat=The workspace has the same name template -plan_name_already_exists=Test plan name already exists -test_case_already_exists_excel=There are duplicate test cases in the import file -test_case_module_already_exists=The module name already exists at the same level -api_test_name_already_exists=Test name already exists -functional_method_tip=Functional test not support auto method -custom_num_is_exist=Use case custom ID already exists -custom_num_is_not_exist=Use case custom ID not exists -id_required=ID required -id_repeat_in_table=ID is repeat in table -step_model_tip=Step description fill in STEP, text description please fill in TEXT (not required) -case_status_not_exist=The use case status must be Prepare, Underway way and Completed -issue_project_not_exist=ID does not exist or other errors -tapd_project_not_exist=The associated TAPD item ID does not exist -zentao_get_project_builds_fail=Get Affecting Version Errors -zentao_project_id_not_exist=The associated Zen Tao ID does not exist or other errors -#ldap -ldap_url_is_null=LDAP address is empty -ldap_dn_is_null=LDAP binding DN is empty -ldap_ou_is_null=LDAP parameter OU is empty -ldap_password_is_null=LDAP password is empty -ldap_connect_fail=Connection LDAP failed -ldap_connect_fail_user=Connection LDAP failed, wrong DN or password bound -ldap_user_filter_is_null=LDAP user filter is empty -ldap_user_mapping_is_null=LDAP user mapping is empty -authentication_failed=User authentication failed,wrong user name or password -user_not_found_or_not_unique=User does not exist or is not unique -find_more_user=Multiple users found -ldap_authentication_not_enabled=LDAP authentication is not enabled -login_fail_email_null=Login failed, user mailbox is empty -login_fail_ou_error=Login failed, please check the user OU -login_fail_filter_error=Login failed, please check the user filter -check_ldap_mapping=Check LDAP attribute mapping -ldap_mapping_value_null=LDAP user attribute mapping field is empty -oauth_mapping_config_error=OAuth2 attribute mapping misconfiguration -oauth_mapping_value_null=OAuth2 user attribute mapping field is empty -#quota -quota_project_excess_ws_api=The total number of interface tests for a project cannot exceed the workspace quota -quota_project_excess_ws_performance=The total number of performance tests for a project cannot exceed the workspace quota -quota_project_excess_ws_max_threads=The maximum concurrent number of projects cannot exceed the quota of the workspace -quota_project_excess_ws_max_duration=The stress test duration of the project cannot exceed the workspace quota -quota_project_excess_ws_resource_pool=The resource pool of the project cannot exceed the scope of the resource pool of the workspace -quota_project_excess_ws_vum_total=The sum of the total number of vums of the project cannot exceed the workspace quota -quota_vum_used_gt_vum_total=The total number of vum cannot be less than the number of consumed vum -quota_api_excess_workspace=The number of interface tests exceeds the workspace quota -quota_api_excess_project=The number of interface tests exceeds the project limit -quota_performance_excess_workspace=The number of performance tests exceeds the workspace quota -quota_performance_excess_project=The number of performance tests exceeds the project limit -quota_max_threads_excess_workspace=The maximum number of concurrent threads exceeds the workspace quota -quota_max_threads_excess_project=The maximum concurrent number exceeds the project limit -quota_duration_excess_workspace=The stress test duration exceeds the work space quota -quota_duration_excess_project=The stress test time exceeds the project limit -quota_member_excess_workspace=The number of members exceeds the workspace quota -quota_member_excess_project=The number of members exceeds the project quota -quota_project_excess_project=Number of projects exceeds workspace quota -quota_vum_used_excess_workspace=The amount of vum consumed exceeds the workspace quota -quota_vum_used_excess_project=The amount of vum consumed exceeds the project quota -import_xmind_count_error=The number of use cases imported into the mind map cannot exceed 800 -import_xmind_not_found=Test case not found -license_valid_license_error=Authorization authentication failed -test_review_task_notice=Test review task notice -swagger_url_scheduled_import_notification=SwaggerUrl Scheduled import notification -test_track.length_less_than=The title is too long, the length must be less than -# check owner -check_owner_project=The current user does not have permission to operate this project -check_owner_test=The current user does not have permission to operate this test -check_owner_case=The current user does not have permission to operate this use case -check_owner_plan=The current user does not have permission to operate this plan -check_owner_review=The current user does not have permission to operate this review -check_owner_comment=The current user does not have permission to manipulate this comment -check_owner_workspace=The current user does not have permission to operate this workspace -upload_content_is_null=Imported content is empty -test_plan_notification=Test plan notification -task_defect_notification=Task defect notification -task_notification_=Timing task result notification -api_definition_url_not_repeating=The interface request address already exists -api_definition_name_not_repeating=The same name-url combination already exists -task_notification_jenkins=Jenkins Task notification -task_notification=Result notification -message_task_already_exists=Task recipient already exists -#automation -automation_name_already_exists=the scenario already exists in the module of the same project -automation_exec_info=There are no test steps to execute -delete_check_reference_by=be referenced by Scenario -not_execute=Not execute -execute_not_pass=Not pass -execute_pass=Pass -import_fail_custom_num_exists=import fail, custom num is exists -#authsource -authsource_name_already_exists=Authentication source name already exists -authsource_name_is_null=Authentication source name cannot be empty -authsource_configuration_is_null=Authentication source configuration cannot be empty -mobile_phone_number_cannot_be_empty=When the receiving mode is pin and enterprise wechat: the user's mobile phone number cannot be empty -custom_field_already=A feild already exists under this workspace: -template_already=A template already exists under this workspace: -expect_name_exists=Expect name is exists -ssl_password_error=The authentication password is wrong, please re-enter the password -ssl_file_error=Failed to load the certification file, please check the certification file -#log -api_definition=Api definition -api_definition_case=Api definition case -api_automation_schedule=Api automation schedule -api_automation=Api automation -api_automation_report=Test Report -track_test_case=Test case -track_test_case_review=Case review -track_test_plan=Test plan -track_test_plan_schedule=Test plan schedule -track_bug=Defect management -track_report=Report -performance_test=Performance test -performance_test_report=Performance test report -system_user=System user -system_organization=System organization -system_workspace=workspace -system_test_resource=System test resource -system_parameter_setting=System parameter setting -system_quota_management=System Quota management -system_authorization_management=System authorization management -organization_member=Organization member -organization_workspace=Organization workspace -project_project_member=Project member -workspace_service_integration=Workspace service integration -workspace_message_settings=Workspace message settings -workspace_member=Workspace member -workspace_template_settings_field=Workspace template settings field -workspace_template_settings_case=Workspace template settings case -workspace_template_settings_issue=Workspace template settings issue -project_project_manager=Project project manager -project_project_jar=Project project jar -project_environment_setting=Project environment setting -project_file_management=Project file management -personal_information_personal_settings=Personal information personal settings -personal_information_apikeys=Personal information API Keys -auth_title=Auth -group_permission=Group -test_case_status_prepare=Prepare -test_case_status_again=Again -test_case_status_running=Running -test_case_status_finished=Finished -test_case_status_error=Error -test_case_status_success=Success -test_case_status_trash=Trash -test_case_status_saved=Saved -connection_expired=The connection has expired, please get it again -# track home -api_case=Api -performance_case=Performance -scenario_case=Scenario -scenario_name_is_null=Scenario name cannot be empty -create_user=Create user -test_case_status=Case status -id_not_rightful=ID is not rightful -project_reference_multiple_plateform=Projects point to multiple third-party platforms -# mock -mock_warning=No matching Mock expectation was found -zentao_test_type_error=invalid Zentao request -#项目报告 -enterprise_test_report=Enterprise report -count=Count -cannot_find_project=Cannot find project -project_repeatable_is_false=Url repeatable not open -#环境组 -null_environment_group_name=Environment group name is null -environment_group_name=Environment group name -environment_group_exist=already exists -environment_group_has_duplicate_project=Environment group has duplicate project -#误报库 -error_report_library=Error report -issue_jira_info_error=Check the service integration information or Jira project ID -error_code_is_unique=Error code is not unique -no_version_exists=version not exists -jira_auth_error=Account name or password (Token) is wrong -jira_auth_url_error=The test connection failed, please check whether the Jira address is correct -#ui 指令校驗 -param_error=Param Error -is_null=can't be null -url_is_null=URL can't be null -frame_index_is_null=frame index can't be null -element_is_null=element can't be null -locator_is_null=locator can't be null -coord=coord -input_content=input -subitem_type=subitem type -subitem=subitem -varname=variable -varname_or_value=variable or value -attributeName=attribute name -webtitle_varname=title varname -webhandle_varname=handle varname -cant_be_negative=can't be negative -expression=expression -times=times -command=command -extract_type=extract type -cmdValidation=validation -cmdValidateValue=validate value -cmdValidateText=validate text -cmdValidateDropdown=validate dropdown -cmdValidateElement=validate element -cmdValidateTitle=validate title -cmdOpen=open -cmdSelectWindow=select window -cmdSetWindowSize=set window size -cmdSelectFrame=select frame -cmdDialog=dialog operation -cmdDropdownBox=dropdown -submit=submit -cmdSetItem=set item -cmdWaitElement=wait element -cmdInput=input -cmdMouseClick=click -cmdMouseMove=mouse move -cmdMouseDrag=mouse drag -cmdTimes=times -cmdForEach=ForEach -cmdWhile=While -cmdIf=If -cmdElse=Else -cmdElseIf=ElseIf -close=close -cmdExtraction=extracion -cmdExtractWindow=window extraction -cmdExtractElement=element extraction -tcp_mock_not_unique=This tcp port is be used -no_tcp_mock_port=No idle tcp port, please contact administrators. -name_already_exists_in_module=Name already exists in same module -repository_module_already_exists=The repository name already exists at the same project -can_not_move_to_repository_node=Can not move to repository node -# issue template copy -target_issue_template_not_checked=Cannot copy, target project not checked -source_issue_template_is_empty=Copy error, source project is empty \ No newline at end of file +ui_scenario_report_result.id.not_blank=UI Scenario Report Result ID is required +ui_scenario_report_result.resource_id.length_range=UI Scenario Report Result Resource ID length must be between {min} and {max} +ui_scenario_report_result.resource_id.not_blank=UI Scenario Report Result Resource ID is required +ui_scenario_report_result.report_id.length_range=UI Scenario Report Result Report ID length must be between {min} and {max} +ui_scenario_report_result.report_id.not_blank=UI Scenario Report Result Report ID is required +ui_scenario_report_result.status.length_range=UI Scenario Report Result Status length must be between {min} and {max} +ui_scenario_report_result.status.not_blank=UI Scenario Report Result Status is required +ui_custom_command_module.id.not_blank=UI Custom Command Module ID is required +ui_custom_command_module.project_id.length_range=UI Custom Command Module Project ID length must be between {min} and {max} +ui_custom_command_module.project_id.not_blank=UI Custom Command Module Project ID is required +ui_custom_command_module.name.length_range=UI Custom Command Module Name length must be between {min} and {max} +ui_custom_command_module.name.not_blank=UI Custom Command Module Name is required +ui_custom_command_module.parent_id.length_range=UI Custom Command Module Parent ID length must be between {min} and {max} +ui_custom_command_module.parent_id.not_blank=UI Custom Command Module Parent ID is required +ui_custom_command_module.pos.length_range=UI Custom Command Module Pos length must be between {min} and {max} +ui_custom_command_module.pos.not_blank=UI Custom Command Module Pos is required +ui_custom_command_module.create_user.length_range=UI Custom Command Module Create User length must be between {min} and {max} +ui_custom_command_module.create_user.not_blank=UI Custom Command Module Create User is required +ui_element_module.id.not_blank=UI Element Module ID is required +ui_element_module.project_id.length_range=UI Element Module Project ID length must be between {min} and {max} +ui_element_module.project_id.not_blank=UI Element Module Project ID is required +ui_element_module.name.length_range=UI Element Module Name length must be between {min} and {max} +ui_element_module.name.not_blank=UI Element Module Name is required +ui_element_module.parent_id.length_range=UI Element Module Parent ID length must be between {min} and {max} +ui_element_module.parent_id.not_blank=UI Element Module Parent ID is required +ui_element_module.pos.length_range=UI Element Module Pos length must be between {min} and {max} +ui_element_module.pos.not_blank=UI Element Module Pos is required +ui_element_module.create_user.length_range=UI Element Module Create User length must be between {min} and {max} +ui_element_module.create_user.not_blank=UI Element Module Create User is required +ui_element.id.not_blank=UI Element ID is required +ui_element.module_id.length_range=UI Element Module ID length must be between {min} and {max} +ui_element.module_id.not_blank=UI Element Module ID is required +ui_element.project_id.length_range=UI Element Project ID length must be between {min} and {max} +ui_element.project_id.not_blank=UI Element Project ID is required +ui_element.name.length_range=UI Element Name length must be between {min} and {max} +ui_element.name.not_blank=UI Element Name is required +ui_element.location_type.length_range=UI Element Location Type length must be between {min} and {max} +ui_element.location_type.not_blank=UI Element Location Type is required +ui_element.location.length_range=UI Element Location length must be between {min} and {max} +ui_element.location.not_blank=UI Element Location is required +ui_element.create_user.length_range=UI Element Create User length must be between {min} and {max} +ui_element.create_user.not_blank=UI Element Create User is required +ui_element.update_user.length_range=UI Element Update User length must be between {min} and {max} +ui_element.update_user.not_blank=UI Element Update User is required +ui_element.version_id.length_range=UI Element Version ID length must be between {min} and {max} +ui_element.version_id.not_blank=UI Element Version ID is required +ui_element.ref_id.length_range=UI Element Ref ID length must be between {min} and {max} +ui_element.ref_id.not_blank=UI Element Ref ID is required +ui_element.latest.length_range=UI Element Latest length must be between {min} and {max} +ui_element.latest.not_blank=UI Element Latest is required +ui_element_reference.id.not_blank=UI Element Reference ID is required +ui_element_reference.element_id.length_range=UI Element Reference Element ID length must be between {min} and {max} +ui_element_reference.element_id.not_blank=UI Element Reference Element ID is required +ui_element_reference.element_module_id.length_range=UI Element Reference Element Module ID length must be between {min} and {max} +ui_element_reference.element_module_id.not_blank=UI Element Reference Element Module ID is required +ui_element_reference.scenario_id.length_range=UI Element Reference Scenario ID length must be between {min} and {max} +ui_element_reference.scenario_id.not_blank=UI Element Reference Scenario ID is required +ui_element_reference.project_id.length_range=UI Element Reference Project ID length must be between {min} and {max} +ui_element_reference.project_id.not_blank=UI Element Reference Project ID is required +ui_scenario_report.id.not_blank=UI Scenario Report ID is required +ui_scenario_report.project_id.length_range=UI Scenario Report Project ID length must be between {min} and {max} +ui_scenario_report.project_id.not_blank=UI Scenario Report Project ID is required +ui_scenario_report.name.length_range=UI Scenario Report Name length must be between {min} and {max} +ui_scenario_report.name.not_blank=UI Scenario Report Name is required +ui_scenario_report.status.length_range=UI Scenario Report Status length must be between {min} and {max} +ui_scenario_report.status.not_blank=UI Scenario Report Status is required +ui_scenario_report.trigger_mode.length_range=UI Scenario Report Trigger Mode length must be between {min} and {max} +ui_scenario_report.trigger_mode.not_blank=UI Scenario Report Trigger Mode is required +ui_scenario_report.create_user.length_range=UI Scenario Report Create User length must be between {min} and {max} +ui_scenario_report.create_user.not_blank=UI Scenario Report Create User is required +ui_scenario_report_blob.report_id.not_blank=UI Scenario Report Blob Report ID is required +ui_scenario.id.not_blank=UI Scenario ID is required +ui_scenario.project_id.length_range=UI Scenario Project ID length must be between {min} and {max} +ui_scenario.project_id.not_blank=UI Scenario Project ID is required +ui_scenario.module_id.length_range=UI Scenario Module ID length must be between {min} and {max} +ui_scenario.module_id.not_blank=UI Scenario Module ID is required +ui_scenario.module_path.length_range=UI Scenario Module Path length must be between {min} and {max} +ui_scenario.module_path.not_blank=UI Scenario Module Path is required +ui_scenario.name.length_range=UI Scenario Name length must be between {min} and {max} +ui_scenario.name.not_blank=UI Scenario Name is required +ui_scenario.level.length_range=UI Scenario Level length must be between {min} and {max} +ui_scenario.level.not_blank=UI Scenario Level is required +ui_scenario.status.length_range=UI Scenario Status length must be between {min} and {max} +ui_scenario.status.not_blank=UI Scenario Status is required +ui_scenario.principal.length_range=UI Scenario Principal length must be between {min} and {max} +ui_scenario.principal.not_blank=UI Scenario Principal is required +ui_scenario.deleted.length_range=UI Scenario Deleted length must be between {min} and {max} +ui_scenario.deleted.not_blank=UI Scenario Deleted is required +ui_scenario.create_user.length_range=UI Scenario Create User length must be between {min} and {max} +ui_scenario.create_user.not_blank=UI Scenario Create User is required +ui_scenario.version_id.length_range=UI Scenario Version ID length must be between {min} and {max} +ui_scenario.version_id.not_blank=UI Scenario Version ID is required +ui_scenario.ref_id.length_range=UI Scenario Ref ID length must be between {min} and {max} +ui_scenario.ref_id.not_blank=UI Scenario Ref ID is required +ui_scenario.latest.length_range=UI Scenario Latest length must be between {min} and {max} +ui_scenario.latest.not_blank=UI Scenario Latest is required +ui_custom_command.id.not_blank=UI Custom Command ID is required +ui_custom_command.project_id.length_range=UI Custom Command Project ID length must be between {min} and {max} +ui_custom_command.project_id.not_blank=UI Custom Command Project ID is required +ui_custom_command.module_id.length_range=UI Custom Command Module ID length must be between {min} and {max} +ui_custom_command.module_id.not_blank=UI Custom Command Module ID is required +ui_custom_command.module_path.length_range=UI Custom Command Module Path length must be between {min} and {max} +ui_custom_command.module_path.not_blank=UI Custom Command Module Path is required +ui_custom_command.name.length_range=UI Custom Command Name length must be between {min} and {max} +ui_custom_command.name.not_blank=UI Custom Command Name is required +ui_custom_command.level.length_range=UI Custom Command Level length must be between {min} and {max} +ui_custom_command.level.not_blank=UI Custom Command Level is required +ui_custom_command.status.length_range=UI Custom Command Status length must be between {min} and {max} +ui_custom_command.status.not_blank=UI Custom Command Status is required +ui_custom_command.principal.length_range=UI Custom Command Principal length must be between {min} and {max} +ui_custom_command.principal.not_blank=UI Custom Command Principal is required +ui_custom_command.deleted.length_range=UI Custom Command Deleted length must be between {min} and {max} +ui_custom_command.deleted.not_blank=UI Custom Command Deleted is required +ui_custom_command.create_user.length_range=UI Custom Command Create User length must be between {min} and {max} +ui_custom_command.create_user.not_blank=UI Custom Command Create User is required +ui_custom_command.version_id.length_range=UI Custom Command Version ID length must be between {min} and {max} +ui_custom_command.version_id.not_blank=UI Custom Command Version ID is required +ui_custom_command.ref_id.length_range=UI Custom Command Ref ID length must be between {min} and {max} +ui_custom_command.ref_id.not_blank=UI Custom Command Ref ID is required +ui_custom_command.latest.length_range=UI Custom Command Latest length must be between {min} and {max} +ui_custom_command.latest.not_blank=UI Custom Command Latest is required +ui_scenario_execution_info.id.not_blank=UI Scenario Execution Info ID is required +ui_scenario_execution_info.source_id.length_range=UI Scenario Execution Info Source ID length must be between {min} and {max} +ui_scenario_execution_info.source_id.not_blank=UI Scenario Execution Info Source ID is required +ui_scenario_execution_info.result.length_range=UI Scenario Execution Info Result length must be between {min} and {max} +ui_scenario_execution_info.result.not_blank=UI Scenario Execution Info Result is required +ui_scenario_module.id.not_blank=UI Scenario Module ID is required +ui_scenario_module.project_id.length_range=UI Scenario Module Project ID length must be between {min} and {max} +ui_scenario_module.project_id.not_blank=UI Scenario Module Project ID is required +ui_scenario_module.name.length_range=UI Scenario Module Name length must be between {min} and {max} +ui_scenario_module.name.not_blank=UI Scenario Module Name is required +ui_scenario_module.parent_id.length_range=UI Scenario Module Parent ID length must be between {min} and {max} +ui_scenario_module.parent_id.not_blank=UI Scenario Module Parent ID is required +ui_scenario_module.pos.length_range=UI Scenario Module Pos length must be between {min} and {max} +ui_scenario_module.pos.not_blank=UI Scenario Module Pos is required +ui_scenario_module.create_user.length_range=UI Scenario Module Create User length must be between {min} and {max} +ui_scenario_module.create_user.not_blank=UI Scenario Module Create User is required +ui_scenario_reference.id.not_blank=UI Scenario Reference ID is required +ui_scenario_reference.ui_scenario_id.length_range=UI Scenario Reference UI Scenario ID length must be between {min} and {max} +ui_scenario_reference.ui_scenario_id.not_blank=UI Scenario Reference UI Scenario ID is required +ui_scenario_reference.create_user.length_range=UI Scenario Create User length must be between {min} and {max} +ui_scenario_reference.create_user.not_blank=UI Scenario Create User is required +ui_scenario_reference.reference_id.length_range=UI Scenario Reference ID length must be between {min} and {max} +ui_scenario_reference.reference_id.not_blank=UI Scenario Reference ID is required +ui_scenario_reference.data_type.length_range=UI Scenario Reference Data Type length must be between {min} and {max} +ui_scenario_reference.data_type.not_blank=UI Scenario Reference Data Type is required +ui_custom_command_blob.scenario_id.not_blank=UI Custom Command Blob Scenario ID is required +ui_scenario_report_structure.id.not_blank=UI Scenario Report Structure ID is required +ui_scenario_report_structure.report_id.length_range=UI Scenario Report Structure Report ID length must be between {min} and {max} +ui_scenario_report_structure.report_id.not_blank=UI Scenario Report Structure Report ID is required +ui_scenario_blob.scenario_id.not_blank=UI Scenario Blob Scenario ID is required diff --git a/backend/framework/sdk/src/main/resources/i18n/ui_zh_CN.properties b/backend/framework/sdk/src/main/resources/i18n/ui_zh_CN.properties index 9bf0e7818d..4fcb27384b 100644 --- a/backend/framework/sdk/src/main/resources/i18n/ui_zh_CN.properties +++ b/backend/framework/sdk/src/main/resources/i18n/ui_zh_CN.properties @@ -1,379 +1,151 @@ -#commons -error_lang_invalid=语言参数错误 -file_cannot_be_null=文件不能为空! -cannot_be_null=不能为空 -number=第 -row=行 -error=出错 -delete_fail=删除失败 -start_engine_fail=启动失败 -upload_fail=文件上传失败 -invalid_parameter=非法的参数 -name_already_exists=该名称已经存在 -resource_not_exist=资源不存在或已删除 -upload_file_fail_get_file_path_fail=文件上传失败,获取文件上传路径为空 -#user related -user_email_already_exists=用户邮箱已存在 -user_id_is_null=用户ID不能为空 -user_name_is_null=用户名不能为空 -user_email_is_null=用户邮箱不能为空 -password_is_null=密码不能为空 -user_id_already_exists=用户id已存在 -password_modification_failed=旧密码输入错误,请重新输入 -cannot_delete_current_user=无法删除当前登录用户 -connection_failed=连接失败 -connection_timeout=连接超时 -user_already_exists=该用户已存在于当前成员列表中 -cannot_remove_current=无法移除当前登录用户 -login_fail=登录失败 -password_is_incorrect=用户名或密码不正确 -user_not_exist=用户不存在: -user_has_been_disabled=用户已被禁用 -excessive_attempts=操作频繁 -user_locked=用户被锁定 -user_expires=用户过期 -not_authorized=未经授权 -user_apikey_limit=最多能有5个Api key -please_logout_current_user=请先登出当前用户 -#load test -edit_load_test_not_found=无法编辑测试,未找到测试: -run_load_test_not_found=无法运行测试,未找到测试: -run_load_test_file_not_found=无法运行测试,无法获取测试文件元信息,测试ID: -run_load_test_file_content_not_found=无法运行测试,无法获取测试文件内容,测试ID: -run_load_test_file_init_error=无法运行测试,请前往 [系统设置-系统-系统参数设置] 检查当前站点配置,详情见 https://metersphere.io/docs/v2.x/faq/load_test/#url -load_test_is_running=测试正在运行, 请等待 -load_test_kafka_invalid=Kafka 不可用,请检查配置 -cannot_edit_load_test_running=不能修改正在运行的测试 -test_not_found=测试不存在: -test_not_running=测试未运行 -load_test_already_exists=测试名称不能重复 -load_test_name_length=测试名称长度超过限制 -no_nodes_message=没有节点信息 -duplicate_node_ip=节点 IP 重复 -duplicate_node_port=节点 Port 重复 -duplicate_node_ip_port=节点 IP、Port 重复 -max_thread_insufficient=并发用户数超额 -related_case_del_fail_prefix=已关联到 -related_case_del_fail_suffix=测试用例,请先解除关联 -jmx_content_valid=JMX 内容无效,请检查 -container_delete_fail=容器由于网络原因停止失败,请重试 -load_test_report_file_not_exist=当前报告没有JTL文件,请等待或重新执行以便获取 -#workspace -workspace_name_is_null=工作空间名不能为空 -workspace_name_already_exists=工作空间名已存在 -workspace_does_not_belong_to_user=当前工作空间不属于当前用户 -workspace_not_exists=工作空间不存在 -#test resource pool -test_resource_pool_id_is_null=资源池ID不能为空 -test_resource_pool_name_is_null=资源池名称不能为空 -test_resource_pool_name_already_exists=资源池名称已存在 -load_test=性能测试 -test_resource_pool_is_use=正在使用此资源池,无法删除 -only_one_k8s=只能添加一个 K8S -test_resource_pool_not_exists=测试资源池不存在 -test_resource_pool_invalid=当前测试使用的资源池处于禁用状态 -#project -project_name_is_null=项目名称不能为空 -project_name_already_exists=项目名称已存在 -project_file_already_exists=项目下该文件已经存在 -project_file_in_use=占用文件,无法删除。 -#organization -organization_name_is_null=组织名不能为空 -organization_name_already_exists=组织名已存在 -organization_does_not_belong_to_user=当前组织不属于当前用户 -organization_id_is_null=组织 ID 不能为空 -#api -api_load_script_error=读取脚本失败 -illegal_xml_format=不合法的 XML 格式 -api_report_is_null="测试报告是未生成,无法更新" -api_test_environment_already_exists="已存在该名称的环境配置" -api_test=接口测试 -#test case -test_case_node_level=层 -test_case_node_level_tip=模块树最大深度为 -test_case_module_not_null=所属模块不能为空 -test_case_create_module_fail=创建模块失败 -test_case_import_template_name=测试用例模版 -test_case_import_template_sheet=模版 -module_not_null=所属模块不能为空格 -user_not_exists=该项目下无该用户 -test_case_already_exists=该项目下已存在该测试用例 -parse_data_error=解析数据出错 -missing_header_information=缺少头部信息 -test_case_exist=该项目下已存在用例: -node_deep_limit=节点深度不超过8层! -before_delete_plan=该计划下存在关联测试用例,请先取消关联! -incorrect_format=格式错误 -test_case_step_model_validate=必须为TEXT、STEP -test_case_priority_validate=必须为P0、P1、P2、P3 -test_case_method_validate=必须为manual、auto -test_case_name=用例名称 -test_case_type=用例类型 -test_case_maintainer=维护人 -test_case_priority=用例等级 -test_case_method=测试方式 -test_case_prerequisite=前置条件 -test_case_remark=备注 -test_case_step_desc=步骤描述 -test_case_step_result=预期结果 -test_case_module=所属模块 -test_case=功能用例 -user=用户 -user_import_template_name=用户导入模板 -user_import_template_sheet=模版 -user_import_format_wrong=格式错误 -user_import_id_is_repeat=ID重复 -user_import_email_is_repeat=E-mail重复 -user_import_password_format_wrong=密码格式错误 -user_import_phone_format_wrong=手机号码格式错误 -user_import_email_format_wrong=电子邮箱格式错误 -user_import_organization_not_fond=组织未找到 -user_import_workspace_not_fond=工作空间未找到 -org_admin=组织管理员 -org_member=组织成员 -test_manager=测试经理 -tester=测试成员 -read_only_user=只读用户 -module=模块 -num_needed_modify_testcase=修改用例时ID必填 -num_needless_create_testcase=创建用例时无需ID -tag_tip_pattern=标签之间以分号或者逗号隔开 -preconditions_optional=前置条件选填 -remark_optional=备注选填 -do_not_modify_header_order=请勿修改表头顺序 -module_created_automatically=若无该模块将自动创建 -options=选项 -options_yes=是 -options_no=否 -required=必填 -password_format_is_incorrect=有效密码:8-30位,英文大小写字母+数字+特殊字符(可选) -please_input_project_member=请填写该项目下的相关人员ID -test_case_report_template_repeat=同一工作空间下不能存在同名模版 -plan_name_already_exists=测试计划名称已存在 -test_case_already_exists_excel=文件中存在多条相同用例 -test_case_module_already_exists=同层级下已存在该模块名称 -api_test_name_already_exists=测试名称已经存在 -functional_method_tip=功能测试不支持自动方式 -custom_num_is_exist=用例自定义ID已存在 -custom_num_is_not_exist=用例自定义ID不存在 -id_required=ID必填 -id_repeat_in_table=表格内ID重复 -step_model_tip=步骤描述填写 STEP,文本描述请填写 TEXT (非必填) -case_status_not_exist=用例状态必须为未开始(Prepare)、进行中(Underway)、已完成(Completed) -issue_project_not_exist=ID不存在或其它错误 -tapd_project_not_exist=关联的TAPD项目ID不存在 -zentao_get_project_builds_fail=获取影响版本错误 -zentao_project_id_not_exist=关联的禅道ID不存在或其它错误 -#ldap -ldap_url_is_null=LDAP地址为空 -ldap_dn_is_null=LDAP绑定DN为空 -ldap_ou_is_null=LDAP参数OU为空 -ldap_password_is_null=LDAP密码为空 -ldap_connect_fail=连接LDAP失败 -ldap_connect_fail_user=连接LDAP失败,绑定的DN或密码错误 -ldap_user_filter_is_null=LDAP用户过滤器为空 -ldap_user_mapping_is_null=LDAP用户属性映射为空 -authentication_failed=用户认证失败,用户名或密码错误 -user_not_found_or_not_unique=用户不存在或者不唯一 -find_more_user=查找到多个用户 -ldap_authentication_not_enabled=LDAP认证未启用 -login_fail_email_null=登录失败,用户邮箱为空 -login_fail_ou_error=登录失败,请检查用户OU -login_fail_filter_error=登录失败,请检查用户过滤器 -check_ldap_mapping=检查LDAP属性映射 -ldap_mapping_value_null=LDAP用户属性映射字段为空值 -oauth_mapping_config_error=OAuth2属性映射配置错误 -oauth_mapping_value_null=OAuth2用户属性映射字段为空值 -#quota -quota_project_excess_ws_api=项目的接口测试数量总和不能超过工作空间的配额 -quota_project_excess_ws_performance=项目的性能测试数量总和不能超过工作空间的配额 -quota_project_excess_ws_max_threads=项目的最大并发数不能超过工作空间的配额 -quota_project_excess_ws_max_duration=项目的压测时长不能超过工作空间的配额 -quota_project_excess_ws_resource_pool=项目的资源池不能超过工作空间的资源池范围 -quota_project_excess_ws_vum_total=项目的总vum数量总和不能超过工作空间配额 -quota_vum_used_gt_vum_total=总vum数量不能小于已消耗的vum数量 -quota_api_excess_workspace=接口测试数量超过工作空间限额 -quota_api_excess_project=接口测试数量超过项目限额 -quota_performance_excess_workspace=性能测试数量超过工作空间限额 -quota_performance_excess_project=性能测试数量超过项目限额 -quota_max_threads_excess_workspace=最大并发数超过工作空间限额 -quota_max_threads_excess_project=最大并发数超过项目限额 -quota_duration_excess_workspace=压测时长超过工作空间限额 -quota_duration_excess_project=压测时长超过项目限额 -quota_member_excess_workspace=成员数超过工作空间配额 -quota_member_excess_project=成员数超过项目配额 -quota_project_excess_project=项目数超过工作空间配额 -quota_vum_used_excess_workspace=消耗的vum数量超过工作空间配额 -quota_vum_used_excess_project=消耗的vum数量超过项目配额 -import_xmind_count_error=思维导图导入用例数量不能超过 800 条 -license_valid_license_error=授权认证失败 -import_xmind_not_found=未找到测试用例 -test_review_task_notice=测试评审任务通知 -swagger_url_scheduled_import_notification=swagger_url定时导入通知 -test_track.length_less_than=标题过长,字数必须小于 -# check owner -check_owner_project=当前用户没有操作此项目的权限 -check_owner_test=当前用户没有操作此测试的权限 -check_owner_case=当前用户没有操作此用例的权限 -check_owner_plan=当前用户没有操作此计划的权限 -check_owner_review=当前用户没有操作此评审的权限 -check_owner_comment=当前用户没有操作此评论的权限 -check_owner_workspace=当前用户没有操作此工作空间的权限 -upload_content_is_null=导入内容为空 -test_plan_notification=测试计划通知 -task_defect_notification=缺陷任务通知 -task_notification_=定时任务结果通知 -api_definition_url_not_repeating=接口请求地址已经存在 -api_definition_name_not_repeating=相同的名称-url组合已存在 -task_notification_jenkins=jenkins任务通知 -task_notification=任务通知 -message_task_already_exists=任务接收人已经存在 -#automation -automation_name_already_exists=同一个项目的同一模块下,场景名称不能重复 -automation_exec_info=没有测试步骤,无法执行 -delete_check_reference_by=被场景引用 -not_execute=未执行 -execute_not_pass=未通过 -execute_pass=通过 -import_fail_custom_num_exists=导入失败,自定义ID已存在 -#authsource -authsource_name_already_exists=认证源名称已经存在 -authsource_name_is_null=认证源名称不能为空 -authsource_configuration_is_null=认证源配置不能为空 -custom_field_already=工作空间下已存在该字段: -template_already=工作空间下已存在该模板: -expect_name_exists=预期名称已存在 -ssl_password_error=认证密码错误,请重新输入密码 -ssl_file_error=认证文件加载失败,请检查认证文件 -#log -api_definition=接口定义 -api_definition_case=接口定义用例 -api_automation=接口自动化 -api_automation_schedule=接口自动化-定时任务 -api_automation_report=测试报告 -track_test_case=测试用例 -track_test_case_review=用例评审 -track_test_plan=测试计划 -track_test_plan_schedule=测试计划-定时任务 -track_bug=缺陷管理 -track_report=报告 -performance_test=性能测试 -performance_test_report=性能测试报告 -system_user=系统-用户 -system_organization=系统-组织 -system_workspace=工作空间 -system_test_resource=系统-测试资源池 -system_parameter_setting=系统-系统参数设置 -system_quota_management=系统-配额管理 -system_authorization_management=系统-授权管理 -organization_member=组织-成员 -organization_workspace=组织-工作空间 -workspace_service_integration=工作空间-服务集成 -workspace_message_settings=工作空间-消息设置 -workspace_member=工作空间-成员 -workspace_template_settings_field=工作空间-模版设置-自定义字段 -workspace_template_settings_case=工作空间-模版设置-用例模版 -workspace_template_settings_issue=工作空间-模版设置-缺陷模版 -project_project_manager=项目-项目管理 -project_project_member=项目-成员 -project_project_jar=項目-JAR包管理 -project_environment_setting=项目-环境设置 -project_file_management=项目-文件管理 -personal_information_personal_settings=个人信息-个人设置 -personal_information_apikeys=个人信息-API Keys -auth_title=系统认证 -group_permission=用户组与权限 -test_case_status_prepare=未开始 -test_case_status_again=重新提审 -test_case_status_running=进行中 -test_case_status_finished=已完成 -connection_expired=连接已失效,请重新获取 -# track home -api_case=接口用例 -performance_case=性能用例 -scenario_case=场景用例 -scenario_name_is_null=场景名称不能为空 -test_case_status_error=失败 -test_case_status_success=成功 -test_case_status_trash=废弃 -test_case_status_saved=已保存 -create_user=创建人 -test_case_status=用例状态 -id_not_rightful=ID 不合法 -project_reference_multiple_plateform=项目指向多个第三方平台 -# mock -mock_warning=未找到匹配的Mock期望 -zentao_test_type_error=无效的 Zentao 请求 -#项目报告 -enterprise_test_report=项目报告 -count=统计 -cannot_find_project=未找到测试项目 -project_repeatable_is_false=项目未配置URL可重复 -#环境组 -null_environment_group_name=环境组名称不存在 -environment_group_name=环境组名称 -environment_group_exist=已存在 -environment_group_has_duplicate_project=每个项目只能选择一个环境! -#误报库 -error_report_library=误报库 -issue_jira_info_error=请检查服务集成信息或Jira项目ID -error_code_is_unique=错误代码不可重复 -no_version_exists=不存在版本!请先创建项目的版本 -jira_auth_error=账号名或密码(Token)错误 -jira_auth_url_error=测试连接失败,请检查Jira地址是否正确 -#ui 指令校验 -param_error=参数校验失败!请检查 -is_null=不能为空 -url_is_null=URL 参数不能为空 -frame_index_is_null=网页索引号不能为空 -element_is_null=元素对象已经被删除 -locator_is_null=元素定位参数不能有空 -coord=坐标 -input_content=输入内容 -subitem_type=子选项类型 -subitem=子选项值 -varname=变量名 -varname_or_value=变量名或变量值 -attributeName=属性名 -webtitle_varname=网页标题变量名 -webhandle_varname=网页窗口 handle变量名 -cant_be_negative=不能为负数 -expression=表达式 -times=循环次数 -command=步骤 -extract_type=提取信息类型 -cmdValidation=断言 -cmdValidateValue=断言值 -cmdValidateText=弹窗文本 -cmdValidateDropdown=下拉框 -cmdValidateElement=元素断言 -cmdValidateTitle=网页标题 -cmdOpen=打开网页 -cmdSelectWindow=切换窗口 -cmdSetWindowSize=设置窗口大小 -cmdSelectFrame=选择内嵌网页 -cmdDialog=弹窗操作 -cmdDropdownBox=下拉框操作 -submit=提交表单 -cmdSetItem=设置选项 -cmdWaitElement=等待元素 -cmdInput=输入操作 -cmdMouseClick=鼠标点击 -cmdMouseMove=鼠标移动 -cmdMouseDrag=鼠标拖拽 -cmdTimes=次数循环 -cmdForEach=ForEach 循环 -cmdWhile=While 循环 -cmdIf=If -cmdElse=Else -cmdElseIf=ElseIf -close=关闭网页 -cmdExtraction=数据提取 -cmdExtractWindow=提取窗口信息 -cmdExtractElement=提取元素信息 -tcp_mock_not_unique=该TCP端口号已被使用 -no_tcp_mock_port=无可用的TCP端口号,请联系管理员 -name_already_exists_in_module=同层级下已经存在 -# issue template copy -target_issue_template_not_checked=无法复制,未选中目标项目 -source_issue_template_is_empty=复制错误,源项目为空 +ui_scenario_report_result.id.not_blankUI=场景报告结果ID不能为空 +ui_scenario_report_result.resource_id.length_range=UI场景报告结果资源ID长度范围为{min}到{max} +ui_scenario_report_result.resource_id.not_blank=UI场景报告结果资源ID不能为空 +ui_scenario_report_result.report_id.length_range=UI场景报告结果报告ID长度范围为{min}到{max} +ui_scenario_report_result.report_id.not_blank=UI场景报告结果报告ID不能为空 +ui_scenario_report_result.status.length_range=UI场景报告结果状态长度范围为{min}到{max} +ui_scenario_report_result.status.not_blank=UI场景报告结果状态不能为空 +ui_custom_command_module.id.not_blank=UI自定义指令模块ID不能为空 +ui_custom_command_module.project_id.length_range=UI自定义指令模块项目ID长度范围为{min}到{max} +ui_custom_command_module.project_id.not_blank=UI自定义指令模块项目ID不能为空 +ui_custom_command_module.name.length_range=UI自定义指令模块名称长度范围为{min}到{max} +ui_custom_command_module.name.not_blank=UI自定义指令模块名称不能为空 +ui_custom_command_module.parent_id.length_range=UI自定义指令模块父ID长度范围为{min}到{max} +ui_custom_command_module.parent_id.not_blank=UI自定义指令模块父ID不能为空 +ui_custom_command_module.pos.length_range=UI自定义指令模块位置长度范围为{min}到{max} +ui_custom_command_module.pos.not_blank=UI自定义指令模块位置不能为空 +ui_custom_command_module.create_user.length_range=UI自定义指令模块创建人长度范围为{min}到{max} +ui_custom_command_module.create_user.not_blank=UI自定义指令模块创建人不能为空 +ui_element_module.id.not_blank=UI元素模块ID不能为空 +ui_element_module.project_id.length_range=UI元素模块项目ID长度范围为{min}到{max} +ui_element_module.project_id.not_blank=UI元素模块项目ID不能为空 +ui_element_module.name.length_range=UI元素模块名称长度范围为{min}到{max} +ui_element_module.name.not_blank=UI元素模块名称不能为空 +ui_element_module.parent_id.length_range=UI元素模块父ID长度范围为{min}到{max} +ui_element_module.parent_id.not_blank=UI元素模块父ID不能为空 +ui_element_module.pos.length_range=UI元素模块位置长度范围为{min}到{max} +ui_element_module.pos.not_blank=UI元素模块位置不能为空 +ui_element_module.create_user.length_range=UI元素模块创建人长度范围为{min}到{max} +ui_element_module.create_user.not_blank=UI元素模块创建人不能为空 +ui_element.id.not_blank=UI元素ID不能为空 +ui_element.module_id.length_range=UI元素模块ID长度范围为{min}到{max} +ui_element.module_id.not_blank=UI元素模块ID不能为空 +ui_element.project_id.length_range=UI元素项目ID长度范围为{min}到{max} +ui_element.project_id.not_blank=UI元素项目ID不能为空 +ui_element.name.length_range=UI元素名称长度范围为{min}到{max} +ui_element.name.not_blank=UI元素名称不能为空 +ui_element.location_type.length_range=UI元素位置类型长度范围为{min}到{max} +ui_element.location_type.not_blank=UI元素位置类型不能为空 +ui_element.location.length_range=UI元素位置长度范围为{min}到{max} +ui_element.location.not_blank=UI元素位置不能为空 +ui_element.create_user.length_range=UI元素创建人长度范围为{min}到{max} +ui_element.create_user.not_blank=UI元素创建人不能为空 +ui_element.update_user.length_range=UI元素更新人长度范围为{min}到{max} +ui_element.update_user.not_blank=UI元素更新人不能为空 +ui_element.version_id.length_range=UI元素版本ID长度范围为{min}到{max} +ui_element.version_id.not_blank=UI元素版本ID不能为空 +ui_element.ref_id.length_range=UI元素引用ID长度范围为{min}到{max} +ui_element.ref_id.not_blank=UI元素引用ID不能为空 +ui_element.latest.length_range=UI元素最新长度范围为{min}到{max} +ui_element.latest.not_blank=UI元素最新不能为空 +ui_element_reference.id.not_blank=UI元素引用ID不能为空 +ui_element_reference.element_id.length_range=UI元素引用元素ID长度范围为{min}到{max} +ui_element_reference.element_id.not_blank=UI元素引用元素ID不能为空 +ui_element_reference.element_module_id.length_range=UI元素引用元素模块ID长度范围为{min}到{max} +ui_element_reference.element_module_id.not_blank=UI元素引用元素模块ID不能为空 +ui_element_reference.scenario_id.length_range=UI元素引用场景ID长度范围为{min}到{max} +ui_element_reference.scenario_id.not_blank=UI元素引用场景ID不能为空 +ui_element_reference.project_id.length_range=UI元素引用项目ID长度范围为{min}到{max} +ui_element_reference.project_id.not_blank=UI元素引用项目ID不能为空 +ui_scenario_report.id.not_blank=UI场景报告ID不能为空 +ui_scenario_report.project_id.length_range=UI场景报告项目ID长度范围为{min}到{max} +ui_scenario_report.project_id.not_blank=UI场景报告项目ID不能为空 +ui_scenario_report.name.length_range=UI场景报告名称长度范围为{min}到{max} +ui_scenario_report.name.not_blank=UI场景报告名称不能为空 +ui_scenario_report.status.length_range=UI场景报告状态长度范围为{min}到{max} +ui_scenario_report.status.not_blank=UI场景报告状态不能为空 +ui_scenario_report.trigger_mode.length_range=UI场景报告触发模式长度范围为{min}到{max} +ui_scenario_report.trigger_mode.not_blank=UI场景报告触发模式不能为空 +ui_scenario_report.create_user.length_range=UI场景报告创建人长度范围为{min}到{max} +ui_scenario_report.create_user.not_blank=UI场景报告创建人不能为空 +ui_scenario_report_blob.report_id.not_blank=UI场景报告blob报告ID不能为空 +ui_scenario.id.not_blank=UI场景ID不能为空 +ui_scenario.project_id.length_range=UI场景项目ID长度范围为{min}到{max} +ui_scenario.project_id.not_blank=UI场景项目ID不能为空 +ui_scenario.module_id.length_range=UI场景模块ID长度范围为{min}到{max} +ui_scenario.module_id.not_blank=UI场景模块ID不能为空 +ui_scenario.module_path.length_range=UI场景模块路径长度范围为{min}到{max} +ui_scenario.module_path.not_blank=UI场景模块路径不能为空 +ui_scenario.name.length_range=UI场景名称长度范围为{min}到{max} +ui_scenario.name.not_blank=UI场景名称不能为空 +ui_scenario.level.length_range=UI场景级别长度范围为{min}到{max} +ui_scenario.level.not_blank=UI场景级别不能为空 +ui_scenario.status.length_range=UI场景状态长度范围为{min}到{max} +ui_scenario.status.not_blank=UI场景状态不能为空 +ui_scenario.principal.length_range=UI场景负责人长度范围为{min}到{max} +ui_scenario.principal.not_blank=UI场景负责人不能为空 +ui_scenario.deleted.length_range=UI场景删除标志长度范围为{min}到{max} +ui_scenario.deleted.not_blank=UI场景删除标志不能为空 +ui_scenario.create_user.length_range=UI场景创建人长度范围为{min}到{max} +ui_scenario.create_user.not_blank=UI场景创建人不能为空 +ui_scenario.version_id.length_range=UI场景版本ID长度范围为{min}到{max} +ui_scenario.version_id.not_blank=UI场景版本ID不能为空 +ui_scenario.ref_id.length_range=UI场景引用ID长度范围为{min}到{max} +ui_scenario.ref_id.not_blank=UI场景引用ID不能为空 +ui_scenario.latest.length_range=UI场景最新长度范围为{min}到{max} +ui_scenario.latest.not_blank=UI场景最新不能为空 +ui_custom_command.id.not_blank=UI自定义命令ID不能为空 +ui_custom_command.project_id.length_range=UI自定义命令项目ID长度范围为{min}到{max} +ui_custom_command.project_id.not_blank=UI自定义命令项目ID不能为空 +ui_custom_command.module_id.length_range=UI自定义命令模块ID长度范围为{min}到{max} +ui_custom_command.module_id.not_blank=UI自定义命令模块ID不能为空 +ui_custom_command.module_path.length_range=UI自定义命令模块路径长度范围为{min}到{max} +ui_custom_command.module_path.not_blank=UI自定义命令模块路径不能为空 +ui_custom_command.name.length_range=UI自定义命令名称长度范围为{min}到{max} +ui_custom_command.name.not_blank=UI自定义命令名称不能为空 +ui_custom_command.level.length_range=UI自定义命令级别长度范围为{min}到{max} +ui_custom_command.level.not_blank=UI自定义命令级别不能为空 +ui_custom_command.status.length_range=UI自定义命令状态长度范围为{min}到{max} +ui_custom_command.status.not_blank=UI自定义命令状态不能为空 +ui_custom_command.principal.length_range=UI自定义命令负责人长度范围为{min}到{max} +ui_custom_command.principal.not_blank=UI自定义命令负责人不能为空 +ui_custom_command.deleted.length_range=UI自定义命令删除标志长度范围为{min}到{max} +ui_custom_command.deleted.not_blank=UI自定义命令删除标志不能为空 +ui_custom_command.create_user.length_range=UI自定义命令创建人长度范围为{min}到{max} +ui_custom_command.create_user.not_blank=UI自定义命令创建人不能为空 +ui_custom_command.version_id.length_range=UI自定义命令版本ID长度范围为{min}到{max} +ui_custom_command.version_id.not_blank=UI自定义命令版本ID不能为空 +ui_custom_command.ref_id.length_range=UI自定义命令引用ID长度范围为{min}到{max} +ui_custom_command.ref_id.not_blank=UI自定义命令引用ID不能为空 +ui_custom_command.latest.length_range=UI自定义命令最新长度范围为{min}到{max} +ui_custom_command.latest.not_blank=UI自定义命令最新不能为空 +ui_scenario_execution_info.id.not_blank=UI场景执行信息ID不能为空 +ui_scenario_execution_info.source_id.length_range=UI场景执行信息来源ID长度范围为{min}到{max} +ui_scenario_execution_info.source_id.not_blank=UI场景执行信息来源ID不能为空 +ui_scenario_execution_info.result.length_range=UI场景执行信息结果长度范围为{min}到{max} +ui_scenario_execution_info.result.not_blank=UI场景执行信息结果不能为空 +ui_scenario_module.id.not_blank=UI场景模块ID不能为空 +ui_scenario_module.project_id.length_range=UI场景模块项目ID长度范围为{min}到{max} +ui_scenario_module.project_id.not_blank=UI场景模块项目ID不能为空 +ui_scenario_module.name.length_range=UI场景模块名称长度范围为{min}到{max} +ui_scenario_module.name.not_blank=UI场景模块名称不能为空 +ui_scenario_module.parent_id.length_range=UI场景模块父ID长度范围为{min}到{max} +ui_scenario_module.parent_id.not_blank=UI场景模块父ID不能为空 +ui_scenario_module.pos.length_range=UI场景模块位置长度范围为{min}到{max} +ui_scenario_module.pos.not_blank=UI场景模块位置不能为空 +ui_scenario_module.create_user.length_range=UI场景模块创建人长度范围为{min}到{max} +ui_scenario_module.create_user.not_blank=UI场景模块创建人不能为空 +ui_scenario_reference.id.not_blank=UI场景引用ID不能为空 +ui_scenario_reference.ui_scenario_id.length_range=UI场景引用UI场景ID长度范围为{min}到{max} +ui_scenario_reference.ui_scenario_id.not_blank=UI场景引用UI场景ID不能为空 +ui_scenario_reference.create_user.length_range=UI场景引用创建人长度范围为{min}到{max} +ui_scenario_reference.create_user.not_blank=UI场景引用创建人不能为空 +ui_scenario_reference.reference_id.length_range=UI场景引用引用ID长度范围为{min}到{max} +ui_scenario_reference.reference_id.not_blank=UI场景引用引用ID不能为空 +ui_scenario_reference.data_type.length_range=UI场景引用数据类型长度范围为{min}到{max} +ui_scenario_reference.data_type.not_blank=UI场景引用数据类型不能为空 +ui_custom_command_blob.scenario_id.not_blank=UI自定义命令场景ID不能为空 +ui_scenario_report_structure.id.not_blank=UI场景报告结构ID不能为空 +ui_scenario_report_structure.report_id.length_range=UI场景报告结构报告ID长度范围为{min}到{max} +ui_scenario_report_structure.report_id.not_blank=UI场景报告结构报告ID不能为空 +ui_scenario_blob.scenario_id.not_blank=UI场景场景ID不能为空 diff --git a/backend/framework/sdk/src/main/resources/i18n/ui_zh_TW.properties b/backend/framework/sdk/src/main/resources/i18n/ui_zh_TW.properties index 3323dc8c5d..2fceb31adb 100644 --- a/backend/framework/sdk/src/main/resources/i18n/ui_zh_TW.properties +++ b/backend/framework/sdk/src/main/resources/i18n/ui_zh_TW.properties @@ -1,378 +1,151 @@ -#commons -error_lang_invalid=語言參數錯誤 -file_cannot_be_null=文件不能為空! -cannot_be_null=不能為空 -number=第 -row=行 -error=出錯 -delete_fail=刪除失敗 -start_engine_fail=啟動失敗 -upload_fail=文件上傳失敗 -invalid_parameter=非法的參數 -name_already_exists=該名稱已經存在 -resource_not_exist=資源不存在或已刪除 -upload_file_fail_get_file_path_fail=文件上傳失敗,獲取文件上傳路徑為空 -#user related -user_email_already_exists=用戶郵箱已存在 -user_id_is_null=用戶ID不能為空 -user_name_is_null=用戶名不能為空 -user_email_is_null=用戶郵箱不能為空 -password_is_null=密碼不能為空 -user_id_already_exists=用戶id已存在 -password_modification_failed=舊密碼輸入錯誤,請重新輸入 -cannot_delete_current_user=無法刪除當前登錄用戶 -connection_failed=連接失敗 -connection_timeout=連接超時 -user_already_exists=該用戶已存在於當前成員列表中 -cannot_remove_current=無法移除當前登錄用戶 -login_fail=登錄失敗 -password_is_incorrect=用戶名或密碼不正確 -user_not_exist=用戶不存在: -user_has_been_disabled=用戶已被禁用 -excessive_attempts=操作頻繁 -user_locked=用戶被鎖定 -user_expires=用戶過期 -not_authorized=未經授權 -user_apikey_limit=最多能有5個Api key -please_logout_current_user=請先登出當前用戶 -#load test -edit_load_test_not_found=無法編輯測試,未找到測試: -run_load_test_not_found=無法運行測試,未找到測試: -run_load_test_file_not_found=無法運行測試,無法獲取測試文件元信息,測試ID: -run_load_test_file_content_not_found=無法運行測試,無法獲取測試文件內容,測試ID: -run_load_test_file_init_error=無法運行測試,請前往 [系統設置-系統-系統參數設置] 檢查當前站點配置,詳情見 https://metersphere.io/docs/v2.x/faq/load_test/#url -load_test_is_running=測試正在運行, 請等待 -load_test_kafka_invalid=Kafka 不可用,請檢查配置 -cannot_edit_load_test_running=不能修改正在運行的測試 -test_not_found=測試不存在: -test_not_running=測試未運行 -load_test_already_exists=測試名稱不能重復 -load_test_name_length=測試名稱長度超過限製 -no_nodes_message=沒有節點信息 -duplicate_node_ip=節點 IP 重復 -duplicate_node_port=節點 Port 重復 -duplicate_node_ip_port=節點 IP、Port 重復 -max_thread_insufficient=並發用戶數超額 -related_case_del_fail_prefix=已關聯到 -related_case_del_fail_suffix=測試用例,請先解除關聯 -jmx_content_valid=JMX 內容無效,請檢查 -container_delete_fail=容器由於網絡原因停止失敗,請重試 -load_test_report_file_not_exist=當前報告沒有JTL文件,請等待或重新執行以便獲取 -#workspace -workspace_name_is_null=工作空間名不能為空 -workspace_name_already_exists=工作空間名已存在 -workspace_does_not_belong_to_user=當前工作空間不屬於當前用戶 -workspace_not_exists=工作空間不存在 -#test resource pool -test_resource_pool_id_is_null=資源池ID不能為空 -test_resource_pool_name_is_null=資源池名稱不能為空 -test_resource_pool_name_already_exists=資源池名稱已存在 -load_test=性能測試 -test_resource_pool_is_use=正在使用此資源池,無法刪除 -only_one_k8s=只能添加一個 K8S -test_resource_pool_not_exists=測試資源池不存在 -test_resource_pool_invalid=當前測試使用的資源池處於禁用狀態 -#project -project_name_is_null=項目名稱不能為空 -project_name_already_exists=項目名稱已存在 -project_file_already_exists=項目下該文件已經存在 -project_file_in_use=占用文件,無法刪除。 -#organization -organization_name_is_null=組織名不能為空 -organization_name_already_exists=組織名已存在 -organization_does_not_belong_to_user=當前組織不屬於當前用戶 -organization_id_is_null=組織 ID 不能為空 -#api -api_load_script_error=讀取腳本失敗 -illegal_xml_format=不合法的 XML 格式 -api_report_is_null="測試報告是未生成,無法更新" -api_test_environment_already_exists="已存在該名稱的環境配置" -api_test=接口測試 -#test case -test_case_node_level=層 -test_case_node_level_tip=模塊樹最大深度為 -test_case_module_not_null=所屬模塊不能為空 -test_case_create_module_fail=創建模塊失敗 -test_case_import_template_name=測試用例模版 -test_case_import_template_sheet=模版 -module_not_null=所屬模塊不能為空格 -user_not_exists=該項目下無該用戶 -test_case_already_exists=該項目下已存在該測試用例 -parse_data_error=解析數據出錯 -missing_header_information=缺少頭部信息 -test_case_exist=該項目下已存在用例: -node_deep_limit=節點深度不超過8層! -before_delete_plan=該計劃下存在關聯測試用例,請先取消關聯! -incorrect_format=格式錯誤 -test_case_step_model_validate=必須為TEXT、STEP -test_case_priority_validate=必須為P0、P1、P2、P3 -test_case_method_validate=必須為manual、auto -test_case_name=用例名稱 -test_case_type=用例類型 -test_case_maintainer=維護人 -test_case_priority=用例等級 -test_case_method=測試方式 -test_case_prerequisite=前置條件 -test_case_remark=備註 -test_case_step_desc=步驟描述 -test_case_step_result=預期結果 -test_case_module=所屬模塊 -test_case=功能用例 -user=用戶 -user_import_template_name=用戶導入模板 -user_import_template_sheet=模版 -user_import_format_wrong=格式錯誤 -user_import_id_is_repeat=ID重復 -user_import_email_is_repeat=E-mail重復 -user_import_password_format_wrong=密碼格式錯誤 -user_import_phone_format_wrong=手機號碼格式錯誤 -user_import_email_format_wrong=電子郵箱格式錯誤 -user_import_organization_not_fond=組織未找到 -user_import_workspace_not_fond=工作空間未找到 -org_admin=組織管理員 -org_member=組織成員 -test_manager=測試經理 -tester=測試成員 -read_only_user=只讀用戶 -module=模塊 -num_needed_modify_testcase=修改用例時ID必填 -num_needless_create_testcase=創建用例時無需ID -tag_tip_pattern=標簽之間以分號或者逗號隔開 -preconditions_optional=前置條件選填 -remark_optional=備註選填 -do_not_modify_header_order=請勿修改表頭順序 -module_created_automatically=若無該模塊將自動創建 -options=選項 -options_yes=是 -options_no=否 -required=必填 -password_format_is_incorrect=有效密碼:8-30位,英文大小寫字母+數字+特殊字符(可選) -please_input_project_member=請填寫該項目下的相關人員ID -test_case_report_template_repeat=同一工作空間下不能存在同名模版 -plan_name_already_exists=測試計劃名稱已存在 -test_case_already_exists_excel=文件中存在多條相同用例 -test_case_module_already_exists=同層級下已存在該模塊名稱 -api_test_name_already_exists=測試名稱已經存在 -functional_method_tip=功能測試不支持自動方式 -custom_num_is_exist=用例自定義ID已存在 -custom_num_is_not_exist=用例自定義ID不存在 -id_required=ID必填 -id_repeat_in_table=表格內ID重復 -step_model_tip=步驟描述填寫 STEP,文本描述請填寫 TEXT (非必填) -case_status_not_exist=用例狀態必須為未開始(Prepare)、進行中(Underway)、已完成(Completed) -issue_project_not_exist=ID不存在或其它錯誤 -tapd_project_not_exist=關聯的TAPD項目ID不存在 -zentao_get_project_builds_fail=獲取影響版本錯誤 -zentao_project_id_not_exist=關聯的禪道ID不存在或其它錯誤 -#ldap -ldap_url_is_null=LDAP地址為空 -ldap_dn_is_null=LDAP綁定DN為空 -ldap_ou_is_null=LDAP參數OU為空 -ldap_password_is_null=LDAP密碼為空 -ldap_connect_fail=連接LDAP失敗 -ldap_connect_fail_user=連接LDAP失敗,綁定的DN或密碼錯誤 -ldap_user_filter_is_null=LDAP用戶過濾器為空 -ldap_user_mapping_is_null=LDAP用戶屬性映射為空 -authentication_failed=用戶認證失敗,用戶名或密碼錯誤 -user_not_found_or_not_unique=用戶不存在或者不唯一 -find_more_user=查找到多個用戶 -ldap_authentication_not_enabled=LDAP認證未啟用 -login_fail_email_null=登錄失敗,用戶郵箱為空 -login_fail_ou_error=登錄失敗,請檢查用戶OU -login_fail_filter_error=登錄失敗,請檢查用戶過濾器 -check_ldap_mapping=檢查LDAP屬性映射 -ldap_mapping_value_null=LDAP用戶屬性映射字段為空值 -oauth_mapping_config_error=OAuth2屬性映射配置錯誤 -oauth_mapping_value_null=OAuth2用戶屬性映射字段為空值 -#quota -quota_project_excess_ws_api=項目的接口測試數量總和不能超過工作空間的配額 -quota_project_excess_ws_performance=項目的性能測試數量總和不能超過工作空間的配額 -quota_project_excess_ws_max_threads=項目的最大並發數不能超過工作空間的配額 -quota_project_excess_ws_max_duration=項目的壓測時長不能超過工作空間的配額 -quota_project_excess_ws_resource_pool=項目的資源池不能超過工作空間的資源池範圍 -quota_project_excess_ws_vum_total=項目的總vum數量總和不能超過工作空間配額 -quota_api_excess_workspace=接口測試數量超過工作空間限額 -quota_vum_used_gt_vum_total=總vum數量不能小於已消耗的vum數量 -quota_api_excess_project=接口測試數量超過項目限額 -quota_performance_excess_workspace=性能測試數量超過工作空間限額 -quota_performance_excess_project=性能測試數量超過項目限額 -quota_max_threads_excess_workspace=最大並發數超過工作空間限額 -quota_max_threads_excess_project=最大並發數超過項目限額 -quota_duration_excess_project=壓測時長超過項目限額 -quota_member_excess_workspace=成員數超過工作空間配額 -quota_member_excess_project=成員數超過項目配額 -quota_project_excess_project=項目數超過工作空間配額 -quota_vum_used_excess_workspace=消耗的vum數量超過工作空間配額 -quota_vum_used_excess_project=消耗的vum數量超過項目配額 -import_xmind_count_error=思維導圖導入用例數量不能超過 800 條 -license_valid_license_error=授權認證失敗 -import_xmind_not_found=未找到測試用例 -test_review_task_notice=測試評審任務通知 -swagger_url_scheduled_import_notification=swagger_url定時導入通知 -test_track.length_less_than=標題過長,字數必須小於 -# check owner -check_owner_project=當前用戶沒有操作此項目的權限 -check_owner_test=當前用戶沒有操作此測試的權限 -check_owner_case=當前用戶沒有操作此用例的權限 -check_owner_plan=當前用戶沒有操作此計劃的權限 -check_owner_review=當前用戶沒有操作此評審的權限 -check_owner_comment=當前用戶沒有操作此評論的權限 -check_owner_workspace=當前用戶沒有操作此工作空間的權限 -upload_content_is_null=導入內容為空 -test_plan_notification=測試計劃通知 -task_defect_notification=缺陷任務通知 -task_notification_=定時任務結果通知 -api_definition_url_not_repeating=接口請求地址已經存在 -api_definition_name_not_repeating=相同的名稱-url組合已存在 -task_notification_jenkins=jenkins任務通知 -task_notification=任務通知 -message_task_already_exists=任務接收人已經存在 -#automation -automation_name_already_exists=同一個項目同一模塊下,場景名稱不能重復 -automation_exec_info=沒有測試步驟,無法執行 -delete_check_reference_by=被場景引用 -not_execute=未執行 -execute_not_pass=未通過 -execute_pass=通過 -import_fail_custom_num_exists=導入失敗,自定義ID已存在 -#authsource -authsource_name_already_exists=認證源名稱已經存在 -authsource_name_is_null=認證源名稱不能為空 -authsource_configuration_is_null=認證源配置不能為空 -custom_field_already=工作空間下已存在該字段: -template_already=工作空間下已存在該模板: -expect_name_exists=預期名稱已存在 -ssl_password_error=認證密碼錯誤,請重新輸入密碼 -ssl_file_error=認證文件加載失敗,請檢查認證文件 -#log -api_definition=接口定義 -api_definition_case=接口定義用例 -api_automation=接口自動化 -api_automation_schedule=接口自動化-定時任務 -api_automation_report=測試報告 -track_test_case=測試用例 -track_test_case_review=用例評審 -track_test_plan=測試計劃 -track_test_plan_schedule=測試計劃-定時任務 -track_bug=缺陷管理 -track_report=報告 -performance_test=性能測試 -performance_test_report=性能測試報告 -system_user=系統-用戶 -system_organization=系統-組織 -system_workspace=工作空間 -system_test_resource=系統-測試資源池 -system_parameter_setting=系統-系統參數設置 -system_quota_management=系統-配額管理 -system_authorization_management=系統-授權管理 -organization_member=組織-成員 -organization_workspace=組織-工作空間 -workspace_service_integration=工作空間-服務集成 -workspace_message_settings=工作空間-消息設置 -workspace_member=工作空間-成員 -workspace_template_settings_field=工作空間-模版設置-自定義字段 -workspace_template_settings_case=工作空間-模版設置-用例模版 -workspace_template_settings_issue=工作空間-模版設置-缺陷模版 -project_project_manager=項目-項目管理 -project_project_member=項目-成員 -project_project_jar=項目-JAR包管理 -project_environment_setting=項目-環境設置 -project_file_management=項目-文件管理 -personal_information_personal_settings=個人信息-個人設置 -personal_information_apikeys=個人信息-API Keys -auth_title=系統認證 -group_permission=用戶組與權限 -test_case_status_prepare=未開始 -test_case_status_again=重新提審 -test_case_status_running=進行中 -test_case_status_finished=已完成 -connection_expired=連接已失效,請重新獲取 -# track home -api_case=接口用例 -performance_case=性能用例 -scenario_case=場景用例 -scenario_name_is_null=場景名稱不能為空 -test_case_status_error=失敗 -test_case_status_success=成功 -test_case_status_trash=廢棄 -test_case_status_saved=已保存 -create_user=創建人 -test_case_status=用例狀態 -id_not_rightful=ID 不合法 -project_reference_multiple_plateform=項目指向多個第三方平臺 -# mock -mock_warning=未找到匹配的Mock期望 -zentao_test_type_error=請求方式錯誤 -#项目报告 -enterprise_test_report=項目報告 -count=統計 -cannot_find_project=未找到測試項目 -project_repeatable_is_false=項目未配置URL可重複 -#环境组 -null_environment_group_name=環境組名稱不存在 -environment_group_name=環境組名稱 -environment_group_exist=已存在 -environment_group_has_duplicate_project=每個項目只能選擇一個環境! -#误报库 -error_report_library=誤報庫 -issue_jira_info_error=請檢查服務集成信息或Jira項目ID -error_code_is_unique=錯誤代碼不可重複 -no_version_exists=不存在版本!請先創建項目的版本 -jira_auth_error=賬號名或密碼(Token)錯誤 -jira_auth_url_error=測試連接失敗,請檢查Jira地址是否正確 -#ui 指令校驗 -param_error=參數校驗失敗!請檢查 -is_null=不能為空 -url_is_null=URL 參數不能為空 -frame_index_is_null=網頁索引號不能為空 -element_is_null=元素對象已經被刪除 -locator_is_null=元素定位參數不能有空 -coord=坐標 -input_content=輸入內容 -subitem_type=子選項類型 -subitem=子選項值 -varname=變量名 -varname_or_value=變量名或變量值 -attributeName=屬性名 -webtitle_varname=網頁標題變量名 -webhandle_varname=網頁窗口 handle變量名 -cant_be_negative=不能為負數 -expression=表達式 -times=循環次數 -command=步驟 -extract_type=提取信息類型 -cmdValidation=斷言 -cmdValidateValue=斷言值 -cmdValidateText=彈窗文本 -cmdValidateDropdown=下拉框 -cmdValidateElement=元素斷言 -cmdValidateTitle=網頁標題 -cmdOpen=打開網頁 -cmdSelectWindow=切換窗口 -cmdSetWindowSize=設置窗口大小 -cmdSelectFrame=選擇內嵌網頁 -cmdDialog=彈窗操作 -cmdDropdownBox=下拉框操作 -submit=提交表單 -cmdSetItem=設置選項 -cmdWaitElement=等待元素 -cmdInput=輸入操作 -cmdMouseClick=鼠標點擊 -cmdMouseMove=鼠標移動 -cmdMouseDrag=鼠標拖拽 -cmdTimes=次數循環 -cmdForEach=ForEach 循環 -cmdWhile=While 循環 -cmdIf=If -cmdElse=Else -cmdElseIf=ElseIf -close=關閉網頁 -cmdExtraction=數據提取 -cmdExtractWindow=提取窗口信息 -cmdExtractElement=提取元素信息 -tcp_mock_not_unique=該TCP端口號已被使用 -no_tcp_mock_port=無可用的TCP端口號,請聯繫管理員 -name_already_exists_in_module=同層級下已存在 -# issue template copy -target_issue_template_not_checked=無法複製,未選中目標項目 -source_issue_template_is_empty=複製錯誤,源項目為空 +ui_scenario_report_result.id.not_blankUI=場景報告結果ID不能為空 +ui_scenario_report_result.resource_id.length_range=UI場景報告結果資源ID長度範圍為{min}到{max} +ui_scenario_report_result.resource_id.not_blank=UI場景報告結果資源ID不能為空 +ui_scenario_report_result.report_id.length_range=UI場景報告結果報告ID長度範圍為{min}到{max} +ui_scenario_report_result.report_id.not_blank=UI場景報告結果報告ID不能為空 +ui_scenario_report_result.status.length_range=UI場景報告結果狀態長度範圍為{min}到{max} +ui_scenario_report_result.status.not_blank=UI場景報告結果狀態不能為空 +ui_custom_command_module.id.not_blank=UI自定義指令模塊ID不能為空 +ui_custom_command_module.project_id.length_range=UI自定義指令模塊項目ID長度範圍為{min}到{max} +ui_custom_command_module.project_id.not_blank=UI自定義指令模塊項目ID不能為空 +ui_custom_command_module.name.length_range=UI自定義指令模塊名稱長度範圍為{min}到{max} +ui_custom_command_module.name.not_blank=UI自定義指令模塊名稱不能為空 +ui_custom_command_module.parent_id.length_range=UI自定義指令模塊父ID長度範圍為{min}到{max} +ui_custom_command_module.parent_id.not_blank=UI自定義指令模塊父ID不能為空 +ui_custom_command_module.pos.length_range=UI自定義指令模塊位置長度範圍為{min}到{max} +ui_custom_command_module.pos.not_blank=UI自定義指令模塊位置不能為空 +ui_custom_command_module.create_user.length_range=UI自定義指令模塊創建人長度範圍為{min}到{max} +ui_custom_command_module.create_user.not_blank=UI自定義指令模塊創建人不能為空 +ui_element_module.id.not_blank=UI元素模塊ID不能為空 +ui_element_module.project_id.length_range=UI元素模塊項目ID長度範圍為{min}到{max} +ui_element_module.project_id.not_blank=UI元素模塊項目ID不能為空 +ui_element_module.name.length_range=UI元素模塊名稱長度範圍為{min}到{max} +ui_element_module.name.not_blank=UI元素模塊名稱不能為空 +ui_element_module.parent_id.length_range=UI元素模塊父ID長度範圍為{min}到{max} +ui_element_module.parent_id.not_blank=UI元素模塊父ID不能為空 +ui_element_module.pos.length_range=UI元素模塊位置長度範圍為{min}到{max} +ui_element_module.pos.not_blank=UI元素模塊位置不能為空 +ui_element_module.create_user.length_range=UI元素模塊創建人長度範圍為{min}到{max} +ui_element_module.create_user.not_blank=UI元素模塊創建人不能為空 +ui_element.id.not_blank=UI元素ID不能為空 +ui_element.module_id.length_range=UI元素模塊ID長度範圍為{min}到{max} +ui_element.module_id.not_blank=UI元素模塊ID不能為空 +ui_element.project_id.length_range=UI元素項目ID長度範圍為{min}到{max} +ui_element.project_id.not_blank=UI元素項目ID不能為空 +ui_element.name.length_range=UI元素名稱長度範圍為{min}到{max} +ui_element.name.not_blank=UI元素名稱不能為空 +ui_element.location_type.length_range=UI元素位置類型長度範圍為{min}到{max} +ui_element.location_type.not_blank=UI元素位置類型不能為空 +ui_element.location.length_range=UI元素位置長度範圍為{min}到{max} +ui_element.location.not_blank=UI元素位置不能為空 +ui_element.create_user.length_range=UI元素創建人長度範圍為{min}到{max} +ui_element.create_user.not_blank=UI元素創建人不能為空 +ui_element.update_user.length_range=UI元素更新人長度範圍為{min}到{max} +ui_element.update_user.not_blank=UI元素更新人不能為空 +ui_element.version_id.length_range=UI元素版本ID長度範圍為{min}到{max} +ui_element.version_id.not_blank=UI元素版本ID不能為空 +ui_element.ref_id.length_range=UI元素引用ID長度範圍為{min}到{max} +ui_element.ref_id.not_blank=UI元素引用ID不能為空 +ui_element.latest.length_range=UI元素最新長度範圍為{min}到{max} +ui_element.latest.not_blank=UI元素最新不能為空 +ui_element_reference.id.not_blank=UI元素引用ID不能為空 +ui_element_reference.element_id.length_range=UI元素引用元素ID長度範圍為{min}到{max} +ui_element_reference.element_id.not_blank=UI元素引用元素ID不能為空 +ui_element_reference.element_module_id.length_range=UI元素引用元素模塊ID長度範圍為{min}到{max} +ui_element_reference.element_module_id.not_blank=UI元素引用元素模塊ID不能為空 +ui_element_reference.scenario_id.length_range=UI元素引用場景ID長度範圍為{min}到{max} +ui_element_reference.scenario_id.not_blank=UI元素引用場景ID不能為空 +ui_element_reference.project_id.length_range=UI元素引用項目ID長度範圍為{min}到{max} +ui_element_reference.project_id.not_blank=UI元素引用項目ID不能為空 +ui_scenario_report.id.not_blank=UI場景報告ID不能為空 +ui_scenario_report.project_id.length_range=UI場景報告項目ID長度範圍為{min}到{max} +ui_scenario_report.project_id.not_blank=UI場景報告項目ID不能為空 +ui_scenario_report.name.length_range=UI場景報告名稱長度範圍為{min}到{max} +ui_scenario_report.name.not_blank=UI場景報告名稱不能為空 +ui_scenario_report.status.length_range=UI場景報告狀態長度範圍為{min}到{max} +ui_scenario_report.status.not_blank=UI場景報告狀態不能為空 +ui_scenario_report.trigger_mode.length_range=UI場景報告觸發模式長度範圍為{min}到{max} +ui_scenario_report.trigger_mode.not_blank=UI場景報告觸發模式不能為空 +ui_scenario_report.create_user.length_range=UI場景報告創建人長度範圍為{min}到{max} +ui_scenario_report.create_user.not_blank=UI場景報告創建人不能為空 +ui_scenario_report_blob.report_id.not_blank=UI場景報告blob報告ID不能為空 +ui_scenario.id.not_blank=UI場景ID不能為空 +ui_scenario.project_id.length_range=UI場景項目ID長度範圍為{min}到{max} +ui_scenario.project_id.not_blank=UI場景項目ID不能為空 +ui_scenario.module_id.length_range=UI場景模塊ID長度範圍為{min}到{max} +ui_scenario.module_id.not_blank=UI場景模塊ID不能為空 +ui_scenario.module_path.length_range=UI場景模塊路徑長度範圍為{min}到{max} +ui_scenario.module_path.not_blank=UI場景模塊路徑不能為空 +ui_scenario.name.length_range=UI場景名稱長度範圍為{min}到{max} +ui_scenario.name.not_blank=UI場景名稱不能為空 +ui_scenario.level.length_range=UI場景級別長度範圍為{min}到{max} +ui_scenario.level.not_blank=UI場景級別不能為空 +ui_scenario.status.length_range=UI場景狀態長度範圍為{min}到{max} +ui_scenario.status.not_blank=UI場景狀態不能為空 +ui_scenario.principal.length_range=UI場景負責人長度範圍為{min}到{max} +ui_scenario.principal.not_blank=UI場景負責人不能為空 +ui_scenario.deleted.length_range=UI場景刪除標誌長度範圍為{min}到{max} +ui_scenario.deleted.not_blank=UI場景刪除標誌不能為空 +ui_scenario.create_user.length_range=UI場景創建人長度範圍為{min}到{max} +ui_scenario.create_user.not_blank=UI場景創建人不能為空 +ui_scenario.version_id.length_range=UI場景版本ID長度範圍為{min}到{max} +ui_scenario.version_id.not_blank=UI場景版本ID不能為空 +ui_scenario.ref_id.length_range=UI場景引用ID長度範圍為{min}到{max} +ui_scenario.ref_id.not_blank=UI場景引用ID不能為空 +ui_scenario.latest.length_range=UI場景最新長度範圍為{min}到{max} +ui_scenario.latest.not_blank=UI場景最新不能為空 +ui_custom_command.id.not_blank=UI自定義命令ID不能為空 +ui_custom_command.project_id.length_range=UI自定義命令項目ID長度範圍為{min}到{max} +ui_custom_command.project_id.not_blank=UI自定義命令項目ID不能為空 +ui_custom_command.module_id.length_range=UI自定義命令模塊ID長度範圍為{min}到{max} +ui_custom_command.module_id.not_blank=UI自定義命令模塊ID不能為空 +ui_custom_command.module_path.length_range=UI自定義命令模塊路徑長度範圍為{min}到{max} +ui_custom_command.module_path.not_blank=UI自定義命令模塊路徑不能為空 +ui_custom_command.name.length_range=UI自定義命令名稱長度範圍為{min}到{max} +ui_custom_command.name.not_blank=UI自定義命令名稱不能為空 +ui_custom_command.level.length_range=UI自定義命令級別長度範圍為{min}到{max} +ui_custom_command.level.not_blank=UI自定義命令級別不能為空 +ui_custom_command.status.length_range=UI自定義命令狀態長度範圍為{min}到{max} +ui_custom_command.status.not_blank=UI自定義命令狀態不能為空 +ui_custom_command.principal.length_range=UI自定義命令負責人長度範圍為{min}到{max} +ui_custom_command.principal.not_blank=UI自定義命令負責人不能為空 +ui_custom_command.deleted.length_range=UI自定義命令刪除標誌長度範圍為{min}到{max} +ui_custom_command.deleted.not_blank=UI自定義命令刪除標誌不能為空 +ui_custom_command.create_user.length_range=UI自定義命令創建人長度範圍為{min}到{max} +ui_custom_command.create_user.not_blank=UI自定義命令創建人不能為空 +ui_custom_command.version_id.length_range=UI自定義命令版本ID長度範圍為{min}到{max} +ui_custom_command.version_id.not_blank=UI自定義命令版本ID不能為空 +ui_custom_command.ref_id.length_range=UI自定義命令引用ID長度範圍為{min}到{max} +ui_custom_command.ref_id.not_blank=UI自定義命令引用ID不能為空 +ui_custom_command.latest.length_range=UI自定義命令最新長度範圍為{min}到{max} +ui_custom_command.latest.not_blank=UI自定義命令最新不能為空 +ui_scenario_execution_info.id.not_blank=UI場景執行信息ID不能為空 +ui_scenario_execution_info.source_id.length_range=UI場景執行信息來源ID長度範圍為{min}到{max} +ui_scenario_execution_info.source_id.not_blank=UI場景執行信息來源ID不能為空 +ui_scenario_execution_info.result.length_range=UI場景執行信息結果長度範圍為{min}到{max} +ui_scenario_execution_info.result.not_blank=UI場景執行信息結果不能為空 +ui_scenario_module.id.not_blank=UI場景模塊ID不能為空 +ui_scenario_module.project_id.length_range=UI場景模塊項目ID長度範圍為{min}到{max} +ui_scenario_module.project_id.not_blank=UI場景模塊項目ID不能為空 +ui_scenario_module.name.length_range=UI場景模塊名稱長度範圍為{min}到{max} +ui_scenario_module.name.not_blank=UI場景模塊名稱不能為空 +ui_scenario_module.parent_id.length_range=UI場景模塊父ID長度範圍為{min}到{max} +ui_scenario_module.parent_id.not_blank=UI場景模塊父ID不能為空 +ui_scenario_module.pos.length_range=UI場景模塊位置長度範圍為{min}到{max} +ui_scenario_module.pos.not_blank=UI場景模塊位置不能為空 +ui_scenario_module.create_user.length_range=UI場景模塊創建人長度範圍為{min}到{max} +ui_scenario_module.create_user.not_blank=UI場景模塊創建人不能為空 +ui_scenario_reference.id.not_blank=UI場景引用ID不能為空 +ui_scenario_reference.ui_scenario_id.length_range=UI場景引用UI場景ID長度範圍為{min}到{max} +ui_scenario_reference.ui_scenario_id.not_blank=UI場景引用UI場景ID不能為空 +ui_scenario_reference.create_user.length_range=UI場景引用創建人長度範圍為{min}到{max} +ui_scenario_reference.create_user.not_blank=UI場景引用創建人不能為空 +ui_scenario_reference.reference_id.length_range=UI場景引用引用ID長度範圍為{min}到{max} +ui_scenario_reference.reference_id.not_blank=UI場景引用引用ID不能為空 +ui_scenario_reference.data_type.length_range=UI場景引用數據類型長度範圍為{min}到{max} +ui_scenario_reference.data_type.not_blank=UI場景引用數據類型不能為空 +ui_custom_command_blob.scenario_id.not_blank=UI自定義命令場景ID不能為空 +ui_scenario_report_structure.id.not_blank=UI場景報告結構ID不能為空 +ui_scenario_report_structure.report_id.length_range=UI場景報告結構報告ID長度範圍為{min}到{max} +ui_scenario_report_structure.report_id.not_blank=UI場景報告結構報告ID不能為空 +ui_scenario_blob.scenario_id.not_blank=UI場景場景ID不能為空 \ No newline at end of file diff --git a/backend/services/load-test/src/main/java/io/metersphere/load/domain/LoadTest.java b/backend/services/load-test/src/main/java/io/metersphere/load/domain/LoadTest.java deleted file mode 100644 index f949f64959..0000000000 --- a/backend/services/load-test/src/main/java/io/metersphere/load/domain/LoadTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package io.metersphere.load.domain; - -import lombok.Data; - -import java.io.Serializable; - -@Data -public class LoadTest implements Serializable { - private String id; - - private String projectId; - - private String name; - - private String description; - - private Long createTime; - - private Long updateTime; - - private String status; - - private String testResourcePoolId; - - private Integer num; - - private String createUser; - - private Long pos; - - private String versionId; - - private String refId; - - private Boolean latest; - - private static final long serialVersionUID = 1L; -} \ No newline at end of file diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/domain/Project.java b/backend/services/project-management/src/main/java/io/metersphere/project/domain/Project.java deleted file mode 100644 index bfc9c54224..0000000000 --- a/backend/services/project-management/src/main/java/io/metersphere/project/domain/Project.java +++ /dev/null @@ -1,24 +0,0 @@ -package io.metersphere.project.domain; - -import lombok.Data; - -import java.io.Serializable; - -@Data -public class Project implements Serializable { - private String id; - - private String workspaceId; - - private String name; - - private String description; - - private Long createTime; - - private Long updateTime; - - private String systemId; - - private static final long serialVersionUID = 1L; -} \ No newline at end of file