Selenium WebDriver + Grid2 + RSpec之旅(一)
----准备篇
前言
在Web 2.0 应用中,在浏览器种类盛行的时代,我们在测试过程中不仅要模仿不同的用户行为,还要包括不同的系统,不同的浏览器中的操作。在这种情况下,我们需要新的方法与工具来解决我们遇到的难题。用Selenium WebDriver + Grid2来实现多种浏览器功能自动化测试和并发性测试。将测试人员从繁杂的手动测试中解放出来,专注于结果分析和问题解决。(同志们!你们解脱啦!)
测试框架介绍
我们的测试框架主要采用了以下技术:
Ruby
Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程。当然了,Ruby在软件测试脚本中也占有很大的比重,您也可以使用Ruby轻松的进行测试脚本的开发。
Ruby的文本处理能力极强,同时,Ruby的语法简单,还有异常处理以及迭代器等构造,使编程变得简单明了。
Selenium WebDriver
Selenium 是针对 Web 应用的测试框架,支持多种浏览器和多种编程语。WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。Selenium WebDriver 更好的支持了动态网页。它的目标是为现代的网页程序测试提供设计良好的面向对象的 API。
Selenium Grid2
Selenium Grid 允许用户将测试案例分布在几台机器上并行执行。用户可以在一个集中控制点控制不同的环境。在不同的浏览器/系统组合上面更为容易的运行测试案例。允许用户更多的利用虚拟资源减少了维护测试环境的成本。Selenium Grid2 很好的支持了 WebDriver。利用原有的 WebDriver 脚本和 Grid 技术就可以将不同的测试用例分布在不同的机器或虚机上,在特定的浏览器版本上运行,自动地启动关闭分析工具,统一地保存测试结果。Selenium Grid2 的机制如图 1,
启动一个中央节点(Hub),然后启动多个远程控制节点(RC),启动 RC时告知 Hub 的位置,这样这些 RC就可以注册到 Hub 上,测试程序与 Hub 通讯,当测试被并发地发给 Hub 时,Hub 会自动将这些测试命令分发给已经注册的 RC,RC接到命令后执行测试。
RSpec
RSpec 是一门专门用于描述Ruby程序的行为的Ruby域指定语言。RSpec让应用程序的作者能以流畅的语言来表达他们的设计意图。
RSpec 也是一种实现BDD的工具,倡导在编写测试的同时描述代码的行为,BDD即行为驱动开发(Behaviour-Driven Development),从TDD进化而来,算是TDD的一个分支,使用RSpec编写的测试代码更加灵活也更具有趣味性。
测试框架的安装
Ruby的安装
1、访问Ruby官方网站(https://www.ruby-lang.org/zh_cn/downloads/)下载最新稳定版本的安装包,傻瓜式安装即可
2、下载DevKit包,解压,进入该文件目录内,按照如下命令安装:
ruby dk.rb init
ruby dk.rb install
(这步很重要,很多webdriver在windows上安装都报错,安装了这个,webdriver再也不用担心安装失败了!)
3、验证是否安装成功,在windows的DOS窗口中执行 ruby -v ,如果出现如下截图表示安装成功
Selenium WebDriver 的安装
使用gem安装
1、打开windows 的DOS界面
2、在命令行中执行 gem install selenium-webdriver
3、验证是否安装成功,在windows的DOS窗口中执行gem list selenium-webdriver,如果出现如下截图,表示安装成功
(由于本人安装了多个版本,版本号不同请忽略)
4、由于selenium-webdriver默认内嵌firefox浏览器驱动,如果要使用IE,chrome浏览器的话,请到官网上下载对应的浏览器驱动,并保存在path路径下。
Selenium-Grid2的安装
Selenium-Grid2已经集成到selenium server安装包中
1、访问selenium官网(http://docs.seleniumhq.org/download/)下载最新版selenium server
2、将下载的selenium-server-standalone-2.37.0.jar放到指定目录内
RSpec的安装
使用gem安装
1、打开windows 的DOS界面
2、在命令行中执行 gem install rspec
3、验证是否安装成功,在windows的DOS窗口中执行gem list rspec,如果出现如下截图,表示安装成功
(由于本人安装了多个版本,版本号不同请忽略)