postman本身没有数据库连接功能,所以用到了node.js中的xmysql实现Rest API的生成,利用postman进行请求,获取需要的数据,来做数据准备或断言
1.安装
安装node.js:要求版本大于等于7.6
首先保证你的环境上有node.js,如果没有,请安装—>官网下载地址:官网下载地址:传送门
安装成功,在cmd输入node --version,有版本出现说明已经安装成功
安装xmysql
在命令行输入 npm install -g xmysql 安装,这个也是比较简单。
安装成功,输入xmysql可以看到Usage,说明成功了
如果版本过低,会是这样:
2.连接
在命令行输入以下命令,其中host是你的数据库的host,root、password分别是你的数据库的账号、密码,db_name是你需要连接的数据库的名称
xmysql -h host -u root -p password -d db_name
连接上是这样的:
这时候去浏览器输入 http://localhost:3000,看到了很多 routeUrl
举个例子:
http://localhost:3000/api/financelog/count
financelog就是我们的流水记录表
3.用法
安装连接说完了,不能不说用法。下面通过表格整理一下:
查询所有数据
这个只列常用的,因为一般都是查询居多,增删改请参考官网API文档:官网API文档:传送门
单条件查询:查询 id=826 的用户信息
注意,(id,eq,826)之间不能有空格,不能写成(id, eq, 826)
同样的,我们说一下,其他的一些比较操作
多条件查询:查询 id=826 并且 LeaveAmount=0.00 的用户
mysql | restapi |
---|---|
or | ~or |
and | ~and |
为了方便大家看,把查询语句贴出来:
localhost:3000/api/member?_where=(id,eq,826)~and(LeaveAmount,eq,0.00)
排序:根据 id 降序输出
-号表示降序,不加-表示升序
localhost:3000/api/member?_sort=-id
限制输出条数
_size=n,表示输出前n条,如果有其他条件,用**&**分隔
如果我想输出LeaveAmount=100.00的前2条数据,应该怎么查询
localhost:3000/api/member?_where=(LeaveAmount,eq,100.00)&_size=2
4.在接口项目中的使用
比如前程贷的充值接口,需要mobilephone,这个mobilephone可以从数据库取最新注册的第一个用户手机号
查询语句
localhost:3000/api/member?_sort=-RegTime&_size=1
设置全局变量
在Tests里写入如下语句
var jsonData = pm.response.json();
var mobilePhone = jsonData[0].MobilePhone;
pm.globals.set("mobilePhone", mobilePhone);
注意,这个接口是我们的查询接口,不要做断言处理,因此不需要pm.test开头的函数
发送请求后,会看到全局变量里多了一条mobilePhone
充值接口参数化
将请求参数中的mobilephone改为{{mobilePhone}},可以看到请求成功了
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取