基于Node.js搭建集成自动化测试环境的基本步骤
2017-07-25 21:54
525 查看
本文由Markdown语法编辑器编辑完成。
这几天接到项目经理的安排,要求让我搭建一套测试环境。之前在做项目时,我只是在已经搭建好的测试框架下直接撰写测试代码,并没有感觉到有多么困难。但是,当自己从0开始搭建自动化测试环境时,却发现了这个过程中许许多多的问题,每一个问题的解决其实都是自己的一个知识盲点。经过将近3天的努力,终于搭建好了测试环境,并且撰写了两例基本的集成自动化测试。以下记录这个过程,权当是一个总结,也可以供未来的人们提供参考。
Webstorm;
Node.js;
Oracle客户端工具:instantclient
WebStorm:
http://www.jetbrains.com/webstorm/
WebStorm是开发JavaScript的最优秀的编辑器。我们的测试框架以及测试配置文件Gruntfile.js都可以直接加载在WebStorm中并被识别,它可以完美地实现前端的集成自动化测试。
Node.js:
https://nodejs.org/en/
http://javascript.ruanyifeng.com/nodejs/basic.html
Node.js是一个JavaScript运行环境(runtime),实质是对Chrome V8引擎进行了封装。Node.js是一个基于Chrome JavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。
Instantclient:
http://www.oracle.com/technetwork/cn/topics/instantclient-095449-zhs.html
Oracle即时客户端。利用即时客户端,用户无需安装标准的Oracle客户端或拥有ORACLE_HOME就可运行应用程序。OCI, OCCI, Pro*C, ODBC和JDBC应用程序无需进行修改即可运行。
待以上的三款工具软件安装后,我们便可以进行相关文件的配置了。这里指的配置文件,主要是指:Gruntfile.js和Protractor.conf.at.js等。
Grunt:
http://javascript.ruanyifeng.com/tool/grunt.html
在JavaScript的开发过程中,经常会遇到一些重复性的任务,比如合并文件、压缩代码、检查语法错误、将Sass代码转成CSS代码等。通常需要不同的工具来完成这些不同的任务,既重复劳动又非常耗时。
Grunt就是为了解决以上问题而发明的工具,可以帮助用户自动管理和运行各种任务。
Grunt是一个自动任务运行器,会按照预先设定的顺序自动运行一系列的任务。这可以简化工作流程,减轻重复性工作带来的负担。
Protractor:
http://www.protractortest.org/#/
https://github.com/angular/protractor
Protractor是Angular官方正在使用的E2E测试框架,可以说是专门为Angular定制,内置了各种可以选择、操作Angular元素的便捷方法。如果Web应用是基于Angular开发,使用Protractor可以减少很多重复代码。对于Angular的重度使用者,Protractor会是非常明智的选择。
在实际的测试用例撰写的时候,如果涉及到数据库的相关操作,都需要首先通过require将该模块引入。
如:var nodedb = require(‘./oracledb’);
但实际在进行自动化测试环境的搭建过程中,发现在运行测试时会有如下的错误信息:
“The specified module could not be found - oracledb.node.”
本次搭建测试环境所安装的Oracle的客户端版本为:InstantClient12_2。后来经过查询,是因为本地机器缺少了VC++的运行时库而造成的。根据对应关系,InstantClient12_2需要安装的VC++运行时库的版本为VC++ 2013.
Visual C++ Redistributable Packages for Visual Studio 2013的下载链接为:https://www.microsoft.com/en-us/download/details.aspx?id=40784。下载安装后再重启电脑,即可以正常地访问node.js提供的数据库模块oracledb。
1. 前言:
随着Web项目的不断规范以及测试驱动开发(TDD)的理念,以及迭代开发和Dailybuild等概念的产生,自动化测试是一个很重要的发展方向,它可以及时地发现新开发的功能对旧有功能的影响,同时由于可以自动化测试,减轻了测试人员的工作量。这几天接到项目经理的安排,要求让我搭建一套测试环境。之前在做项目时,我只是在已经搭建好的测试框架下直接撰写测试代码,并没有感觉到有多么困难。但是,当自己从0开始搭建自动化测试环境时,却发现了这个过程中许许多多的问题,每一个问题的解决其实都是自己的一个知识盲点。经过将近3天的努力,终于搭建好了测试环境,并且撰写了两例基本的集成自动化测试。以下记录这个过程,权当是一个总结,也可以供未来的人们提供参考。
2. 集成自动化测试环境搭建步骤:
经过思考和实践,搭建环境的基本步骤可以分为以下几步:2.1 准备软件
要想进行Web前端的集成自动化测试,需要准备一些必要的软件,分别是:Webstorm;
Node.js;
Oracle客户端工具:instantclient
WebStorm:
http://www.jetbrains.com/webstorm/
WebStorm是开发JavaScript的最优秀的编辑器。我们的测试框架以及测试配置文件Gruntfile.js都可以直接加载在WebStorm中并被识别,它可以完美地实现前端的集成自动化测试。
Node.js:
https://nodejs.org/en/
http://javascript.ruanyifeng.com/nodejs/basic.html
Node.js是一个JavaScript运行环境(runtime),实质是对Chrome V8引擎进行了封装。Node.js是一个基于Chrome JavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。
Instantclient:
http://www.oracle.com/technetwork/cn/topics/instantclient-095449-zhs.html
Oracle即时客户端。利用即时客户端,用户无需安装标准的Oracle客户端或拥有ORACLE_HOME就可运行应用程序。OCI, OCCI, Pro*C, ODBC和JDBC应用程序无需进行修改即可运行。
2.2 测试文件配置
以上提到的三个必要工具软件:WebStorm是作为自动化测试的编辑和运行载体;Node.js是作为JavaScript运行时的服务器环境;InstantClient是作为Node与远程Oracle服务器进行连接的桥梁。待以上的三款工具软件安装后,我们便可以进行相关文件的配置了。这里指的配置文件,主要是指:Gruntfile.js和Protractor.conf.at.js等。
Grunt:
http://javascript.ruanyifeng.com/tool/grunt.html
在JavaScript的开发过程中,经常会遇到一些重复性的任务,比如合并文件、压缩代码、检查语法错误、将Sass代码转成CSS代码等。通常需要不同的工具来完成这些不同的任务,既重复劳动又非常耗时。
Grunt就是为了解决以上问题而发明的工具,可以帮助用户自动管理和运行各种任务。
Grunt是一个自动任务运行器,会按照预先设定的顺序自动运行一系列的任务。这可以简化工作流程,减轻重复性工作带来的负担。
Protractor:
http://www.protractortest.org/#/
https://github.com/angular/protractor
Protractor是Angular官方正在使用的E2E测试框架,可以说是专门为Angular定制,内置了各种可以选择、操作Angular元素的便捷方法。如果Web应用是基于Angular开发,使用Protractor可以减少很多重复代码。对于Angular的重度使用者,Protractor会是非常明智的选择。
2.3 测试数据库配置
Node.js专门为自动化测试提供了数据库模块,名称为oracledb。关于oracledb的相关源码和测试examples,可以通过Github上的链接进行访问:https://github.com/bchr02/node-oracledb。在实际的测试用例撰写的时候,如果涉及到数据库的相关操作,都需要首先通过require将该模块引入。
如:var nodedb = require(‘./oracledb’);
但实际在进行自动化测试环境的搭建过程中,发现在运行测试时会有如下的错误信息:
“The specified module could not be found - oracledb.node.”
本次搭建测试环境所安装的Oracle的客户端版本为:InstantClient12_2。后来经过查询,是因为本地机器缺少了VC++的运行时库而造成的。根据对应关系,InstantClient12_2需要安装的VC++运行时库的版本为VC++ 2013.
Visual C++ Redistributable Packages for Visual Studio 2013的下载链接为:https://www.microsoft.com/en-us/download/details.aspx?id=40784。下载安装后再重启电脑,即可以正常地访问node.js提供的数据库模块oracledb。
2.4 验证测试环境搭建成功
相关文章推荐
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的自动化测试环境
- 前端自动化开发之Node.js的环境搭建教程
- 在Linux系统中搭建Node.js开发环境的简单步骤讲解
- 基于selenium3+python3.6.x+chrome57.x的自动化测试环境搭建
- MAC 搭建自动化测试环境(基于Appium+python+ios/android+unnitest+HTMLTestRunner)(一)
- 基于Selenium2与Python的自动化测试环境配置搭建
- Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及
- 8 步搭建 Node.js + MongoDB 项目的自动化持续集成
- 基于jenkins搭建自动化集成环境
- 前端自动化开发,架构搭建(第一篇)Node.js环境搭建
- 编程工具(七)Mac下的Java环境和Node.js/Ruby开发环境搭建(基于Intellj Idea)
- 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)
- Node.js下基于Express + Socket.io 搭建一个基本的在线聊天室
- 基于docker-compose搭建laravel环境(nodejs+npm+bower)
- 在windows环境下基于sublime text3的node.js开发环境搭建
- 使用Nodejs+Protractor搭建测试环境
- three.js自学之旅(1)——用node.js在本地搭建最最=基本web环境
- CentOS 环境搭建并测试Node.js服务器开发环境
- nodejs+express搭建电影网站之二 -----具体项目结构 开发环境的建立 测试页面流程跑通
- 在windows环境下基于sublime text3的node.js开发环境搭建