天天看点

AngularJS集成自动化测试

AngularJS集成自动化测试基础

目录

          • 1. 测试分类(UT, IT, AT)
          • 2. 安装方法
          • 3.AngularJS的集成开发框架Protractor
          • 4.基于nodejs和Grunt构建集成开发环境
          • 5.撰写集成测试代码
1. 测试分类(UT, IT, AT)

UT: Unit Testint, 单元测试

IT: Integration Testing, 集成测试;

UAT: User Acceptance Testing, 验收测试.

UAT验收测试是向未来的用户表明系统能够像预定的要求和设计那样工作。在集成测试后已经将每一个基本功能都进行了正确性测试后。整个项目已经按照设计把所有的功能模块都组装成了一个完整的软件系统,即软件的功能和性能是否如同用户所期待的那样。

参考阅读:http://blog.csdn.net/inter_peng/article/details/49475549

2. 安装方法

安装如下图中的软件,下一步即可

AngularJS集成自动化测试

配置数据库(该运行环境为oracle数据库),解压后放到相应文件夹下

AngularJS集成自动化测试

配置环境变量 win7:计算机–属性–高级系统设置–环境变量–系统变量–path

AngularJS集成自动化测试

添加如下配置

AngularJS集成自动化测试

自动测试环境搭建注意事项:

InstallClient文件夹内的两个压缩文件,拷贝到同一个文件夹下并解压到本地文件夹。然后将tnsnames.ora文件拷贝到解压后的文件夹内;

按照图片“InstantClient设置环境变量.png”的显示,设置InstallClient的环境变量。如果本地已经安装了其他的Oracle客户端,则需要将InstallClient的环境变量置于顶部。

注意:检测配置的自动化测试node.js安装是否成功:

cmd 输入 node –version

启动WebStorm时,在激活框,选择 License server

输入http://idea.iteblog.com/key.php

3.AngularJS的集成开发框架Protractor

Node.js:

Node是JavaScript语言的服务器运行环境。

(1) JavaScript语言通过Node在服务器运行,Node相当于是JavaScript的虚拟机;

(2) Node提供大量工具库,使得JavaScript语言与操作系统互动(比如读写文件、新建子进程),

Node是JavaScript的工具库。

Node最大特点:单线程,一次只能运行一个任务。因此Node大量采用异步操作(asynchronous opertion),即任务不是马上被执行,而是插在任务队列的尾部,等到前面的任务运行完成后再执行。

参考链接:

http://javascript.ruanyifeng.com/nodejs/basic.html

https://nodejs.org/zh-cn/

Protractor:

官网:http://www.protractortest.org/#/

API: http://www.protractortest.org/#/api

Protractor is an end-to-end test framework for Angular and AngularJS application. Protractor runs tests against your application running in a real browser, interacting with it as a user would.

Protractor测试环境及测试步骤:

(1) 配置Gruntfile.js, protractor.at.conf.js文件;

(2) 阅读测试用例;

(3) 根据测试用例,撰写相应的测试case,使测试自动化;

(4) 部署在Jenkins等持续集成平台上,dailybuild。

4.基于nodejs和Grunt构建集成开发环境

命令脚本文件Gruntfile.js:

AngularJS集成自动化测试

AngularJS的集成开发框架Protractor

AngularJS集成自动化测试
5.撰写集成测试代码
  1. 常见用法:

    describe, it, beforeAll, beforeEach, afterAll, afterEach, require, then, click, done;

    browser.sleep(), browser.executeScript(), browser.get(),browser.waitForAngular();

    mouse event:

期望结果:

expect().toBe(); expect().not.toBe();

日志跟踪:

console.log();

http://www.protractortest.org/#/api

  1. 数据库操作:node-oracledb

    由于运行自动化测试时,需要对数据库中的表进行频繁的操作,为了防止自动化测试对正常的测试环境产生影响,我们需要在服务器上另外建立一个数据库账户,这个用户就是专门来存储自动化测试时的数据的。

    原则上,在每个测试进行前,要先清空数据,然后再添加自己测试需要的数据;测试结束后,需要把该测试添加的数据都清空掉。

    在测试项目中还可以写一些公共的方法。

    AngularJS集成自动化测试
AngularJS集成自动化测试

小编有话讲:该文章是小编同公司的一个大神哥哥写的,在他的个人博客里还有很多很经典的文章,推荐给你们,希望我们共同进步。

博客地址:http://my.csdn.net/inter_peng