Postman进阶功能-连接数据库

大家好,对于接口测试,其很重要的一个环节就是要连接数据库,那么对于 Postman 而言,如何进行连接数据库操作呢。但此处,需要用到一个插件:xmysql。通过 xmysql 连库后,xmysql 会将数据库中所有表以 REST 风格的接口形式生成,所以后续访问某张表其实就是访问的某个接口,那么对于 Postman 而言,其实也就是相当于访问了某个接口而已,接下来就一起看一下再 Postman 中如何连接数据库。

一、安装

1、安装 nodejs

xmysql 是由 nodejs 开发,所以要先安装它的运行环境,下载地址:
http://nodejs.cn/download/

2、安装成功后需要验证

在 cmd 窗口中输入:

复制代码
node -v

如果输出 node 的版本信息,则证明安装成功。

3、安装 xmysql

安装成功 nodejs 后,会自动安装一个包管理工具 npm(类似于 python 中的 pip)。通过它就可以直接安装 xmysql。

打开 cmd 窗口输入:

复制代码
npm install -g xmysql

二、连接数据库

xmysql 命令参数介绍:

  • -h 连接数据库主机名
  • -u 连接数据库用户名
  • -p 连接数据库密码
  • -d 连接数据库名
  • -r 连接数据库输入的主机名,无这个选项默认为 localhost
  • -n 连接这个服务设置的端口,无这个选项默认为 3000

示例:

复制代码
xmysql -u username -p password -d databasename

以下为连接本地数据库的示例,注意:在输入下图红框中的这条命令后,xmysql 会以服务的形式启动。所以,当 xmysql 被停止掉,那么连库操作也会失败。

三、数据库的基本操作

以下是某张表 t_book 的数据,可以通过 xmysql 来对这张表分别进行增、删、改、查。

强调:无论何种操作,在 Postman 中只是请求的接口。

1、查询 t_book 表的所有数据

复制代码
GET http://localhost:3000/api/t_book

2、查询 t_book 表 title 为三国演义的数据

复制代码
GET http://localhost:3000/api/t_book?_where=(title,eq,三国演义)

3、向 t_book 表插入一条数据

插入数据需要先知道表结构,t_book 的表结构如下图,那么向这张表插入数据,其实就是将这些字段作为参数输入即可。它支持两种请求,表单和 JSON。

Postman 中是这样请求的,如果是修改数据直接把 POST 修改成 PUT 就可以了。

4、删除其中一条数据

复制代码
// 5 是表中的 ID 值
DELETE http://localhost:3000/api/t_book/5

四、xmysql 用法

1、关系表

xmysql 自动识别外键关系并提供 GET API。

例如:blogs 是父表,comments 是子表。API 调用将产生 blogs 主键 103 的所有注释。

复制代码
/api/blogs/103/comments

2、分页(_p 和 _size)

p 表示页面,size 表示每页的数据量,默认情况下,每个 GET 请求在一个表上返回 20 条记录,最多返回 100 条记录。

复制代码
/api/payments?_size=50
/api/payments?_p=2
/api/payments?_p=2&_size=50

当_size 大于 100 时-记录数默认为 100(即最大)

当_size 小于或等于 0 时-记录数默认为 20(即最小值)

3、排序

(1)ASC(升序)

例如:按 column1 升序排序

复制代码
/api/payments?_sort=column1
(2)降序

例如:按 column1 降序排序

复制代码
/api/payments?_sort=-column1
(3)多个字段排序

例如:按 column1 升序排序,按 column2 降序排序

复制代码
/api/payments?_sort=column1,-column2

4、列过滤/字段

例如:在每条记录的响应中仅获取 customerNumber 和 checkNumber

复制代码
/api/payments?_fields=customerNumber,checkNumber

例如:获取表行中的所有字段,但不获取 checkNumber

复制代码
/api/payments?_fields=-checkNumber

5、运算符

比较运算符

使用比较运算符:

复制代码
/api/payments?_where=(checkNumber,eq,JM555205)~or((amount,gt,200)~and
(amount,lt,2000))
逻辑运算符

使用逻辑运算符:

例如:简单的逻辑表达式

复制代码
/api/payments?_where=(checkNumber,eq,JM555205)~or(checkNumber,eq,OM314933)

例如:复杂的逻辑表达式

复制代码
/api/payments?_where=((checkNumber,eq,JM555205)~or(checkNumber,eq,OM314933))~and(amount,gt,100)

例如:具有排序(sort),分页(p),列过滤(_fields)的逻辑表达式

复制代码
/api/payments?_where=(amount,gte,1000)&_sort=-amount&p=2&_fields=customerNumber

例如:使用_where 的行过滤器也可用于关系路由 URL。

复制代码
/api/offices/1/employees?_where=(jobTitle,eq,Sales%20Rep)

6、查找一条数据

与 list 相似,但仅返回前一个结果。与_where 结合使用

复制代码
/api/tableName/findOne?_where=(id,eq,1)

7、计数

返回表中的行数

复制代码
/api/tableName/count

8、判断是否存在

根据记录是否存在返回真或假

复制代码
/api/tableName/1/exists

9、按查询参数分组

复制代码
/api/offices?_groupby=country

例如:选择国家/地区,从办事处按国家/地区计数(*)

复制代码
/api/offices?_groupby=country&_having=(_count,gt,1)

例如:

复制代码
SELECT country,count(1)as _count FROM office GROUP BY country_count>1

以API分组

例如:选择国家/地区,从办事处按国家/地区计数(*)

复制代码
/api/offices/groupby?_fields=country

例如:从办事处选择国家,城市,计数(*)GROUP BY 国家,城市

复制代码
/api/offices/groupby?_fields=country,city

/api/offices/groupby?_fields=country,city&_having=(_count,gt,1)

例如:

复制代码
SELECT country,city,count(*)as _count FROM office GROUP BY country_city_count> 1
分组依据,排序依据

例如:通过办事处选择国家,城市,数量(*),按国家,城市分组,按城市 ASC

复制代码
/api/offices/groupby?_fields=country,city&_sort=city

例如:从办事处选择国家,城市,数量(*)按国家分组,按城市 ASC 订购,国家 ASC

复制代码
/api/offices/groupby?_fields=country,city&_sort=city,country

例如:从办事处选择国家,城市,计数(*)按国家分组,城市按城市 ASC,国家 DESC。

复制代码
/api/offices/groupby?_fields=country,city&_sort=city,-country
相关推荐
猿周LV1 小时前
postman 安装及使用 [软件测试工具]
测试工具·postman
猿周LV10 小时前
测试用例 [软件测试 基础]
测试工具·测试用例
软件测试曦曦14 小时前
10:00开始面试,10:08就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
林十一npc15 小时前
ShopXO v2.2.4开源商城手动部署(保姆级)+异常处理
软件测试·数据库·mysql·php·商城·云服务器·shopxo
测试萧十一郎1 天前
APP测试中ios和androis的区别,有哪些注意点
自动化测试·软件测试·功能测试·macos·ios·职场和发展·cocoa
测试19981 天前
Appium如何实现移动端UI自动化测试?
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
lilili啊啊啊1 天前
克魔助手(Kemob)安装与注册完整教程 - Windows/macOS双平台指南
测试工具·克魔·克魔助手·iphone助手·#ios调试·#开发者工具
第三方软件测评2 天前
软件信息安全性测试如何进行?有哪些注意事项?
软件测试·安全性测试
可可南木2 天前
BT-Basic函数之首字母S
开发语言·测试工具·pcb工艺