(emmm。。。早就应该做的总结。。。)
一、解决问题:
- postman断言需要查询存表结果;
- 登录或者业务需要验证码;(可以设置白名单绕过验证码,但不太提倡)
- 自动化场景需要不同的测试数据;
二、解决方案:
- 一开始网上搜到的连接方式是通过xmysql,实践时发现有几个不是很友好的点(可能是我不熟悉,没有发现其优点,求指教)
2. 无法灵活使用增删改查语句,得拼接
3. 无法灵活指定数据库或表
4. 对比Omysql,启动命令更复杂 - 用Omysql连接,优势对应xmysql的几个点~
三、Omysql连接数据库操作步骤
1、安装nodejs
官网下载安装即可,安装后,可以检查下释放安装成功
node -v
2、下载Omysql
GitHub项目地址,下载ZIP包,解压到自己想放的目录
GitHub地址:https://www.npmjs.com/package/omysql
(官网是npm安装的,但我之前实践没成功,另外很多教程是git拉取的,我可能是网络原因,也没有成功)
3、启动Omysql
//进入Omysql安装目录
//通过node启动
F:\tools\Omysql-master>node server.js
启动后会显示访问地址
4、postman新增请求,请求方式跟进操作类型会不一样,请求链接=访问地址+mysql_demo+操作类型,具体增删改查示例如下。
(postman我主要应用是接口测试和接口自动化,增删改查足够了,建表建库不举例)
表查询:
请求方法:POST
请求链接:http://:::8005/mysql_demo/find
请求BODY:
{
"host":"[数据库地址]",
"port":"[数据库端口]",
"user":"[用户名]",
"password":"[密码]",
"database":"[数据库名]", // 可缺省,在语句中指定数据库
"findSql":"select * from tb_sms_message where phone = {{user}} order by id desc limit 1;"
}
表插入:
请求方法:PUT
请求链接:http://:::8005/mysql_demo/insert_data
请求BODY:
{
"host":"[数据库地址]",
"port":"[数据库端口]",
"user":"[用户名]",
"password":"[密码]",
"database":"[数据库名]", // 可缺省,在语句中指定数据库
"addSql":"INSERT INTO tb_new_phone_white (`type`, `code`, `remark`) VALUES ('3', '4', '5');"
}
(其实用find的方式去插入也行,不知道为什么还要区分两个接口和字段,有知道的请指导)
表更新:
请求方法:PUT
请求链接:http://:::8005/mysql_demo/update
请求BODY:
{
"host":"[数据库地址]",
"port":"[数据库端口]",
"user":"[用户名]",
"password":"[密码]",
"database":"[数据库名]", // 可缺省,在语句中指定数据库
"UpdateSql":"[查询语句]"
}
表删除:
请求方法:DELETE
请求链接:http://:::8005/mysql_demo/drop
请求BODY:
{
"host":"[数据库地址]",
"port":"[数据库端口]",
"user":"[用户名]",
"password":"[密码]",
"database":"[数据库名]", // 可缺省,在语句中指定数据库
"DropSql":"[删除语句]"
}