提交 963e33c5 authored 作者: Matrix's avatar Matrix

test(用例执行器): 更新了单元测试,更新了数据库脚本

上级 e194cc04
/*
Navicat Premium Data Transfer
Source Server : 我的阿里云
Source Server Type : MySQL
Source Server Version : 80022
Source Host : 47.106.142.73:3306
Source Schema : lstest
Target Server Type : MySQL
Target Server Version : 80022
File Encoding : 65001
Date: 14/01/2022 11:22:30
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for action
-- ----------------------------
DROP TABLE IF EXISTS `action`;
CREATE TABLE `action` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
`move_id` int NULL DEFAULT NULL COMMENT '行为ID',
`project_id` int NULL DEFAULT NULL COMMENT '项目ID',
`remark` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '备注',
`type` int NULL DEFAULT NULL COMMENT '类型 1为SQL,2为HTTP,3为CASE,4为WAIT_TIME',
`detail` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '详细参数',
`create_time` timestamp NULL DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `fk_active_move`(`move_id`) USING BTREE,
CONSTRAINT `fk_active_move` FOREIGN KEY (`move_id`) REFERENCES `move` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '动作' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for connect
-- ----------------------------
DROP TABLE IF EXISTS `connect`;
CREATE TABLE `connect` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
`url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'URL',
`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '账号',
`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码',
`driver` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所用驱动',
`create_time` timestamp NULL DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for dynamic_variable
-- ----------------------------
DROP TABLE IF EXISTS `dynamic_variable`;
CREATE TABLE `dynamic_variable` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
`project_id` int NULL DEFAULT NULL COMMENT '所属项目',
`taken_field` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '取用字段',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
`type` int NOT NULL COMMENT '动态变量类型 1为KV,2为SQL,3为CASE,4为HTTP',
`remark` varchar(510) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
`detail` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '详细内容',
`create_time` timestamp NULL DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `fk_project_dynamicVariable`(`project_id`) USING BTREE,
CONSTRAINT `fk_project_dynamicVariable` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for example
-- ----------------------------
DROP TABLE IF EXISTS `example`;
CREATE TABLE `example` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '实例名称',
`parameter_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数名 (例如:env)',
`project_id` int NULL DEFAULT NULL COMMENT '项目ID',
`variable` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '静态变量,以JSON的形式存储,例如({\"name\":\"张三\"})',
`ip` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'ip,例如(http:www.abc.com)',
`create_time` timestamp NULL DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `fk_project_case`(`project_id`) USING BTREE,
CONSTRAINT `fk_project_case` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '实例表,项目对应的环境实例,例如:实验室环境,开发环境等' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for move
-- ----------------------------
DROP TABLE IF EXISTS `move`;
CREATE TABLE `move` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
`project_id` int NULL DEFAULT NULL COMMENT '所属项目',
`remark` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '备注',
`create_time` timestamp NULL DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `fk_move_project`(`project_id`) USING BTREE,
CONSTRAINT `fk_move_project` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for project
-- ----------------------------
DROP TABLE IF EXISTS `project`;
CREATE TABLE `project` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名称',
`create_time` timestamp NULL DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for test_case
-- ----------------------------
DROP TABLE IF EXISTS `test_case`;
CREATE TABLE `test_case` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
`project_id` int NULL DEFAULT NULL COMMENT '所属项目',
`type` int NOT NULL COMMENT '用例类型 1为http',
`move_before` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '前置行动ID组,例如:1,2,3',
`move_afer_case` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '后置行动ID组,例如:1,2,3',
`move_afer_test` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '测试执行后行动ID组,例如:1,2,3',
`abnormal_checkpoint` int NOT NULL DEFAULT 0 COMMENT '是否进行异常检验,0为否,1为是',
`no_empty_checkpoint` int NOT NULL DEFAULT 0 COMMENT '是否进行非空检验,0为否,1为是',
`contain_checkpoint` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '包含某字段检验(例如 张三,李四) 则对检查结果中是否包含张三或者李四',
`no_contain_checkpoint` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '不包含某字段检验(例如 张三,李四) 则对检查结果中是否不包含张三或者李四',
`database_checkpoint` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '数据库检验点,以JSON形式存放',
`jsonpath_checkpoint` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'jsonpath检验点,以json形式存放',
`detail` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '详细参数',
`create_time` timestamp NULL DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `fk_case_project`(`project_id`) USING BTREE,
CONSTRAINT `fk_case_project` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
create table kt_action
(
id bigint(11) auto_increment comment 'ID'
primary key,
name varchar(255) null,
move_id bigint(11) null comment '行为ID',
project_id bigint(11) null comment '项目ID',
remark text null comment '备注',
type int null comment '类型 1为SQL,2为HTTP,3为CASE,4为WAIT_TIME',
env_id bigint(11) null comment '环境id',
detail text null comment '详细参数',
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
)
comment
'动作表,包含了实际的动作参数' charset = utf8;
create index fk_active_move
on kt_action (move_id);
create table kt_connect
(
id bigint(11) auto_increment comment 'ID'
primary key,
name varchar(255) null comment '名称',
url varchar(255) null comment 'URL',
username varchar(255) null comment '账号',
password varchar(255) null comment '密码',
driver varchar(255) null comment '所用驱动',
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
)
comment
'连接表,包含里连接数据源所需要的参数' charset = utf8;
create table kt_dynamic_variable
(
id bigint(11) auto_increment comment 'ID'
primary key,
project_id bigint(11) null comment '所属项目',
taken_field varchar(255) null comment '取用字段',
name varchar(255) null comment '名称',
type int not null comment '动态变量类型 1为KV,2为SQL,3为CASE,4为HTTP',
remark varchar(510) null comment '备注',
detail text null comment '详细内容',
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
)
comment
'动态变量表,用于表示数值会发生变化的变量' charset = utf8;
create index fk_project_dynamicVariable
on kt_dynamic_variable (project_id);
create table kt_environment
(
id bigint(11) auto_increment comment 'ID'
primary key,
name varchar(255) null comment '实例名称',
parameter_name varchar(255) null comment '参数名 (例如:env)',
project_id bigint(11) null comment '项目ID',
variable text null comment '静态变量,以JSON的形式存储,例如({"name":"张三"})',
is_default tinyint(255) null comment '是否为默认',
ip varchar(255) null comment 'ip,例如(http:www.abc.com)',
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
)
comment
'实例表,项目对应的环境实例,例如:实验室环境,开发环境等' charset = utf8;
create index fk_project_case
on kt_environment (project_id);
create table kt_execution_record
(
id bigint(11) auto_increment comment 'ID'
primary key,
user_id bigint(11) null comment '用户id',
test_job_id bigint null comment '测试任务id',
test_case_id bigint null comment '测试用例id',
test_data_id bigint null comment '测试数据id',
status int null comment '执行状态,0:停止,1:执行',
type varchar(255) charset utf8 null comment '类型',
union_key varchar(255) charset utf8 null comment 'key用来记录执行批次',
log text charset utf8 null comment '日志',
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
)
comment
'执行记录表,记录用例执行过程中的日志' charset = utf8;
create table kt_move
(
id bigint(11) auto_increment comment 'ID'
primary key,
name varchar(255) null comment '名称',
project_id bigint(11) null comment '所属项目',
remark text null comment '备注',
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
) charset = utf8;
create index fk_move_project
on kt_move (project_id);
create table kt_project
(
id bigint(11) not null comment 'ID'
primary key,
name varchar(255) null comment '名称',
project_url varchar(255) null comment '/v2/api-docs地址',
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
)
comment
'项目表,数据由读取禅道获得' charset = utf8;
create table kt_test_case
(
id bigint(11) auto_increment comment 'ID'
primary key,
name varchar(255) null comment '名称',
project_id bigint(11) null comment '所属项目',
type int not null comment '用例类型 1为http',
detail text null comment '详细参数',
move_before varchar(255) null comment '前置行动ID组,例如:1,2,3',
move_after_case varchar(255) null comment '后置行动ID组,例如:1,2,3',
move_after_test varchar(255) null comment '测试执行后行动ID组,例如:1,2,3',
des varchar(255) null comment '用例描述',
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
)
comment
'测试用例表,测试的平台的主体数据' charset = utf8;
create index fk_case_project
on kt_test_case (project_id);
create table kt_test_data
(
id bigint auto_increment comment '主键id'
primary key,
name varchar(255) charset utf8 null comment '名称',
abnormal_checkpoint int not null comment '是否进行异常检验,0为否,1为是',
no_empty_checkpoint int not null comment '是否进行非空检验,0为否,1为是',
contain_checkpoint text charset utf8 null comment '包含某字段检验(例如 张三,李四) 则对检查结果中是否包含张三或者李四',
no_contain_checkpoint text charset utf8 null comment '不包含某字段检验(例如 张三,李四) 则对检查结果中是否不包含张三或者李四',
database_checkpoint text charset utf8 null comment '数据库检验点,以JSON形式存放',
jsonpath_checkpoint text charset utf8 null comment 'jsonpath检验点,以json形式存放',
detail text charset utf8 null comment '详细参数',
test_case_id bigint not null comment '关联的测试用例的id',
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
)
comment
'测试接口的一组数据' charset = utf8;
create table kt_test_task
(
id bigint(11) auto_increment comment 'ID'
primary key,
name varchar(255) charset utf8 null comment '名称',
sql_statement text charset utf8 null comment 'sql语句',
remark varchar(510) charset utf8 null comment '备注',
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
)
comment
'测试任务表,用于选取某一组要测试的测试用例' charset = utf8;
create table kt_user
(
id bigint(11) not null
primary key,
name varchar(255) null,
account varchar(255) null,
password varchar(255) null,
create_time timestamp not null comment '数据创建时间',
update_time timestamp not null comment '数据更新时间'
)
comment
'用户表,数据由读取禅道获得' charset = utf8;
create table kt_user_project
(
id bigint(11) auto_increment
primary key,
user_id bigint(11) null,
project_id bigint(11) null
)
comment
'用户表与数据表的中间表,用来记录多对多的记录关系' charset = utf8;
LOCK TABLES `kt_user` WRITE;
/*!40000 ALTER TABLE `kt_user` DISABLE KEYS */;
INSERT INTO `kt_user` VALUES (1,'2022-03-10 03:00:00','2022-03-10 03:00:00','admin','admin','0287040c474dbf44cdeb17eebb99d828'),(2,'2022-03-10 03:00:00','2022-03-10 03:00:00','李迪凡','ldf','29c74453e3693a19ad98139093047eaf'),(3,'2022-03-10 03:00:00','2022-03-10 03:00:00','占金明','zjm','4377dcd95b828fccb68b2401b7f12196'),(4,'2022-03-10 03:00:00','2022-03-10 03:00:00','张斌','zbb','3a61aff3d8eb641b996cd5e522ed2150'),(5,'2022-03-10 03:00:00','2022-03-10 03:00:00','鲍仁聪','brc','1c15f9892bb69053b951c22e519453ed'),(6,'2022-03-10 03:00:00','2022-03-10 03:00:00','黄志强','hzq','66670eab54f16e98a772115af93f810c'),(7,'2022-03-10 03:00:00','2022-03-10 03:00:00','朱刚炎','zgy','531340aa8835380421a52a39fd2c2da8'),(8,'2022-03-10 03:00:00','2022-03-10 03:00:00','周少攀','zsp','e52d06c7e3537dd5b5b56f5d01668e0a'),(9,'2022-03-10 03:00:00','2022-03-10 03:00:00','向恩泽','xez','70ecd4a4394a02399ac25870a4461034'),(10,'2022-03-10 03:00:00','2022-03-10 03:00:00','陈基鹏','cjp','764966d2730ca3af2cfda6fcdb048018'),(11,'2022-03-10 03:00:00','2022-03-10 03:00:00','高睿盛','grs','2ca2bb5661427c95abf943355b0de3b2'),(12,'2022-03-10 03:00:00','2022-03-10 03:00:00','楼怡伶','lyl','3930da7c43eecceef2824f164970b51d'),(13,'2022-03-10 03:00:00','2022-03-10 03:00:00','黄开华','hkh','947e679f16e7de406af920bf0185bfdb'),(14,'2022-03-10 03:00:00','2022-03-10 03:00:00','徐阳阳','xyy','315fbf4f41955df4971e5765556f871f'),(15,'2022-03-10 03:00:00','2022-03-10 03:00:00','钱嘉伟','qjw','044f8d99ab8d8d310ee4e149c04581f5'),(16,'2022-03-10 03:00:00','2022-03-10 03:00:00','陈瑞基','crj','018aca48e63013e654b9ded6b483dcd6'),(17,'2022-03-10 03:00:00','2022-03-10 03:00:00','宋开封','skf','4e1ff0d66bc161270e845f1eaedc54bc'),(18,'2022-03-10 03:00:00','2022-03-10 03:00:00','郑德钧','zdj','9a21ff94b82e37359ee376e0791b5b89'),(19,'2022-03-10 03:00:00','2022-03-10 03:00:00','李佳杰','ljj','7b406ceb8f58e2726f902b242bbfc203'),(20,'2022-03-10 03:00:00','2022-03-10 03:00:00','苗润雨','mry','490be5a3d90c1d40c9c45eab8be7e978'),(21,'2022-03-10 03:00:00','2022-03-10 03:00:00','徐文娟','xwj','844ab5c50cdabe4907a95b400a723a2e'),(22,'2022-03-10 03:00:00','2022-03-10 03:00:00','黄夏豪','hxh','cae0bf219196f11c9eaff96ebb72b01a'),(23,'2022-03-10 03:00:00','2022-03-10 03:00:00','张维凯','zwk','f83ac06ce1268a40c003d8169d966d18'),(24,'2022-03-10 03:00:00','2022-03-10 03:00:00','郑大治','zdz','815840d66dc5b754f3dbeaa3a5f2dbc7'),(25,'2022-03-10 03:00:00','2022-03-10 03:00:00','黄少波','hsb','4d3f691756bf0c7ef53b9297553a648b'),(26,'2022-03-10 03:00:00','2022-03-10 03:00:00','吴沛霖','wpl','1fbcfd9c37574771d39358263f37123d'),(27,'2022-03-10 03:00:00','2022-03-10 03:00:00',' 赖静','ktt','52fc13e663a448a1cf7995d9ffc9844c'),(28,'2022-03-10 03:00:00','2022-03-10 03:00:00','孙洁清','sjq','179bfbd21ac5a2cbce534f49584ccced'),(29,'2022-03-10 03:00:00','2022-03-10 03:00:00','黄承天','hct','2e4af4a82c12ed52252d862c33173ed3'),(30,'2022-03-10 03:00:00','2022-03-10 03:00:00','刘达','ldd','fafa6fda2d247deb651e5664c7cc8a93'),(31,'2022-03-10 03:00:00','2022-03-10 03:00:00','陈家豪','cjh','70c060f4f914cafad72d7ed49967fc82'),(32,'2022-03-10 03:00:00','2022-03-10 03:00:00','陈钰炘','cyx','9bb9eaa2abca9b9c0b1a981a0a0071ff'),(33,'2022-03-10 03:00:00','2022-03-10 03:00:00','谢潮','xcc','bca379bfed2eb121ce7b7dab13e94cf2'),(34,'2022-03-10 03:00:00','2022-03-10 03:00:00','练为清','lwq','cd4501c2a56c298293085ff0e5921e5b'),(35,'2022-03-10 03:00:00','2022-03-10 03:00:00','周雨莹','zyy','662a98e2599829702047fdfc9c6fdb26'),(36,'2022-03-10 03:00:00','2022-03-10 03:00:00','邵越','syy','eb2a9e52ec5b194edb0e030665f8113a'),(37,'2022-03-10 03:00:00','2022-03-10 03:00:00','沈世杰','ssj','4008dc243af957ed1295afd74818882e'),(38,'2022-03-10 03:00:00','2022-03-10 03:00:00','江育林','jyl','1a6aa2c34d6135b683e6c1ff72a6f97a'),(39,'2022-03-10 03:00:00','2022-03-10 03:00:00','陈枫','cff','467ef16c7acca96925ca876c007405d3'),(40,'2022-03-10 03:00:00','2022-03-10 03:00:00','陈兆奇','pq1','de70b4c3188b7e0020cc3c4369f5964e'),(41,'2022-03-10 03:00:00','2022-03-10 03:00:00','余浩','yh1','0bdd1bcb089659dbb29811ffdedf9d86'),(42,'2022-03-10 03:00:00','2022-03-10 03:00:00','刘洁','lj1','e7ac034190cac139abbb9a3010fc9837'),(43,'2022-03-10 03:00:00','2022-03-10 03:00:00','李日君','lrj','ea344be0acad0171ff77057d07d1e3ad'),(44,'2022-03-10 03:00:00','2022-03-10 03:00:00','黄家富','hjf','6d6b656469ba3a90e788e38cb1994325'),(45,'2022-03-10 03:00:00','2022-03-10 03:00:00','王克强','wkq','1f6ab0c8390bbce6abeb8a43657a17e5');
/*!40000 ALTER TABLE `kt_user` ENABLE KEYS */;
UNLOCK TABLES;
LOCK TABLES `kt_user_project` WRITE;
/*!40000 ALTER TABLE `kt_user_project` DISABLE KEYS */;
INSERT INTO `kt_user_project` VALUES (305,1,14),(306,1,17),(307,1,20),(308,9,20),(309,13,14),(310,13,20),(311,21,14),(312,21,20),(313,22,17),(314,22,20),(315,23,14),(316,23,20),(317,24,20),(318,27,20),(319,28,20),(320,29,20),(321,30,20),(322,34,20),(323,35,20),(324,36,20),(325,37,20),(326,38,20),(327,40,20),(328,43,20),(329,44,20);
/*!40000 ALTER TABLE `kt_user_project` ENABLE KEYS */;
UNLOCK TABLES;
LOCK TABLES `kt_user_project` WRITE;
/*!40000 ALTER TABLE `kt_user_project` DISABLE KEYS */;
INSERT INTO `kt_user_project` VALUES (305,1,14),(306,1,17),(307,1,20),(308,9,20),(309,13,14),(310,13,20),(311,21,14),(312,21,20),(313,22,17),(314,22,20),(315,23,14),(316,23,20),(317,24,20),(318,27,20),(319,28,20),(320,29,20),(321,30,20),(322,34,20),(323,35,20),(324,36,20),(325,37,20),(326,38,20),(327,40,20),(328,43,20),(329,44,20);
/*!40000 ALTER TABLE `kt_user_project` ENABLE KEYS */;
UNLOCK TABLES;
\ No newline at end of file
...@@ -47,7 +47,7 @@ public class EnvironmentActuator implements Actuator { ...@@ -47,7 +47,7 @@ public class EnvironmentActuator implements Actuator {
*/ */
public String replaceEnvVar(String sqlExp, Long envId) { public String replaceEnvVar(String sqlExp, Long envId) {
// SQL表达式首先尝试替换掉形如#{name}的共享环境变量 todo 这里的env的map应该做一个缓存 // SQL表达式首先尝试替换掉形如#{name}的共享环境变量 todo 这里的env的map应该做一个缓存
Environment env = Optional.of(envService.getById(envId)) Environment env = Optional.ofNullable(envService.getById(envId))
.orElseThrow(() -> new GlobalException("没有找到对应ID的example(env)对象,id = " + envId)); .orElseThrow(() -> new GlobalException("没有找到对应ID的example(env)对象,id = " + envId));
Map<String, String> envMap = env.getVariable(); Map<String, String> envMap = env.getVariable();
List<String> envList = ReUtil.findAll(ENV_VAR_EXP, sqlExp, 2, new ArrayList<>()); List<String> envList = ReUtil.findAll(ENV_VAR_EXP, sqlExp, 2, new ArrayList<>());
......
...@@ -134,6 +134,8 @@ public class MoveActuator implements Actuator { ...@@ -134,6 +134,8 @@ public class MoveActuator implements Actuator {
if (pathResolution) { if (pathResolution) {
finalValue = expressionUtil.completeJsonPathExpression(jsonPath, finalValue); finalValue = expressionUtil.completeJsonPathExpression(jsonPath, finalValue);
} }
log.info("[行为语法解析] 初始语法 = {} ,解析结果 = {}",dynamicString,finalValue);
LogQueueRuntime.addNewLog(String.format("[行为语法解析] 初始语法 = %s ,解析结果 = %s",dynamicString,finalValue));
return finalValue; return finalValue;
} }
...@@ -150,7 +152,7 @@ public class MoveActuator implements Actuator { ...@@ -150,7 +152,7 @@ public class MoveActuator implements Actuator {
* @param caseResultData 测试用例执行后保留下的结果集,该参数在前置策略中可以为null,在中间/后置策略中必须要提供合理的结果集对象 * @param caseResultData 测试用例执行后保留下的结果集,该参数在前置策略中可以为null,在中间/后置策略中必须要提供合理的结果集对象
* @param strategy 动作的策略,即是前置/中间/后置,具体查看{@link MoveStrategy} * @param strategy 动作的策略,即是前置/中间/后置,具体查看{@link MoveStrategy}
*/ */
public void runMove(Long moveId, Long envId, Long projectId, Object caseResultData, MoveStrategy strategy) { public void runMove(Long moveId, Long envId, Long projectId, String caseResultData, MoveStrategy strategy) {
Action action = actionService.findByMoveAndEnv(moveId, envId) Action action = actionService.findByMoveAndEnv(moveId, envId)
.orElseThrow(() -> new GlobalException(String.format("没有找到指定的action动作对象,提供查询的moveId = %d,envId = %d", moveId, envId))); .orElseThrow(() -> new GlobalException(String.format("没有找到指定的action动作对象,提供查询的moveId = %d,envId = %d", moveId, envId)));
LogQueueRuntime.addNewLog(String.format("准备执行行为动作,动作策略: %s,行为Id =%d ,动作id = %d", strategy, moveId, action.getId())); LogQueueRuntime.addNewLog(String.format("准备执行行为动作,动作策略: %s,行为Id =%d ,动作id = %d", strategy, moveId, action.getId()));
...@@ -188,6 +190,8 @@ public class MoveActuator implements Actuator { ...@@ -188,6 +190,8 @@ public class MoveActuator implements Actuator {
} else { } else {
throw new GlobalException("不支持的行为类型: " + actionType); throw new GlobalException("不支持的行为类型: " + actionType);
} }
log.info("[动作执行器] 动作执行完毕");
} }
/** /**
......
package org.matrix.actuators.move; package org.matrix.actuators.move;
import org.junit.Assert;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.matrix.socket.LogQueueRuntime;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import static org.junit.jupiter.api.Assertions.*;
/** /**
* MoveActuatorTest. * MoveActuatorTest.
* *
...@@ -22,8 +23,20 @@ class MoveActuatorTest { ...@@ -22,8 +23,20 @@ class MoveActuatorTest {
@Autowired @Autowired
private MoveActuator moveActuator; private MoveActuator moveActuator;
@Test
void runMoveSQL() {
LogQueueRuntime.initTestCaseLog(null, null, null, null);
moveActuator.runMove(72L, 9L, 1L, null, MoveStrategy.PRE_MOVE);
String result = moveActuator.parseMoveVar("${pre72.url}[1]");
Assertions.assertTrue(result.length() > 0, result);
}
@Test @Test
void runMove() { void runMoveHTTP() {
LogQueueRuntime.initTestCaseLog(null, null, null, null);
moveActuator.runMove(72L, 10L, 1L, null, MoveStrategy.PRE_MOVE);
String result = moveActuator.parseMoveVar("${pre72.responseBody}<$.data.records[1].name>");
Assertions.assertTrue(result.length() > 0, result);
} }
} }
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论