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开发协作平台

一键Next式的安装,安装完成后建议使用微信登录,很方便。

根据数据库数据生成 JAVA代码 从数据库直接生成api_MySQL


2、数据库测试环境:

阿里的ECS:MySQL数据库5.7.32-log版本

rm-bp1zq3879r28p726lco.mysql.rds.aliyuncs.com

可以直接测试使用。我用于教学的。

1 userName:qwe8403000
2
3 pwd:Qwe8403000

截止日期到未来的823天,放心测试。

根据数据库数据生成 JAVA代码 从数据库直接生成api_测试_02


3、创建测试数据库与表

数据库名称

eolink_test

1 create datebase eolink_test;

根据数据库数据生成 JAVA代码 从数据库直接生成api_MySQL_03


建表语句

1 CREATE TABLE `eolink_mysql_api` (
2 `id`  int(8) NOT NULL AUTO_INCREMENT COMMENT '编号' ,
3 `createDate`  datetime NOT NULL COMMENT '创建时间' ,
4 `modifyDate`  datetime NOT NULL COMMENT '修改时间' ,
5 `phone`  varchar(20) NOT NULL COMMENT '手机号' ,
6 `userName`  varchar(20) NOT NULL ,
7 `pwd`  varchar(200) NOT NULL COMMENT '加密方式不定义故而写200' ,
8 `introduce`  varchar(200) NOT NULL COMMENT '简介' ,
9 PRIMARY KEY (`id`),
10 UNIQUE INDEX `only_phone` (`phone`) USING BTREE 
11 )
12 COMMENT='测试Eolink的数据表'
13 ;

根据数据库数据生成 JAVA代码 从数据库直接生成api_根据数据库数据生成 JAVA代码_04


插入测试数据

1 insert into eolink_mysql_api VALUES
2 (0,NOW(),NOW(),15633558181,'Eolink_admin','123456','专为开发者设计的API协作平台'),
3 (0,NOW(),NOW(),15733558181,'Eolink_support_get','123456','Eolink_支持_GET协议'),
4 (0,NOW(),NOW(),15333558181,'Eolink_support_post','123456','Eolink_支持_POST协议'),
5 (0,NOW(),NOW(),15533558181,'Eolink_support_put','123456','Eolink_支持_PUT协议'),
6 (0,NOW(),NOW(),15833558181,'Eolink_support_delete','123456','Eolink_支持_DELETE协议'),
7 (0,NOW(),NOW(),15933558181,'Eolink_support_mock','123456','Eolink_支持_MOCK'),
8 (0,NOW(),NOW(),15833558182,'Eolink_support_MySQL','123456','Eolink_支持_MySQL')
9 ;

创建视图

1 创建视图
2 create VIEW eolink_view as select * from eolink_mysql_api where introduce LIKE '%P%';
3 # 查询视图
4 select * from eolink_view;

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_05


二、测试脚本编写

演示步骤

1、准备测试sql脚本

2、Eolink引入MySQL


1、准备测试sql脚本

增加语句

1 增加语句
2 insert into eolink_mysql_api VALUES(0,NOW(),NOW(),'13472040766','Eolink_super_admin','123456','专为开发者设计的API协作平台');

删除语句

1 删除语句
2 DELETE from eolink_mysql_api where phone = '13472040766';

修改语句

1 修改语句
2 update eolink_mysql_api set pwd =PASSWORD('123456') where userName = 'Eolink_admin';

查询语句

1 查询语句
2 select * from eolink_mysql_api where userName = 'Eolink_admin';

视图调用

1 查询视图
2 select * from eolink_view;


2、Eolink引入MySQL

演示步骤

1、打开eolink

2、添加项目

3、操作面板变化

4、添加MySQL数据库连接

5、在线连接MySQL

6、MySQL连接成功


2.1 打开eolink

我这里使用的是Eolink客户端,下载完成后进行注册登录。

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_06


2.2 添加项目

点击左上角的【API管理】,选择【API自动化测试】

根据数据库数据生成 JAVA代码 从数据库直接生成api_根据数据库数据生成 JAVA代码_07

页面效果:

根据数据库数据生成 JAVA代码 从数据库直接生成api_根据数据库数据生成 JAVA代码_08

选择添加项目

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_09

添加一个项目,输入测试名称与备注,点击确定。

根据数据库数据生成 JAVA代码 从数据库直接生成api_根据数据库数据生成 JAVA代码_10

进入项目

根据数据库数据生成 JAVA代码 从数据库直接生成api_MySQL_11


2.3 操作面板变化

我们终于找到数据库连接了。

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_12


2.4 添加MySQL数据库连接

在第4步骤中我们看到了数据库连接的选项,我们进行点击,点击之后看到的面板中我们选择【添加数据库连接】

根据数据库数据生成 JAVA代码 从数据库直接生成api_测试_13


2.5 在线连接MySQL

这个步骤麻烦一些,按照下图逐一操作即可。我都标注顺序了,如果你没有在线的数据库可以使用我的,使用时间绝对保证你能彻底掌握这个操作。

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_14


2.6 MySQL连接成功

根据数据库数据生成 JAVA代码 从数据库直接生成api_根据数据库数据生成 JAVA代码_15


三、添加MySQL用例

演示步骤

1、添加用例

2、编辑用例

3、添加数据库用例操作


1、添加用例

返回【用例】,选择【添加用例】。

根据数据库数据生成 JAVA代码 从数据库直接生成api_测试_16

输入用例名称,点击确认创建【用例】。

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_17


2、编辑用例

直接点击我们创建好的用例就能进入编辑了。

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_18

页面效果:

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_19


3、添加数据库用例操作

点击【添加测试步骤】右侧的下拉菜单,选择【添加数据库操作】。

根据数据库数据生成 JAVA代码 从数据库直接生成api_MySQL_20

页面效果:

根据数据库数据生成 JAVA代码 从数据库直接生成api_测试_21


四、MySQL用例测试

演示步骤

1、无参数查询语句测试

2、有参查询语句

3、增删改语句测试

4、视图测试


1、无参数查询语句测试

无参的测试是一个基础测试,我们干活的时候基本上都会跑一个无参的测试一下环境。

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_22

输入查询返回结果:

1 eo.info(db_result["query"][0]["result"]);

根据数据库数据生成 JAVA代码 从数据库直接生成api_测试_23

编辑完成后点击保存按钮。

根据数据库数据生成 JAVA代码 从数据库直接生成api_根据数据库数据生成 JAVA代码_24


查询测试

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_25

结果展现,一目了然。

根据数据库数据生成 JAVA代码 从数据库直接生成api_MySQL_26


2、有参查询语句

重复步骤【3.3】添加新的数据库操作,来完成下列有参的测试步骤。

根据数据库数据生成 JAVA代码 从数据库直接生成api_测试_27


添加参数【★★★★★】

这里得先手动添加【${变量名}】才会出现后面的【请求参数】对话框。一定要注意,我找了好久才测试出来的,老不容易了。就这个地方必须值你的三连。

根据数据库数据生成 JAVA代码 从数据库直接生成api_根据数据库数据生成 JAVA代码_28

添加结果验证:

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_29

校验代码:

1 if(db_result["status"]=="success"){
2         if(db_result["query"][0]["result"][0]["userName"]=="Eolink_admin"){
3             eo.info("查询结果的userName是Eolink_admin所以测试成功");
4         }else{
5             eo.stop("返回结果与需求不符");
6         }
7 }
8 else{
9         //执行失败
10         eo.stop("数据库语句执行失败");
11 }

保存后我们去测试:

根据数据库数据生成 JAVA代码 从数据库直接生成api_MySQL_30


错误返回

由于我们没有添加单引号,故而SQL语句报错,我们去修改一下。

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_31

从下图中我们能看到,通过与未通过的提示。

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_32


成功测试:

修改sql:

1 select * from eolink_mysql_api where userName = '${userName}';

测试成功

根据数据库数据生成 JAVA代码 从数据库直接生成api_测试_33


3、增删改语句测试

下面我对增删改语句的测试,其对参数的操作多操作几次就会很熟悉了,我在突破这里的时候我就摸索了好一会,您可以看着我的教程直接操作。很节约时间的。

3.1 插入语句

带变量参数的插入语句

1 insert into eolink_mysql_api VALUES(0,NOW(),NOW(),'$${phone}','$${userName}','$${pwd}','$${introduce}');

根据数据库数据生成 JAVA代码 从数据库直接生成api_MySQL_34

依然在【自定义校验规则】中添加【eo.info(db_result["query"][0]["result"]);】,后面的删除与修改都要添加哦。

根据数据库数据生成 JAVA代码 从数据库直接生成api_MySQL_35

保存测试:

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_36


3.2 删除语句

1 DELETE from eolink_mysql_api where phone = '${phone`

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_37

测试结果:

根据数据库数据生成 JAVA代码 从数据库直接生成api_MySQL_38


3.3 修改语句

1 update eolink_mysql_api set pwd =PASSWORD('$${pwd}') where userName = '$${userName}';

根据数据库数据生成 JAVA代码 从数据库直接生成api_根据数据库数据生成 JAVA代码_39

测试结果:

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_40


4、视图测试

1 select * from eolink_view;

根据数据库数据生成 JAVA代码 从数据库直接生成api_MySQL_41

在结果中可以看到,视图也是可以直接调用的。

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_42


五、批量测试与导出API文档

这里就是我们正式工作中的步骤了,批量测试,查看通过率,都测试通过了代表我们的数据库是可以经得起考验的,是可以提交给下一个部门的时候了。

演示步骤

1、批量测试

2、导出API文档

3、导回API脚本


1、批量测试

点击【批量操作】

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_43

勾选所有步骤。

根据数据库数据生成 JAVA代码 从数据库直接生成api_根据数据库数据生成 JAVA代码_44

测试结果

根据数据库数据生成 JAVA代码 从数据库直接生成api_根据数据库数据生成 JAVA代码_45


2、导出API文档

2.1 返回用例面板

滚动条拉动到最右侧,选择更多的【导出】功能。

根据数据库数据生成 JAVA代码 从数据库直接生成api_测试_46


2.2 等待生成用例脚本

根据数据库数据生成 JAVA代码 从数据库直接生成api_测试_47


2.3 下载生成的用例脚本

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_48

json类型

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_49


2.4 脚本格式

脚本为【UTF-8】编码格式的【JSON】数据格式。

根据数据库数据生成 JAVA代码 从数据库直接生成api_测试_50


3、导回API脚本

我们讲导出的脚本导回到项目中,相当于我们更换设备的时候就更加方便了。

根据数据库数据生成 JAVA代码 从数据库直接生成api_接口_51

导入过程需要等一会。

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_52

导回成功:

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_53

测试:

根据数据库数据生成 JAVA代码 从数据库直接生成api_API_54


六、总结

Eolink的这个功能还是非常不错的,相当于对实施工程师和DBA都有一定的帮助。特别是实施,很多的时候需要只有一个查询的权限,但是各种老板又各种需求,有了Eolink的这个功能就可以根据项目进行划分,为每个企业定制不同的查询需求,并且是在线可用的,相当可以。

主要还得是用在【数据库测试】中,很多时候【DBA】会给测试人员一堆【SQL】,我们就可以直接使用这个功能,编辑完成后批量测试,刷刷刷就出结果,怎一个痛快了得,值得推荐,非常棒的【神技】。