🎉🎉接口自动化框架代码

登录接口和用例接口的数据都需要录入到用例数据库中。

创建表

此处创建两张表,分别为base_login(存放登录接口)和article(用例表,可自行命名),以下是创建sql:

CREATE TABLE `base_login` (
  `case_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '用例id,建议用自己名字命名便于区分,如zmm-1.0',
  `creator` varchar(255) DEFAULT NULL COMMENT '创建人',
  `project_name` varchar(65) DEFAULT 'BlogProject' COMMENT '项目名称,如BlogProject',
  `case_module` varchar(255) DEFAULT NULL COMMENT '需求名称或者模块名称',
  `case_name` varchar(255) DEFAULT NULL COMMENT '用例名称',
  `api_way` varchar(32) DEFAULT 'POST' COMMENT '请求方式(GET、POST、PUT、DELETE)',
  `headers` longtext COMMENT '请求头',
  `case_url` varchar(255) DEFAULT NULL COMMENT '接口地址,只需要写路由后的地址',
  `case_param` longtext COMMENT '接口传参',
  `assert` longtext COMMENT '断言内容',
  `prepose_control` longtext COMMENT '前置全局变量,接口请求前需要做的前置动作',
  `postpose_control` longtext COMMENT '后置全局变量,接口请求后需要的数据,如断言所需的变量提取,之后接口所需的参数',
  `relevance_page` varchar(255) DEFAULT NULL COMMENT '对应的功能页面地址,便于其他人查找',
  `developer` varchar(255) DEFAULT NULL COMMENT '接口开发者',
  `created_time` date DEFAULT NULL COMMENT '创建时间',
  `text` longtext COMMENT '备注',
  `is_deleted` int DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='登录用例';
CREATE TABLE `article` (
  `case_id` varchar(50) DEFAULT NULL COMMENT '用例id,建议用自己名字命名便于区分,如zmm-1.0',
  `creator` varchar(255) DEFAULT NULL COMMENT '创建人',
  `project_name` varchar(65) DEFAULT 'BlogProject' COMMENT '项目名称,如BlogProject',
  `case_module` varchar(255) DEFAULT NULL COMMENT '需求名称或者模块名称',
  `case_name` varchar(255) DEFAULT NULL COMMENT '用例名称',
  `api_way` varchar(32) DEFAULT 'POST' COMMENT '请求方式(GET、POST、PUT、DELETE)',
  `headers` longtext COMMENT '请求头',
  `case_url` varchar(255) DEFAULT NULL COMMENT '接口地址,只需要写路由后的地址',
  `case_param` longtext COMMENT '接口传参',
  `assert` longtext COMMENT '断言内容',
  `prepose_control` longtext COMMENT '前置全局变量,接口请求前需要做的前置动作',
  `postpose_control` longtext COMMENT '后置全局变量,接口请求后需要的数据,如断言所需的变量提取,之后接口所需的参数',
  `relevance_page` varchar(255) DEFAULT NULL COMMENT '对应的功能页面地址,便于其他人查找',
  `developer` varchar(255) DEFAULT NULL COMMENT '接口开发者',
  `created_time` date DEFAULT NULL COMMENT '创建时间',
  `text` longtext COMMENT '备注',
  `is_deleted` int DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='文章接口用例';

导入示例接口用例数据

1、录入登录接口数据

调用业务接口要维持登录状态,如果是从登录接口获取token,需要在用例mysql的base_login表配置登录接口, 并在postpose_control字段写入存储token的语法。后续只需将存储的对应key名,填入其他接口的headers字段内即可。

INSERT INTO base_login
(case_id, creator, project_name, case_module, case_name, api_way, headers, case_url, case_param, assert, prepose_control, postpose_control, relevance_page, developer, created_time, `text`, is_deleted)
VALUES('zmm-1.0', '张某某', 'BlogProject', '登录', '账密登录成功', 'POST', NULL, '/api/login', '{"username":"test","password":"123456"}', '包含&&{"code":"200","data":"9779dd9e-aa3d-435f-a431-e699a67fe616","message":"登录成功!","success":true}&&', NULL, 'BlogProject_token=jsonpath_rela.data', NULL, '开发者', '2023-03-10', NULL, 0);

2、录入接口用例数据

INSERT INTO article
(case_id, creator, project_name, case_module, case_name, api_way, headers, case_url, case_param, assert, prepose_control, postpose_control, relevance_page, developer, created_time, `text`, is_deleted)
VALUES('zmm-1.0', '张某某', 'BlogProject', '文章管理', '文章列表', 'GET', 'token=##BlogProject_token##', '/api/articleList', NULL, '相等&&{"code":"200","data":[{"content":"长风破浪会有时,直挂云帆济沧海。","id":1,"title":"行路难"},{"content":"沉舟侧畔千帆过,病树前头万木春。","id":2,"title":"酬乐天扬州初逢席上见赠"}],"success":true}&&', NULL, NULL, NULL, '开发者', '2023-03-10', NULL, 0);
INSERT INTO article
(case_id, creator, project_name, case_module, case_name, api_way, headers, case_url, case_param, assert, prepose_control, postpose_control, relevance_page, developer, created_time, `text`, is_deleted)
VALUES('zmm-1.1', '张某某', 'BlogProject', '文章管理', '新增文章', 'POST', 'token=##BlogProject_token##', '/api/addArticle', '{"id":3, "title":"芙蓉楼送辛渐", "content":"洛阳亲友如相问,一片冰心在玉壶。"}', '存在&&添加新文章成功&&;自定义相等&&账密登录成功==##zyc_case_name.case_name##&&', 'sleep2', 'mysql_1.test_cases.zyc_case_name=select case_name from base_login where case_id=''zmm-1.0''', NULL, '开发者', '2023-03-10', NULL, 0);
INSERT INTO article
(case_id, creator, project_name, case_module, case_name, api_way, headers, case_url, case_param, assert, prepose_control, postpose_control, relevance_page, developer, created_time, `text`, is_deleted)
VALUES('zmm-1.2', '张某某', 'BlogProject', '文章管理', '查看新增的文章', 'GET', 'token=##BlogProject_token##', '/api/article/3', NULL, '包含&&{"code":"200","data":{"content":"洛阳亲友如相问,一片冰心在玉壶。","id":3,"title":"芙蓉楼送辛渐"},"success":true}&&', NULL, NULL, NULL, '开发者', '2023-03-10', NULL, 0);
INSERT INTO article
(case_id, creator, project_name, case_module, case_name, api_way, headers, case_url, case_param, assert, prepose_control, postpose_control, relevance_page, developer, created_time, `text`, is_deleted)
VALUES('zmm-1.3', '张某某', 'BlogProject', '文章管理', '编辑新增的文章', 'PUT', 'token=##BlogProject_token##', '/api/updateArticle/3', '{"title":"新-芙蓉楼送辛渐", "content":"洛阳亲友如相问,一片冰心在玉壶。"}', '不相等&&{"code":"200","message":"##zyc_case_name.case_name##","success":true}&&', 'redis.1.zyc_business_token=hmget qa_TEST_interface_params BlogProject_token', NULL, NULL, '开发者', '2023-03-10', NULL, 0);
INSERT INTO article
(case_id, creator, project_name, case_module, case_name, api_way, headers, case_url, case_param, assert, prepose_control, postpose_control, relevance_page, developer, created_time, `text`, is_deleted)
VALUES('zmm-1.4', '张某某', 'BlogProject', '文章管理', '删除新增的文章', 'DELETE', 'token=##BlogProject_token##', '/api/deleteArticle/3', NULL, '包含&&"message": "删除文章成功!"&&', NULL, 'apiCase.article=zmm-1.0', NULL, '开发者', '2023-03-10', NULL, 0);

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:http://zhangyanc.club/subject/article/api_mysql/

许可协议:署名-非商业性使用 4.0 国际许可协议