您的位置:首页 > Web前端 > Node.js

基于Node.js搭建集成自动化测试环境的基本步骤

2017-07-25 21:54 525 查看
本文由Markdown语法编辑器编辑完成。

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 验证测试环境搭建成功

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐