搭建mocha测试环境并使用selenium进行测试

注:有很多命令在windows的命令行下无法使用,推荐先在windows系统上安装Git Bash工具(下载地址http://code.google.com/p/msysgit/downloads/list),所有的命令行操作都在该工具下运行。

 

一、搭建mocha测试环境

    mocha是node.js下常用的测试框架。其安装步骤如下:

        1)到node.js的网站http://nodejs.org/上点击最显眼的绿色的图标“install”下载安装文件

        2)下载后,双击该安装文件安装node.js

        3)到命令行下输入 “node -v” ,如果会打印出node的版本信息,则node安装成功

        4)在命令行下输入 “sudo npm -g install mocha”以global的方式安装mocha

                (windows系统不识别sudo,可忽略sudo)

        5)在命令行下输入 “mocha -h” ,如果会输出帮助信息,则mocha安装成功

        6)新建一个文件夹,如命名为mocha-test,在该文件夹下新建一个package.json文件,package.json里的内容如下:

 

 1 {
 2     "name": "Inkie_test",
 3     "version": "0.0.1",
 4     "description": "testcases of Inkie",
 5     "main" : "index.js",
 6     "scripts":{
 7         "test":""
 8     },
 9     "dependencies" : {
10         "selenium-webdriver" : "~2.35.0",
11         "chai" : "~1.8.1"
12     }
13 }

 

 

 

      在命令行下切换到mocha-test目录,输入命令“sudo npm install”下载package.json里描述的依赖,然后该文件夹下会多出一个名为node_modules的文件夹。  

7)安装firefox浏览器

        8)(mac请忽略此步骤)把firefox浏览器的路径加到系统环境变量中,如果在命令行中能用start firefox命令启动火狐浏览器,则windows系统环境变量添加成功。

 

二、启动selenium server

    1)http://code.google.com/p/selenium/上下载selenium-server-standalone-2.36.0.jar(版本信息可能不同)

    2)在命令行下输入“java -jar selenium-server-standalone-2.36.0.jar”以启动服务(没装Java的要先装Java)。


三、测试实例

    以下是用BDD写的一个测试示例test.js,该测试的目的是打开google主页,搜索mocha,并检查搜索结果网页的title是否含有mocha关键字。

 

 1 var should = require('chai').should();
 2 var webdriver = require('selenium-webdriver');
 3 var By = webdriver.By;
 4 
 5 var builder = new webdriver.Builder().usingServer("http://127.0.0.1:4444/wd/hub");
 6 builder.withCapabilities({ browserName : "firefox" });
 7 var driver = builder.build();
 8 
 9 describe ('first test', function () {
10     beforeEach(function () {
11         driver.get('http://www.google.com');
12     });
13 
14     afterEach(function () {
15         driver.close();
16         driver.quit();
17     });
18 
19     it('should have correct title', function (done) {
20         driver.findElement(By.css('#lst-ib')).sendKeys('mocha');
21         driver.findElement(By.css('[name="btnK"]')).click();
22         driver.sleep(3000);
23         driver.getTitle().then(function (title) {
24             title.should.contain('mocha');
25             done();
26         });
27     });
28 });

 

 

    在命令行中切换到测试目录,如本例中新建的mocha-test目录,输入以下命令以启动测试:

mocha -t 30000 -R spec test.js

    该命令中的"-t 30000"是设置一个测试用例(一个it函数表示一个测试用例)运行的时间不超过30秒,"-R spec"是设置测试结果的输出格式。关于mocha运行测试的更多参数不再赘述。

posted @ 2014-03-12 16:49  Inkie  阅读(845)  评论(0)    收藏  举报