你的Postman为什么连不了数据库?

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}},可以看到请求成功了

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

猜你喜欢

转载自blog.csdn.net/OKCRoss/article/details/131128046