新增复合案例定义表和复合案例步骤表,添加相关字段以支持复杂测试用例

This commit is contained in:
longpeng 2025-06-29 23:50:09 +08:00
parent 1bae2f0e9f
commit b7263f1814

88
docs/init.sql Normal file
View File

@ -0,0 +1,88 @@
/*create database beacon DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
create user 'beacon'@'%' identified by '5VR2Fz7gAmKF0bv7';
grant all privileges on beacon.* TO 'beacon'@'%';
FLUSH PRIVILEGES;*/
-- 复合案例定义表
CREATE TABLE `composite_cases`
(
`id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`created_by` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建者',
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`updated_by` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '更新者',
`version` SMALLINT NOT NULL DEFAULT '0' COMMENT '乐观锁版本号',
`is_del` TINYINT NOT NULL DEFAULT '0' COMMENT '是否删除0正常 1删除',
`ext_json` VARCHAR(2048) NOT NULL DEFAULT '' COMMENT '扩展字段',
`name` VARCHAR(255) NOT NULL COMMENT '案例名称,例如:用户注册与登录流程',
`description` TEXT NULL COMMENT '案例描述',
`status` VARCHAR(50) DEFAULT 'active',
INDEX idx_name (`name`),
INDEX idx_create_at (`created_at`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8mb4 COMMENT = '复合案例定义表';
-- 复合案例步骤表
CREATE TABLE `composite_case_steps`
(
`id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`created_by` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建者',
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`updated_by` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '更新者',
`version` SMALLINT NOT NULL DEFAULT '0' COMMENT '乐观锁版本号',
`is_del` TINYINT NOT NULL DEFAULT '0' COMMENT '是否删除0正常 1删除',
`ext_json` VARCHAR(2048) NOT NULL DEFAULT '' COMMENT '扩展字段',
`composite_case_id` BIGINT NOT NULL COMMENT '所属复合案例ID',
`step_name` VARCHAR(128) NOT NULL COMMENT '步骤名称',
`step_order` INT NOT NULL COMMENT '步骤执行顺序',
`step_type` VARCHAR(64) NOT NULL COMMENT '步骤类型例如api, ui, sql, python',
`activity_name` VARCHAR(128) NOT NULL COMMENT 'Temporal Activity函数名例如RunApiTest, RunUiTest',
`parameters_json` JSON NULL COMMENT '步骤特定参数,例如:{"endpoint": "/users", "method": "GET"}',
`is_required` BOOLEAN DEFAULT TRUE COMMENT '是否必需步骤',
`step_description` TEXT NULL COMMENT '步骤描述',
`selector` VARCHAR(255) NULL COMMENT 'UI元素选择器',
`input_value` VARCHAR(255) NULL COMMENT '输入值',
`event_type` VARCHAR(50) NULL COMMENT '事件类型',
`offset_x` INT NULL COMMENT 'X轴偏移量',
`offset_y` INT NULL COMMENT 'Y轴偏移量',
`wait_time_seconds` INT NULL COMMENT '等待时间(秒)',
`success_next_step_order` INT NULL COMMENT '成功时跳转到的步骤顺序',
`failure_next_step_order` INT NULL COMMENT '失败时跳转到的步骤顺序',
`run_condition` JSON NULL COMMENT '执行条件,例如:{"previous_step_id": "step_xyz", "status": "success"}',
FOREIGN KEY (`composite_case_id`) REFERENCES `composite_cases` (`id`) ON DELETE CASCADE,
INDEX idx_composite_case_id (`composite_case_id`),
INDEX idx_step_order (`composite_case_id`, `step_order`),
INDEX idx_step_type (`step_type`),
UNIQUE KEY uk_case_step_order (`composite_case_id`, `step_order`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8mb4 COMMENT = '复合案例步骤表';
ALTER TABLE composite_cases
ADD COLUMN deleted_at DATETIME NULL AFTER updated_at;
-- 为composite_case_steps表添加缺失的字段
ALTER TABLE composite_case_steps
ADD COLUMN step_description TEXT NULL AFTER step_name COMMENT '步骤描述';
ALTER TABLE composite_case_steps
ADD COLUMN selector VARCHAR(255) NULL AFTER is_required COMMENT 'UI元素选择器';
ALTER TABLE composite_case_steps
ADD COLUMN input_value VARCHAR(255) NULL AFTER selector COMMENT '输入值';
ALTER TABLE composite_case_steps
ADD COLUMN event_type VARCHAR(50) NULL AFTER input_value COMMENT '事件类型';
ALTER TABLE composite_case_steps
ADD COLUMN offset_x INT NULL AFTER event_type COMMENT 'X轴偏移量';
ALTER TABLE composite_case_steps
ADD COLUMN offset_y INT NULL AFTER offset_x COMMENT 'Y轴偏移量';
ALTER TABLE composite_case_steps
ADD COLUMN wait_time_seconds INT NULL AFTER offset_y COMMENT '等待时间(秒)';