mocha 测试 mysql_e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDrive
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相关推荐
- e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (四) Q 反回调...
上一篇文章"e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) Sq ...
- node js 技术架构_[视频] Node JS中的干净架构
node js 技术架构 In this video you'll learn how to apply Bob Martin's Clean Architecture model to a Micr ...
- 实例讲解node.js解析URL并获取绝对路径和格式化
解析URL url.parse(urlStr[, parseQueryString][, slashesDenoteHost]) 参数 说明 urlStr 网址 parseQueryString 是否 ...
- 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 ...
- Node.js 单元测试:我要写测试 - Mocha - Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率
-------------------------------------- 单元测试Express/NodeJs 个人理解, 1,如果不是测试http请求的单元测试,用Mocha, Chai等基本够 ...
- 【测试与自动化】介绍-框架-Jest-覆盖率-异步代码-e2e-Vue测试
测试与自动化 软件测试和自动化测试介绍 前端自动化测试框架 使用Jest编写单元测试 统计测试覆盖率 使用Jest测试异步代码 使用Cypress进行e2e测试 测试 Vue 项目 软件测试和自动化测 ...
- 自动化测试中的测试执行自动化
"自动化测试"这个术语的使用是如何对团队深挖自动化益处产生束缚作用的,Richard Bradshaw 在Agile Testing Days 2015上对此进行了探讨分析. \\ ...
- 客户端GUI测试技术和自动化测试架构设计简谈
客户端GUI测试技术和自动化测试架构设计简谈 http://www.cnblogs.com/wiki-royzhang/p/3785033.html 客户端GUI测试技术和自动化测试架构设计简谈 客户 ...
- 浅谈软件自动化集成测试的流程
浅谈自动化集成测试 相信从事软件测试专业的同行很早就知道了自动化的测试技术,也许大家也很想知道具体的软件自动化具体的运行实施过程.本人学识尚欠,目前无法对综合的软件自动化的测试进行阐述,但是本人通过不 ...
最新文章
- checkpoint_通过Main的Checkpoint Restore加快Java启动速度
- python django框架_Python Web框架【Django框架第一篇基础】
- java自学难点_分享在达内教育培训Java的感受
- 数据结构之二叉查找树介绍
- java jxta_java现在还支不支持jxta,怎么官方都没下载了?
- java学生管理系统登录注册_《Java》— 学生管理系统——登录界面
- 乱下东西导致挖矿病毒Trojan,CoinMiner的解决记录
- 《Unity Shader入门精要》冯乐乐著 书中彩图
- 面试官问:你在项目中做过哪些安全防范措施?
- ios数据恢复工具:Mac FoneLab for Mac
- Android平台下的图片/视频转Ascii码图片/视频 (一)
- 什么是APS高级计划排程(高级计划排产)可视化甘特图,有哪些应用效果?
- matplotlib折线图与柱状图绘制在一起
- 如何在图数据库上实现图计算框架
- 会声会影x4素材_会声会影2020多重修整视频功能与操作
- 备份一体机的制作原理以及工艺
- SpringBoot项目中的 ClassPath路径指的是哪个路径
- GENI: Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
- 【写在七夕浪浪漫时刻】Go中遇到http code 206和302的获取数据的解决方案
- 纯CSS实现枫叶下落
热门文章
- python3捕获异常_python中异常捕获方法详解
- python tkinter实例_python绘制一个图形示例源码(tkinter)
- getopt在Python中的使用
- CentOS中通过NAT连接网络
- php导入csv文件,php实现CSV文件导入和导出
- golang mysql 崩溃_mysql连接问题,goruntime里执行总是出错,程序一直崩溃
- lua检测表中是否有某个值_Lua检测数组(tabble)中是否包含某个值
- linux服务器配置ssl证书
- AUTOSAR从入门到精通100讲(三十)-makefile原理及实战案例
- Python应用实战-Python提升运行速度技巧总结