@
引言
在用Postman做接口测试的时候,遇到了一个问题:
问题场景:
用Postman请求【用户下载压缩包】的接口,接口返回zip_id后,需要根据这个zip_id去数据库中的qiniu_zips表(七牛打包表)中修改status字段值为“success”才算完成用户下载的功能(测试环境才需要手动这么操作,正式环境是不需要的)。目前我在测试环境,想要批量造一些用户下载记录的数据,所以想看看能不能实现:用Postman批量跑【用户下载压缩包】的接口,把接口返回的zip_id提取出来(比如提取到Excel表里面),然后根据提取出来的这些zip_id,一次性的在数据库qiniu_zips表(七牛打包表)修改status字段值为“success”。
然而Postman里面并没有找到可以实现把返回的数据聚合提取到外部文件的方法:
考虑是否可以用Postman连接数据库来进行修改数据,Postman 本身并没有提供数据库连接功能,在网上查阅,说可以通过安装node.js中的xmysql,实现Postman与数据库进行链接,生成Rest API,对数据库的数据进行查询和更新。
接下来具体总结一下操作方法:
一、Xmysql的安装
node.js的安装 : http://www.runoob.com/nodejs/nodejs-install-setup.html
Xmysql的安装: 在安装完node.js之后,在DOS命令行中输入 npm install -g xmysql 即可进行安装。
二、连接数据库
DOS命令行输入命令:xmysql -h 数据库地址 -u 用户名 -p 密码 -d 数据库名,如下图:
连接成功后如下图:
假如一个数据库地址有主库和从库,以不同的端口号区分,那么上面的连接命令是默认连接的master主库,若想连接slave从库,此时需要在连接命令里面加多个参数: -o 端口号,即:
xmysql -h 数据库地址 -o 端口号 -u 用户名 -p 密码 -d 数据库名
更多关于Xmysql的命令操作,可以输入:xmysql help 来查询
此时可以在浏览器或者直接在Postman工具中请求地址: localhost:3000 来查看获取到数据库内容,如下图:
三、对数据库进行查询和更新数据
下面就根据文中开始提到的问题场景来进行数据库的操作
先单接口调试,该场景分别需要请求4个接口,有两个是功能本身的接口,有两个是通过Xmysql工具生成的API对数据库进行查询和更新
执行更新操作的API需注意:http://localhost:3000/api/表名/指定id,这里的指定id必须是主键id,非主键id请求会报错
以上四个接口都调试成功后,接下来就可以用Postman中的runner运行器批量执行了,实现了自动化,解放了双手,上面的问题也完美的解决了。