搭建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运行测试的更多参数不再赘述。
浙公网安备 33010602011771号