e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 二 图片验证码的识别 , 下面讲一下Node.js中如何访问数据库, 在做自动化测试过程中, 经常可能遇到需要到数据库取值,或是更新值。来验证页面上的

e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 二 图片验证码的识别”,

下面讲一下Node.js中如何访问数据库, 在做自动化测试过程中, 经常可能遇到需要到数据库取值,或是更新值。来验证页面上的数据正确性。 之前,在google, baidu.com上找了非常多的文章关于Node.js如何访问Sql Server的文章, 都是不行的, 我想是因为, Node.js的开源性, 对于MongoDB, Mysql, 等数据库访问是有请多的模块支持。但对于Sql server就只有微软写的驱动, 但是由于安装非常复杂, 我就没安装成功过。 最后,在baidu.com的时候,找到了一个牛人写的模块叫 mssqlhelper https://www.npmjs.org/package/mssqlhelper, 虽然有蛮多的不支持, 但是对于一些简单的sql操作,还是可以的。

如下是Node.js使用, 我将它们做了一下封装,可以提供select, add, delete,update操作

var db = require('./dbHelper');

function select(sqlScript, EntityName, topNum, callback)

{

if(topNum == null)

{

topNum = '';

}

if(topNum == '')

{

sqlScript = sqlScript.replace('select', 'select @Param1 Parmal1, ')

}

else

{

sqlScript = sqlScript.replace('select', 'select top '+ topNum +' @Param1 Parmal1, ')

}

db.config({

host: 数据库地址

,port: 1433

,userName: 用户名

,password: 密码

,database: 数据库名

});

console.log('执行 SQL ' + sqlScript.green);

db.query( sqlScript

,{

Param1: { type : 'NVarChar', size: 7,value : 'systemDefault' }

}

,function(res){

if(res.err)throw new Error('database error:'+res.err.msg);

if(res.tables.length == 0){

console.log('无任何记录返回');

//hrow new Error('无任何记录返回');

return;

}

var rows = res.tables[0].rows;

if(rows.length == 0){

callback('');

}

else {

var jsonString = toJson(res.tables[0], EntityName);

var result = JSON.parse(jsonString);

console.log('数据库查询结果' + jsonString.green);

callback(result);

// var columnLength = rows[0].metadata.columns.length;

// for (var i = 0; i < rows.length; i++) {

// console.log(rows[i].getValue('Name'));

// }

}

}

);

};

function exeScript(sqlscript, callback){

db.query(

sqlscript

,{

}

,function(res){

if(res.err)throw new Error('database error:'+res.err.msg);

callback();

}

);

};

function del(sqlscript,callback){

exeScript(sqlscript,callback);

}

function update(sqlscript,callback){

exeScript(sqlscript,callback);

}

function add(sqlscript,callback){

exeScript(sqlscript,callback);

}

//convert table to json

function toJson(data, entityName)

{

var jsonString;

if (data != undefined && data.rows.length > 0)

{

var rowLen=data.rows.length;

var colLen=data.rows[0].metadata.columns.length;

jsonString="{";

jsonString+="\""+entityName+"\":[";

for (var i = 0; i < rowLen; i++)

{

jsonString+="{";

for (var j = 1; j < colLen; j++)

{

if (j < colLen - 1)

{

jsonString+="\"" + data.rows[0].metadata.columns[j].name + "\":" + "\"" + data.rows[i].getValue(j)+ "\",";

}

else if (j == colLen - 1)

{

//console.log(j + ' ' + i );

jsonString+="\"" + data.rows[0].metadata.columns[j].name + "\":" + "\"" + data.rows[i].getValue(j) + "\"";

}

}

if (i == rowLen - 1)

{

jsonString+="}";

}

else

{

jsonString+="},";

}

}

jsonString+="]}";

return jsonString;

}

return jsonString;

}

exports.Add=add;

exports.Delete=del;

exports.Update=update;

exports.Select=select;

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mocha 测试 mysql_e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDrive相关推荐

  1. e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (四) Q 反回调...

    上一篇文章"e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) Sq ...

  2. node js 技术架构_[视频] Node JS中的干净架构

    node js 技术架构 In this video you'll learn how to apply Bob Martin's Clean Architecture model to a Micr ...

  3. 实例讲解node.js解析URL并获取绝对路径和格式化

    解析URL url.parse(urlStr[, parseQueryString][, slashesDenoteHost]) 参数 说明 urlStr 网址 parseQueryString 是否 ...

  4. node mocha_如何使用Mocha和Assert测试Node.js模块

    node mocha The author selected the Open Internet/Free Speech Fund to receive a donation as part of t ...

  5. Node.js 单元测试:我要写测试 - Mocha - Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率

    -------------------------------------- 单元测试Express/NodeJs 个人理解, 1,如果不是测试http请求的单元测试,用Mocha, Chai等基本够 ...

  6. 【测试与自动化】介绍-框架-Jest-覆盖率-异步代码-e2e-Vue测试

    测试与自动化 软件测试和自动化测试介绍 前端自动化测试框架 使用Jest编写单元测试 统计测试覆盖率 使用Jest测试异步代码 使用Cypress进行e2e测试 测试 Vue 项目 软件测试和自动化测 ...

  7. 自动化测试中的测试执行自动化

    "自动化测试"这个术语的使用是如何对团队深挖自动化益处产生束缚作用的,Richard Bradshaw 在Agile Testing Days 2015上对此进行了探讨分析. \\ ...

  8. 客户端GUI测试技术和自动化测试架构设计简谈

    客户端GUI测试技术和自动化测试架构设计简谈 http://www.cnblogs.com/wiki-royzhang/p/3785033.html 客户端GUI测试技术和自动化测试架构设计简谈 客户 ...

  9. 浅谈软件自动化集成测试的流程

    浅谈自动化集成测试 相信从事软件测试专业的同行很早就知道了自动化的测试技术,也许大家也很想知道具体的软件自动化具体的运行实施过程.本人学识尚欠,目前无法对综合的软件自动化的测试进行阐述,但是本人通过不 ...

最新文章

  1. checkpoint_通过Main的Checkpoint Restore加快Java启动速度
  2. python django框架_Python Web框架【Django框架第一篇基础】
  3. java自学难点_分享在达内教育培训Java的感受
  4. 数据结构之二叉查找树介绍
  5. java jxta_java现在还支不支持jxta,怎么官方都没下载了?
  6. java学生管理系统登录注册_《Java》— 学生管理系统——登录界面
  7. 乱下东西导致挖矿病毒Trojan,CoinMiner的解决记录
  8. 《Unity Shader入门精要》冯乐乐著 书中彩图
  9. 面试官问:你在项目中做过哪些安全防范措施?
  10. ios数据恢复工具:Mac FoneLab for Mac
  11. Android平台下的图片/视频转Ascii码图片/视频 (一)
  12. 什么是APS高级计划排程(高级计划排产)可视化甘特图,有哪些应用效果?
  13. matplotlib折线图与柱状图绘制在一起
  14. 如何在图数据库上实现图计算框架
  15. 会声会影x4素材_会声会影2020多重修整视频功能与操作
  16. 备份一体机的制作原理以及工艺
  17. SpringBoot项目中的 ClassPath路径指的是哪个路径
  18. GENI: Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
  19. 【写在七夕浪浪漫时刻】Go中遇到http code 206和302的获取数据的解决方案
  20. 纯CSS实现枫叶下落

热门文章

  1. python3捕获异常_python中异常捕获方法详解
  2. python tkinter实例_python绘制一个图形示例源码(tkinter)
  3. getopt在Python中的使用
  4. CentOS中通过NAT连接网络
  5. php导入csv文件,php实现CSV文件导入和导出
  6. golang mysql 崩溃_mysql连接问题,goruntime里执行总是出错,程序一直崩溃
  7. lua检测表中是否有某个值_Lua检测数组(tabble)中是否包含某个值
  8. linux服务器配置ssl证书
  9. AUTOSAR从入门到精通100讲(三十)-makefile原理及实战案例
  10. Python应用实战-Python提升运行速度技巧总结