zoukankan      html  css  js  c++  java
  • postman接口自动化测试之利用node.js和xmysql连接、操作数据库

    一、背景

    使用postman进行接口自动化测试时,除了要验证接口的返回,有时候还要同时验证数据库的数据,或者将接口返回的数据与数据库的数据做对比,检验数据的正确性。

    有的时候还需要在执行自动化case之前,造一些测试数据,或者在跑完自动化之后,删除测试数据

    所以,我们需要在postman里连接并操作数据库,才能实现真正的完全自动化

    经查阅资料,可以通过安装node.jsxmysql实现Postman与数据库的连接,生成Rest API,对数据库的数据进行增删改查操作。

    具体实现如下:

     

    二、下载安装node.js

    1、下载

    nodejs下载地址:https://nodejs.org/en/

    2、安装

     

     

     

     

    这一步是选择安装哪些模块,默认是全部安装,对于新手来说建议全部安装。

     

    npm package manager:表示npm包管理器

    online documentation shortcuts:在线文档快捷方式

    Add to PATH:添加node安装路径到环境变量

     

    点开那个add path选项前面的+号,我们看到,会主动把NodeJS和NPM这两个模块的命令路径添加到系统路径里,对于我们来说就非常方便了。

    点击next继续下一步,确认信息,点击Install开始安装,程序开始复制文件等一系列步骤。一直到安装完毕。

     

     

     

     

     

     

    3、测试是否安装成功

     

     

    node -v

     

     可以看到,已经安装成功。

     

     

    三、连接数据库

    1、安装用来连接数据库的xmysql插件

    npm install -g xmysql

     

    2、通过xmysql命令连接数据库

    xmysql -h 主机ip -u 用户名-p 密码 -d 数据库名
    注意:需要root账号才能连接,连接成功后,如下图:

     可以看到Database为sousou,表的数量为53。

     

    四、操作数据库

    连接成功后,我们就可以通过http://localhost:3000/api/表名来操作数据库。

     

    1、查询数据【GET】

    其中,where参数是条件,不加where则是查询所有记录。

    如下例子,是指查询【package】表中【id=11】的记录(【eq】代表数据库里的【=】,其他运算符见下文【数据库操作合集】):

    http://localhost:3000/api/package?_where=(id,eq,11)

     

     

    2、删除数据【DELETE】

    其中,id是数据库中的记录的唯一标识。

    如下例子,删除【banner】表中【id=155】的记录:

    http://localhost:3000/api/banner/:id

     

     可以看出,一行受影响,证明已经删除成功。

     

    另:

    可以对结果加断言(检查点)进行校验,例如判断受影响行数为1。

    //校验HTTP状态码为200
    pm.test("Status code is 200", function () {
        pm.response.to.have.status(200);
    });
    
    var jsonData = pm.response.json();
    
    //校验受影响行数为1
    pm.test("affectedRows = 1", function () {
        pm.expect(jsonData.affectedRows).to.eql(1);
    });

     

       可以在Test Results中看到,状态码及受影响行数的断言均通过。

    点击查看详细加断言(检查点)的方式 

     

    3、修改数据【PATCH】

    其中,id是数据库中的记录的唯一标识,更新的数据以json的格式放在body里

    如下例子是将【package】表中【id=11】的记录的【name】改为“测试修改”

    http://localhost:3000/api/package/:id

    通过结果response可以看出,有一行受影响,说明已经更新成功了,可根据自身情况设置响应的断言进行校验。

     

     

    4、插入数据【POST】

    插入记录的数据以json的格式放在body里。

    如下例子,向【banner】表中添加一条记录:

    http://localhost:3000/api/banner

     

    可以看出,受影响行数为1,说明已经添加成功。 

     

    五、数据库操作合集

    1、请求方式

     
     

    2、条件中的运算符

     
     

    3、排序操作

     
     
    更全面的详解请参考官方:https://github.com/o1lab/xmysql#api-overview
     
     

    初入职场热爱分享的打工人一枚,请大家多多指教~~

    作者:十八岁

    -------------------------------------------

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    POJ1087 A Plug for UNIX 网络流
    HDU4405 Aeroplane chess 期望DP
    POJ1062 昂贵的聘礼 区间枚举
    HDU4403 A very hard Aoshu problem 枚举
    HDU4407 Sum 容斥定理
    POJ2750 Potted Flower 线段树+DP
    软件项目开发流程以及人员职责
    10款最流行的开源Web设计工具
    C# 把\\r\\n替换为\r\n
    jquery validation 用到的输入验证正则表达式
  • 原文地址:https://www.cnblogs.com/l199616j/p/13986110.html
Copyright © 2011-2022 走看看