Eolink数据库智能API文档解决的问题
数据库脚本测试,是在我们CMMI3项目管理中比较重要的一个步骤,需要根据业务逻辑进行完整的sql功能测试,其实很多的时候作为DBA也是很麻烦的创建一堆的文档来记录,特别是在执行批量脚本的时候麻烦的很,那么,我们可以使用Eolink的这个功能来记录、测试、导入导出API,这样对于DBA来说就会节约很多的时间以及免掉整个文档处理的麻烦事情。并且可以在移交测试人员的过程中更为顺利。
演示流程
1、环境准备
2、数据库与数据表的准备
3、引入MySQL数据库
4、创建测试用例
5、完成CRUD测试
一、环境准备
这个步骤中我们主要准备Eolink的环境以及MySQL的环境,MySQL的环境我使用的是阿里的数据库,缴费时间还有800多天,这两年测试用我这个数据库就行。免费提供。
演示步骤
1、Eolink环境准备
2、数据库测试环境
3、创建测试数据库与表
1、Eolink环境
Eolink官网地址:Eolink-api接口管理平台_api管理系统_接口自动化平台
Eolink下载地址(windows端):https://data.eolink.com/winX64/Eolink.exe
一键Next式的安装,安装完成后建议使用微信登录,很方便。
2、数据库测试环境:
阿里的ECS:MySQL数据库5.7.32-log版本
rm-bp1zq3879r28p726lco.mysql.rds.aliyuncs.com
可以直接测试使用。我用于教学的。
userName:qwe8403000 pwd:Qwe8403000
截止日期到未来的823天,放心测试。
3、创建测试数据库与表
数据库名称
eolink_test
create datebase eolink_test;
建表语句
CREATE TABLE `eolink_mysql_api` ( `id` int(8) NOT NULL AUTO_INCREMENT COMMENT '编号' , `createDate` datetime NOT NULL COMMENT '创建时间' , `modifyDate` datetime NOT NULL COMMENT '修改时间' , `phone` varchar(20) NOT NULL COMMENT '手机号' , `userName` varchar(20) NOT NULL , `pwd` varchar(200) NOT NULL COMMENT '加密方式不定义故而写200' , `introduce` varchar(200) NOT NULL COMMENT '简介' , PRIMARY KEY (`id`), UNIQUE INDEX `only_phone` (`phone`) USING BTREE ) COMMENT='测试Eolink的数据表' ;
插入测试数据
insert into eolink_mysql_api VALUES (0,NOW(),NOW(),15633558181,'Eolink_admin','123456','专为开发者设计的API协作平台'), (0,NOW(),NOW(),15733558181,'Eolink_support_get','123456','Eolink_支持_GET协议'), (0,NOW(),NOW(),15333558181,'Eolink_support_post','123456','Eolink_支持_POST协议'), (0,NOW(),NOW(),15533558181,'Eolink_support_put','123456','Eolink_支持_PUT协议'), (0,NOW(),NOW(),15833558181,'Eolink_support_delete','123456','Eolink_支持_DELETE协议'), (0,NOW(),NOW(),15933558181,'Eolink_support_mock','123456','Eolink_支持_MOCK'), (0,NOW(),NOW(),15833558182,'Eolink_support_MySQL','123456','Eolink_支持_MySQL') ;
创建视图
# 创建视图 create VIEW eolink_view as select * from eolink_mysql_api where introduce LIKE '%P%'; # 查询视图 select * from eolink_view;
二、测试脚本编写
演示步骤
1、准备测试sql脚本
2、Eolink引入MySQL
1、准备测试sql脚本
增加语句
# 增加语句 insert into eolink_mysql_api VALUES(0,NOW(),NOW(),'13472040766','Eolink_super_admin','123456','专为开发者设计的API协作平台');
删除语句
# 删除语句 DELETE from eolink_mysql_api where phone = '13472040766';
修改语句
# 修改语句 update eolink_mysql_api set pwd =PASSWORD('123456') where userName = 'Eolink_admin';
查询语句
# 查询语句 select * from eolink_mysql_api where userName = 'Eolink_admin';
视图调用
# 查询视图 select * from eolink_view;
2、Eolink引入MySQL
演示步骤
1、打开eolink
2、添加项目
3、操作面板变化
4、添加MySQL数据库连接
5、在线连接MySQL
6、MySQL连接成功
1、打开eolink
我这里使用的是Eolink客户端,下载完成后进行注册登录。
2、添加项目
点击左上角的【API管理】,选择【API自动化测试】
页面效果:
选择添加项目
添加一个项目,输入测试名称与备注,点击确定。
进入项目
3、操作面板变化
我们终于找到数据库连接了。
4、添加MySQL数据库连接
在第4步骤中我们看到了数据库连接的选项,我们进行点击,点击之后看到的面板中我们选择【添加数据库连接】
5、在线连接MySQL
这个步骤麻烦一些,按照下图逐一操作即可。我都标注顺序了,如果你没有在线的数据库可以使用我的,使用时间绝对保证你能彻底掌握这个操作。
6、MySQL连接成功
三、添加MySQL用例
演示步骤
1、添加用例
2、编辑用例
3、添加数据库用例操作
1、添加用例
返回【用例】,选择【添加用例】。
输入用例名称,点击确认创建【用例】。
2、编辑用例
直接点击我们创建好的用例就能进入编辑了。
页面效果:
3、添加数据库用例操作
点击【添加测试步骤】右侧的下拉菜单,选择【添加数据库操作】。
页面效果:
四、MySQL用例测试
演示步骤
1、无参数查询语句测试
2、有参查询语句
3、增删改语句测试
4、视图测试
1、无参数查询语句测试
无参的测试是一个基础测试,我们干活的时候基本上都会跑一个无参的测试一下环境。
输入查询返回结果:
eo.info(db_result["query"][0]["result"]);
编辑完成后点击保存。
查询测试
结果展现,一目了然。
2、有参查询语句
重复步骤【3.3】添加新的数据库操作,来完成下列有参的测试步骤。
添加参数【★★★★★】
这里得先手动添加【${变量名}】才会出现后面的【请求参数】对话框。一定要注意,我找了好久才测试出来的,老不容易了。就这个地方必须值你的三连。
添加结果验证:
校验代码:
if(db_result["status"]=="success"){ if(db_result["query"][0]["result"][0]["userName"]=="Eolink_admin"){ eo.info("查询结果的userName是Eolink_admin所以测试成功"); }else{ eo.stop("返回结果与需求不符"); } } else{ //执行失败 eo.stop("数据库语句执行失败"); }
保存后我们去测试:
错误返回
由于我们没有添加单引号,故而SQL语句报错,我们去修改一下。
从下图中我们能看到,通过与未通过的提示。
成功测试:
修改sql:
select * from eolink_mysql_api where userName = '${userName}';
测试成功
3、增删改语句测试
下面我对增删改语句的测试,其对参数的操作多操作几次就会很熟悉了,我在突破这里的时候我就摸索了好一会,您可以看着我的教程直接操作。很节约时间的。
1、插入语句
带变量参数的插入语句
insert into eolink_mysql_api VALUES(0,NOW(),NOW(),'${phone}','${userName}','${pwd}','${introduce}');
依然在【自定义校验规则】中添加【eo.info(db_result["query"][0]["result"]);】,后面的删除与修改都要添加哦。
保存测试:
2、删除语句
DELETE from eolink_mysql_api where phone = '${phone}';
测试结果:
3、修改语句
update eolink_mysql_api set pwd =PASSWORD('${pwd}') where userName = '${userName}';
测试结果:
4、视图测试
select * from eolink_view;
在结果中可以看到,视图也是可以直接调用的。
五、批量测试与导出API文档
这里就是我们正式工作中的步骤了,批量测试,查看通过率,都测试通过了代表我们的数据库是可以经得起考验的,是可以提交给下一个部门的时候了。
演示步骤
1、批量测试
2、导出API文档
3、导回API脚本
1、批量测试
点击【批量操作】
勾选所有步骤。
测试结果
2、导出API文档
1、返回用例面板
滚动条拉动到最右侧,选择更多的【导出】功能。
2、等待生成用例脚本
3、下载生成的用例脚本
json类型的
4、脚本格式
脚本为【UTF-8】编码格式的【JSON】数据格式。
3、导回API脚本
我们讲导出的脚本导回到项目中,相当于我们更换设备的时候就更加方便了。
导入过程需要等一会。
导回成功:
测试:
六、总结
Eolink的这个功能还是非常不错的,相当于对实施工程师和DBA都有一定的帮助。特别是实施,很多的时候需要只有一个查询的权限,但是各种老板又各种需求,有了Eolink的这个功能就可以根据项目进行划分,为每个企业定制不同的查询需求,并且是在线可用的,相当可以。
主要还得是用在【数据库测试】中,很多时候【DBA】会给测试人员一堆【SQL】,我们就可以直接使用这个功能,编辑完成后批量测试,刷刷刷就出结果,怎一个痛快了得,值得推荐,非常棒的【神技】。