系列文章:Eolink神技之一:基于数据库智能生成API文档
Eolink全API全生命周期管理解决的问题
整个项目中的API管理是一个非常麻烦的事情,从代码接口文档管理到接口用例管理以及自动化接口测试、API网关、API监控等,都是一系列的问题。根本不是一两个人能全部搞完的,那么很大程度上出现了人资的困难,Eolink很好地解决了整个生命周期的内容,大大降低了在API转部门操作的时候出现的无数问题,并且还提供了第三方API商店、OpenAPI共享平台等接口全 生命周期管理 工具。
演示过程
我会从生命周期的开始演示到最终交付,所以步骤较多,咱们逐一来演示。
一、创建项目文档
二、接口用例管理与自动化接口测试
三、API接口管理
四、API微服务网关
五、API监控
演示中我也会对第三方的API商店与OpenAPI规范的swagger一键导入进行讲解。
一、创建项目文档
由于我们后面需要进行自动化接口测试,故而我们这里直接选择【API自动化测试】,在这里面创建项目
1、创建项目
这里我们选择添加下拉菜单中的【添加项目】,虽然整个工具都是中文的,但是创建所有的变量以及使用的名称不太建议使用中文,因为显得【厉害】啊~
在这里我用的API_Cycle的API周期来命名的
默认会返回面板,我们在右侧正文面板中能看到我们刚创建的【Eolink_API_Cycle】的Project
项目面板,在左侧一列可以看到所有的大功能模块
2、项目管理
我们这里对项目管理中的【项目设置】、【全局测试设置】、【日志】均进行功能演示
2.1 项目设置
这里我要最先说一下【项目设置】,因为这里是控制版本的地方。版本为先,不然搞着搞着全乱了套了,我之前用的一些版本控制器就总有这个烦恼,这里直接说明了,非常棒的功能!
建议:每个版本确立后都即刻导出一个用作备份
导出项目
保存完成后我们修改成1.1版本
2.2 全局测试设置
设置超时时间与证书、请求
2.3 查看日志
添加环境用作日志查阅
添加环境操作步骤1:
添加环境操作步骤2,配置完成后点击【保存】
我这里是本地环境故而是:【http://127.0.0.1:8080/】
保存效果如下图:
日志效果:
由于测试日志比较少,我们无法查看各种日志筛选,这个功能是存在无误的
二、接口用例管理与自动化接口测试
1、引入API接口文档
为了方便大家,我做了一个MySQL的演示文档,我们先来看一下
直接复制制作成一个json文件即可使用,我用的是我在线的服务器,可以直接测试,很方便查阅测试效果。
1 {"caseList":[{"caseID":553171,"caseName":"Eolink_MySQL_API","caseDesc":"","caseType":0,"caseCode":"","caseTag":"","userID":643871,"priority":0,"caseStyle":"general","commonCaseList":[],"commonCaseApiConnCaseList":[],"caseSingleList":[],"dbStepList":[{"connID":6492,"caseID":553171,"apiName":"1\u3001\u65e0\u53c2\u6570\u67e5\u8be2","dbID":1022,"caseData":"{"params":[],"keepGoing":1,"sqlCode":"select * from eolink_mysql_api;"}","orderNumber":1,"isLock":0,"delayTime":0,"matchType":2,"matchRule":"//\u6570\u636e\u5e93\u8fd4\u56de\u7ed3\u679c\u6821\u9a8c\u811a\u672c\u793a\u4f8b\n//\u6570\u636e\u5e93\u64cd\u4f5c\u7ed3\u679c\u793a\u4f8b\u8bf7\u67e5\u770b\u5e2e\u52a9\u4e2d\u5fc3\u6559\u7a0b\n//\u6570\u636e\u5e93\u6267\u884c\u7684\u8fd4\u56de\u7ed3\u679c\u50a8\u5b58\u5728\u53d8\u91cfdb_result\u4e2d\nif(db_result["status"]=="success"){\n\t//\u6570\u636e\u5e93\u8bed\u53e5\u6574\u4f53\u6267\u884c\u6210\u529f\n\t//\u6bcf\u4e00\u6761\u6570\u636e\u5e93\u8bed\u53e5\u7684\u6267\u884c\u7ed3\u679c\u50a8\u5b58\u5728db_result["query"][...]\u6570\u7ec4\u4e2d\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["result"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u8fd4\u56de\u7ed3\u679c\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["info"]["status"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u72b6\u6001\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["info"]["time"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u65f6\u95f4\n\teo.info(db_result["query"][0]["result"]);\n}\nelse{\n\t//\u6267\u884c\u5931\u8d25\n\teo.stop("\u6570\u636e\u5e93\u8bed\u53e5\u6267\u884c\u5931\u8d25");\n}","generateResponseCode":"","updateTime":"2022-11-29 18:43:29","createTime":"2022-11-29 18:43:29","isExecute":1,"resultParam":"[]","customInfo":"{}","operationGroupID":0,"dbConnectName":"Eolink_MySQL_Test","dbCreateTime":"2022-11-29 18:25:40","dbInfo":{"dbID":1022,"dbConnectName":"Eolink_MySQL_Test","dbType":0,"dbInfoList":"[{"envID":0,"port":"3306","name":"eolink_test","host":"C82b0XR5i89FWlGw6tQULUe7Ca+c6jquXsNF1UIzDZD1gP9/Ac9cC6686FZW9zSs","user":"Hy51ZQGees0ZX5lkDBa2xA==","password":"NY18bypH9WTLsMMxErulHg=="}]","dbDesc":"\u6d4b\u8bd5Eolink\u8fde\u63a5MySQL\u5e76\u521b\u5efa\u6d4b\u8bd5","createTime":"2022-11-29 18:25:40","dbCreateTime":"2022-11-29 18:25:40"}},{"connID":6493,"caseID":553171,"apiName":"2\u3001\u6709\u53c2\u67e5\u8be2\u8bed\u53e5","dbID":1022,"caseData":"{"params":[{"paramKey":"userName","paramNotNull":"0","paramInfo":"Eolink_admin"}],"keepGoing":1,"sqlCode":"select * from eolink_mysql_api where userName = '$${userName}';"}","orderNumber":2,"isLock":0,"delayTime":0,"matchType":2,"matchRule":"\nif(db_result["status"]=="success"){\n\tif(db_result["query"][0]["result"][0]["userName"]=="Eolink_admin"){\n\t eo.info("\u67e5\u8be2\u7ed3\u679c\u7684userName\u662fEolink_admin\u6240\u4ee5\u6d4b\u8bd5\u6210\u529f");\n\t}else{\n\t eo.stop("\u8fd4\u56de\u7ed3\u679c\u4e0e\u9700\u6c42\u4e0d\u7b26");\n\t}\n}\nelse{\n\t//\u6267\u884c\u5931\u8d25\n\teo.stop("\u6570\u636e\u5e93\u8bed\u53e5\u6267\u884c\u5931\u8d25");\n}","generateResponseCode":"","updateTime":"2022-11-29 18:57:50","createTime":"2022-11-29 18:54:46","isExecute":1,"resultParam":"[]","customInfo":"{}","operationGroupID":0,"dbConnectName":"Eolink_MySQL_Test","dbCreateTime":"2022-11-29 18:25:40","dbInfo":{"dbID":1022,"dbConnectName":"Eolink_MySQL_Test","dbType":0,"dbInfoList":"[{"envID":0,"port":"3306","name":"eolink_test","host":"C82b0XR5i89FWlGw6tQULUe7Ca+c6jquXsNF1UIzDZD1gP9/Ac9cC6686FZW9zSs","user":"Hy51ZQGees0ZX5lkDBa2xA==","password":"NY18bypH9WTLsMMxErulHg=="}]","dbDesc":"\u6d4b\u8bd5Eolink\u8fde\u63a5MySQL\u5e76\u521b\u5efa\u6d4b\u8bd5","createTime":"2022-11-29 18:25:40","dbCreateTime":"2022-11-29 18:25:40"}},{"connID":6494,"caseID":553171,"apiName":"\u589e\u52a0\u8bed\u53e5","dbID":1022,"caseData":"{"params":[{"paramKey":"phone","paramNotNull":"0","paramInfo":"13472040766"},{"paramKey":"userName","paramNotNull":"0","paramInfo":"Eolink_super_admin"},{"paramKey":"pwd","paramNotNull":"0","paramInfo":"123456"},{"paramKey":"introduce","paramNotNull":"0","paramInfo":"\u4e13\u4e3a\u5f00\u53d1\u8005\u8bbe\u8ba1\u7684API\u534f\u4f5c\u5e73\u53f0"}],"keepGoing":1,"sqlCode":"insert into eolink_mysql_api VALUES(0,NOW(),NOW(),'$${phone}','$${userName}','$${pwd}','$${introduce}');"}","orderNumber":3,"isLock":0,"delayTime":0,"matchType":2,"matchRule":"//\u6570\u636e\u5e93\u8fd4\u56de\u7ed3\u679c\u6821\u9a8c\u811a\u672c\u793a\u4f8b\n//\u6570\u636e\u5e93\u64cd\u4f5c\u7ed3\u679c\u793a\u4f8b\u8bf7\u67e5\u770b\u5e2e\u52a9\u4e2d\u5fc3\u6559\u7a0b\n//\u6570\u636e\u5e93\u6267\u884c\u7684\u8fd4\u56de\u7ed3\u679c\u50a8\u5b58\u5728\u53d8\u91cfdb_result\u4e2d\nif(db_result["status"]=="success"){\n\t//\u6570\u636e\u5e93\u8bed\u53e5\u6574\u4f53\u6267\u884c\u6210\u529f\n\t//\u6bcf\u4e00\u6761\u6570\u636e\u5e93\u8bed\u53e5\u7684\u6267\u884c\u7ed3\u679c\u50a8\u5b58\u5728db_result["query"][...]\u6570\u7ec4\u4e2d\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["result"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u8fd4\u56de\u7ed3\u679c\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["info"]["status"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u72b6\u6001\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["info"]["time"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u65f6\u95f4\n\teo.info(db_result["query"][0]["result"]);\n}\nelse{\n\t//\u6267\u884c\u5931\u8d25\n\teo.stop("\u6570\u636e\u5e93\u8bed\u53e5\u6267\u884c\u5931\u8d25");\n}","generateResponseCode":"","updateTime":"2022-11-29 19:02:02","createTime":"2022-11-29 19:02:02","isExecute":1,"resultParam":"[]","customInfo":"{}","operationGroupID":0,"dbConnectName":"Eolink_MySQL_Test","dbCreateTime":"2022-11-29 18:25:40","dbInfo":{"dbID":1022,"dbConnectName":"Eolink_MySQL_Test","dbType":0,"dbInfoList":"[{"envID":0,"port":"3306","name":"eolink_test","host":"C82b0XR5i89FWlGw6tQULUe7Ca+c6jquXsNF1UIzDZD1gP9/Ac9cC6686FZW9zSs","user":"Hy51ZQGees0ZX5lkDBa2xA==","password":"NY18bypH9WTLsMMxErulHg=="}]","dbDesc":"\u6d4b\u8bd5Eolink\u8fde\u63a5MySQL\u5e76\u521b\u5efa\u6d4b\u8bd5","createTime":"2022-11-29 18:25:40","dbCreateTime":"2022-11-29 18:25:40"}},{"connID":6495,"caseID":553171,"apiName":"\u5220\u9664\u8bed\u53e5","dbID":1022,"caseData":"{"params":[{"paramKey":"phone","paramNotNull":"0","paramInfo":"13472040766"}],"keepGoing":1,"sqlCode":"DELETE from eolink_mysql_api where phone = '$${phone}';"}","orderNumber":4,"isLock":0,"delayTime":0,"matchType":2,"matchRule":"//\u6570\u636e\u5e93\u8fd4\u56de\u7ed3\u679c\u6821\u9a8c\u811a\u672c\u793a\u4f8b\n//\u6570\u636e\u5e93\u64cd\u4f5c\u7ed3\u679c\u793a\u4f8b\u8bf7\u67e5\u770b\u5e2e\u52a9\u4e2d\u5fc3\u6559\u7a0b\n//\u6570\u636e\u5e93\u6267\u884c\u7684\u8fd4\u56de\u7ed3\u679c\u50a8\u5b58\u5728\u53d8\u91cfdb_result\u4e2d\nif(db_result["status"]=="success"){\n\t//\u6570\u636e\u5e93\u8bed\u53e5\u6574\u4f53\u6267\u884c\u6210\u529f\n\t//\u6bcf\u4e00\u6761\u6570\u636e\u5e93\u8bed\u53e5\u7684\u6267\u884c\u7ed3\u679c\u50a8\u5b58\u5728db_result["query"][...]\u6570\u7ec4\u4e2d\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["result"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u8fd4\u56de\u7ed3\u679c\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["info"]["status"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u72b6\u6001\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["info"]["time"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u65f6\u95f4\n\teo.info(db_result["query"][0]["result"]);\n}\nelse{\n\t//\u6267\u884c\u5931\u8d25\n\teo.stop("\u6570\u636e\u5e93\u8bed\u53e5\u6267\u884c\u5931\u8d25");\n}","generateResponseCode":"","updateTime":"2022-11-29 19:05:31","createTime":"2022-11-29 19:05:11","isExecute":1,"resultParam":"[]","customInfo":"{}","operationGroupID":0,"dbConnectName":"Eolink_MySQL_Test","dbCreateTime":"2022-11-29 18:25:40","dbInfo":{"dbID":1022,"dbConnectName":"Eolink_MySQL_Test","dbType":0,"dbInfoList":"[{"envID":0,"port":"3306","name":"eolink_test","host":"C82b0XR5i89FWlGw6tQULUe7Ca+c6jquXsNF1UIzDZD1gP9/Ac9cC6686FZW9zSs","user":"Hy51ZQGees0ZX5lkDBa2xA==","password":"NY18bypH9WTLsMMxErulHg=="}]","dbDesc":"\u6d4b\u8bd5Eolink\u8fde\u63a5MySQL\u5e76\u521b\u5efa\u6d4b\u8bd5","createTime":"2022-11-29 18:25:40","dbCreateTime":"2022-11-29 18:25:40"}},{"connID":6496,"caseID":553171,"apiName":"\u4fee\u6539\u8bed\u53e5","dbID":1022,"caseData":"{"params":[{"paramKey":"pwd","paramNotNull":"0","paramInfo":"123456"},{"paramKey":"userName","paramNotNull":"0","paramInfo":"Eolink_admin"}],"keepGoing":1,"sqlCode":"update eolink_mysql_api set pwd =PASSWORD('$${pwd}') where userName = '$${userName}';"}","orderNumber":5,"isLock":0,"delayTime":0,"matchType":2,"matchRule":"//\u6570\u636e\u5e93\u8fd4\u56de\u7ed3\u679c\u6821\u9a8c\u811a\u672c\u793a\u4f8b\n//\u6570\u636e\u5e93\u64cd\u4f5c\u7ed3\u679c\u793a\u4f8b\u8bf7\u67e5\u770b\u5e2e\u52a9\u4e2d\u5fc3\u6559\u7a0b\n//\u6570\u636e\u5e93\u6267\u884c\u7684\u8fd4\u56de\u7ed3\u679c\u50a8\u5b58\u5728\u53d8\u91cfdb_result\u4e2d\nif(db_result["status"]=="success"){\n\t//\u6570\u636e\u5e93\u8bed\u53e5\u6574\u4f53\u6267\u884c\u6210\u529f\n\t//\u6bcf\u4e00\u6761\u6570\u636e\u5e93\u8bed\u53e5\u7684\u6267\u884c\u7ed3\u679c\u50a8\u5b58\u5728db_result["query"][...]\u6570\u7ec4\u4e2d\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["result"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u8fd4\u56de\u7ed3\u679c\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["info"]["status"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u72b6\u6001\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["info"]["time"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u65f6\u95f4\n\teo.info(db_result["query"][0]["result"]);\n}\nelse{\n\t//\u6267\u884c\u5931\u8d25\n\teo.stop("\u6570\u636e\u5e93\u8bed\u53e5\u6267\u884c\u5931\u8d25");\n}","generateResponseCode":"","updateTime":"2022-11-29 19:07:42","createTime":"2022-11-29 19:07:42","isExecute":1,"resultParam":"[]","customInfo":"{}","operationGroupID":0,"dbConnectName":"Eolink_MySQL_Test","dbCreateTime":"2022-11-29 18:25:40","dbInfo":{"dbID":1022,"dbConnectName":"Eolink_MySQL_Test","dbType":0,"dbInfoList":"[{"envID":0,"port":"3306","name":"eolink_test","host":"C82b0XR5i89FWlGw6tQULUe7Ca+c6jquXsNF1UIzDZD1gP9/Ac9cC6686FZW9zSs","user":"Hy51ZQGees0ZX5lkDBa2xA==","password":"NY18bypH9WTLsMMxErulHg=="}]","dbDesc":"\u6d4b\u8bd5Eolink\u8fde\u63a5MySQL\u5e76\u521b\u5efa\u6d4b\u8bd5","createTime":"2022-11-29 18:25:40","dbCreateTime":"2022-11-29 18:25:40"}},{"connID":6497,"caseID":553171,"apiName":"\u89c6\u56fe\u67e5\u8be2","dbID":1022,"caseData":"{"params":[],"keepGoing":1,"sqlCode":"select * from eolink_view;"}","orderNumber":6,"isLock":0,"delayTime":0,"matchType":2,"matchRule":"//\u6570\u636e\u5e93\u8fd4\u56de\u7ed3\u679c\u6821\u9a8c\u811a\u672c\u793a\u4f8b\n//\u6570\u636e\u5e93\u64cd\u4f5c\u7ed3\u679c\u793a\u4f8b\u8bf7\u67e5\u770b\u5e2e\u52a9\u4e2d\u5fc3\u6559\u7a0b\n//\u6570\u636e\u5e93\u6267\u884c\u7684\u8fd4\u56de\u7ed3\u679c\u50a8\u5b58\u5728\u53d8\u91cfdb_result\u4e2d\nif(db_result["status"]=="success"){\n\t//\u6570\u636e\u5e93\u8bed\u53e5\u6574\u4f53\u6267\u884c\u6210\u529f\n\t//\u6bcf\u4e00\u6761\u6570\u636e\u5e93\u8bed\u53e5\u7684\u6267\u884c\u7ed3\u679c\u50a8\u5b58\u5728db_result["query"][...]\u6570\u7ec4\u4e2d\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["result"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u8fd4\u56de\u7ed3\u679c\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["info"]["status"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u72b6\u6001\n\t//\u53ef\u4ee5\u901a\u8fc7\u5982db_result["query"][0]["info"]["time"]\u53d6\u51fa\u7b2c\u4e00\u6761\u8bed\u53e5\u6267\u884c\u7684\u65f6\u95f4\n\teo.info(db_result["query"][0]["result"]);\n}\nelse{\n\t//\u6267\u884c\u5931\u8d25\n\teo.stop("\u6570\u636e\u5e93\u8bed\u53e5\u6267\u884c\u5931\u8d25");\n}","generateResponseCode":"","updateTime":"2022-11-29 19:09:55","createTime":"2022-11-29 19:09:55","isExecute":1,"resultParam":"[]","customInfo":"{}","operationGroupID":0,"dbConnectName":"Eolink_MySQL_Test","dbCreateTime":"2022-11-29 18:25:40","dbInfo":{"dbID":1022,"dbConnectName":"Eolink_MySQL_Test","dbType":0,"dbInfoList":"[{"envID":0,"port":"3306","name":"eolink_test","host":"C82b0XR5i89FWlGw6tQULUe7Ca+c6jquXsNF1UIzDZD1gP9/Ac9cC6686FZW9zSs","user":"Hy51ZQGees0ZX5lkDBa2xA==","password":"NY18bypH9WTLsMMxErulHg=="}]","dbDesc":"\u6d4b\u8bd5Eolink\u8fde\u63a5MySQL\u5e76\u521b\u5efa\u6d4b\u8bd5","createTime":"2022-11-29 18:25:40","dbCreateTime":"2022-11-29 18:25:40"}}],"dbStepApiConnCaseList":[],"dataCollectionData":null}],"commonDatabasesList":[{"dbID":1022,"dbConnectName":"Eolink_MySQL_Test","dbType":0,"dbInfoList":"[{"envID":0,"port":"3306","name":"eolink_test","host":"C82b0XR5i89FWlGw6tQULUe7Ca+c6jquXsNF1UIzDZD1gP9/Ac9cC6686FZW9zSs","user":"Hy51ZQGees0ZX5lkDBa2xA==","password":"NY18bypH9WTLsMMxErulHg=="}]","dbDesc":"\u6d4b\u8bd5Eolink\u8fde\u63a5MySQL\u5e76\u521b\u5efa\u6d4b\u8bd5","createTime":"2022-11-29 18:25:40","updateTime":"2022-11-29 18:25:40"}],"caseType":"sceneCase"}
在添加分组的下拉菜单中选择【导入】
这里是选择文件
选择我们需要引入的json文件
这里直接点击确定即可
导入需要点之间,我们在任务中心中可以查看进度
添加完成
引入成功,引入组名为:【Default Group】
2、自动化用例测试
我提供的这个Group是一套数据库的SQL测试,我们可以选中后直接进入控制台,点击右侧的【测试】按钮,等待测试完毕后我们能看到测试结果,测试结果是可以具体查看的,我们点击测试的结果,这里的结果是【通过,查看详情】
批量测试显示结果的空间是有限的,我们无法查看所有的接口具体测试结果,所以有了查看详情的操作,我们点击查看详情
这里我们能看到查询的sql语句但是无法查询最终返回的结果,我们可以进入到用例中具体的查看API所返回的结果
3、自主添加用例
我们这次需要自己添加一个用例来存放API,那么,我们先来添加一个分组
输入用例名称:
添加用例功能位置
添加用例名称:
创建完毕后我们直接点击进入用例即可
测试用例的测试步骤面板
其实用例操作非常简单,Eolink将操作步骤已经优化的很精简了,只要稍微操作一下就会找到窍门的。
三、API接口管理
1、启动API接口服务
我自己启动了个本地的接口服务,从注释上就能看出来,这是Eolink的全自动注释,后面我会有对应的文章进行具体的配置讲解。
确认接口可以访问:
2、添加API
我们开始正式的添加最底层的API操作了,首先我们演示的是添加API请求操作
输入API基础信息:
添加返回的json信息注释
输入信息完毕后点击【保存】按钮
3、API测试
API的【测试】【修改】【删除】操作都在对应的用例接口列表中,我们可以直接操作,现在的步骤我们点击【测试】
测试成功,但是未能直接看到测试的所有过程,我们点击【空白数据集】来查看所有的返回数据
非常详细的一个面板,做数据分析都够了
其实,作为一个资深的程序员,我对接口的总反应时间是非常看中的,我们打开【API请求时间分析】,在其中我们能看到各步骤的时间消耗,对于接口的优化非常有帮助。
响应的数据内容我们有三种格式展示,还有整理操作,数据量大的话就可以直接下载
4、批量导入API示例
我们通过OpenAPI的工具例如Swagge就能批量到导入到【API管理】中,在从【API管理】中直接导入【API自动化测试】内。
4.1 导入swagger步骤
其它->添加来源->【[推荐] 通过 Swagger URL】->【下一步】
我们查看一下批量导入的效果:
4.2 批量引入API
这里选择【从API文档中添加API请求】
选一个引入的组,将API接口全部选项,并点击确定。
4.3 切换测试环境
4.4 自动批量测试
我们先选择批量操作。
勾选所有要测试的接口,点击【执行测试】
可以看到自动测试成功,并且返回测试结果
4.5 自动生成测试报告
我们在【测试报告】就能看到我们刚刚所有的测试过程产生的测试报告,非常的方便,还提供详情信息与下载的功能
四、API微服务网关
Eolink有API微服务网关的服务,并且我搜索了资料,还是非常前沿的,非常赞!
在Eolink的产品中就可以看到API微服务网关的功能
我为大家找到了Eolink开源网关地址:Eolink开源网关地址
Eolink自主研发的企业级 API 网关,高性能、可视化、成熟稳定。相当不错。有兴趣可以去【API微服务网关】试试。
五、API监控
API监控是个非常好的技能可以直接显示出过程的所有数据,上报任务的时候是非常快捷迅速的。
1、功能位置
这个功能在左上角的选项中,我们选择【API监控】
2、添加项目
我们先添加一个项目
输入项目名称并点击确定
创建成功,但是现在没有数据
3、导入测试API
我们添加一组API来做测试
选了一组,点击确认即可
查看添加效果:
4、监听状态开启
添加成功,但是不是默认开启状态的。我们需要点击后面的更多按钮来开启监控
用作测试够用了,都是免费的:
5、结果提示
直接点击监听的API,我们查看效果,由于这个功能监听万维网上的接口,故而我们这本地测试接口是访问不到的,故而出现了一场提示,是正确回馈,已经能证明其有效性了。
6、关闭监控
六、总结
在今天的整个测试过程中我感受到了Eolink在真正的用心做这个产品,简化了很多操作步骤,仅仅环境这个功能就解决了好多测试人每次换环境的尴尬,每次后台服务地址一换就得跟着更换,老麻烦了,这回有了环境就添加一个环境直接点几下就成功了,非常的NICE。并且测试过程中的各种批量处理真的是舒服,节约了很多工作时间,可以更好更高效的完成本职的工作内容,非常棒。强烈推荐。
Eolink 体验地址:https://www.eolink.com/apikit
初创企业免费申请请戳:Eolink 微光计划
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。