Selenium Grid简介与安装
一、序:
很多敏捷团队已经使用了Selenium和Watir等 工具进行验收测试或用户接口测试。这些工具通过驱动Web浏览器的方式反映用户体验,并且为测试那些使用DHTML和Ajax构建的动态接口提供强力支 持。然而,随着更多的团队采纳类似的工具,他们发现,运行这一整套浏览器驱动的Web接口测试会花费很长时间,而导致构建太慢。敏捷团队可能就不得不在全 面测试和构建速度之间做出艰难的选择。使用Selenium的用户中,有人通过使用Selemium-RC运行多个测试,也有人将测试分配给多个 Selemium-RC运行测试,但帮助有限。虽然对于少量并行是有效的,但对于大量并行却无能为力。Selenium用户现在有了另一种选 择:Selenium Grid。
Selenium Grid是Selenium的一个扩展,也是免费且开源的(Apache License 2.0)。它把管理一小撮Selenium-RC实例的事情和为了运行一个测试而连接一个Selenium实际的事情分开了。实际上,Selenium Grid是提供了一个hub,象个用于控制测试的远程控制器,但是是显式地将测试请求发送到一个或多个机器上的某个有效的Selenium-RC实例上。 这个Selenium Hub负责以下这些事情:
1)将一个SeleniumRC显式地分配给一个具体的测试
2)限制在每个RC最大并发测试数
3)将测试屏蔽在一个实际的网格结构之外。
使用Selenium Gird时,Selenium测试可以通过名称选择具体环境的实例,例如某个测试可以运行在Windows XP系统的IE7上,而其它实例却指定运行在Ubuntu的Firefox 1.5之上。
更重要的是,它允许组织构建一个复杂的包含多种必要的测试环境的测试机群,并在其上并行运行一个或多个项目的测试。这将在测试方面有显著的提高,最终减少 每个项目所需要的基础设施。某些大型组织对这一点认识的最为深刻(比如Google就在用相似的方法),但即使是对于单个项目的单个机器也是有价值的。
二、简介:
Selenium Grid是一种自动化的测试辅助工具,Grid通过利用现有的计算机基础设施,能加快Web-app的功能测试。利用Grid,可以很方便地同时在多台机器上和异构环境中并行运行多个测试事例。
Selenium Grid基于Web-app测试工具Selenium,它可以让您同时并行运行多个Selenium Remote Control。比较好的一点事,它使所有这些Selenium Remote Control显示为一个,这样您在测试中就可以不必操作具体的计算机。
Selenium Grid因为是基于Selenium RC的,所以它同时支持RC的其它所有语言,如:Ruby, Java, Python, C#, PHP, ...
还有最后一点,Selenium Grid简单易用。
原理图
三、安装:
下面,我们就介绍下如何使用Selenium Grid。
准备:
1. 下载安装ant
http://apache.mirrormax.net/ant/binaries/apache-ant-1.7.0-bin.zip
解压包到你选择的任意目录,然后将 你的解压路径/apache-ant-1.7.0/bin 添加的Path变量中。
最后验证安装:
$ ant -version
Apache Ant version 1.7.0 compiled on December 13 2006
2. 下载安装JDK 1.6
http://www.java.com/en/download/index.jsp
安装后添加java的bin目录到path变量,然后验证:
$java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Server VM (build 1.6.0-b105, mixed mode)
3. 下载Selenium Grid
http://download.csdn.net/detail/xifeijian/6603167
其中,zip是Windows平台的,(官网中:tar.bz2用于其他平台。)下载后解压缩,然后验证:
$cd <你的grid目录>
$ant sanity-check 它会查找你的BuildFile,自动安装完成。
四、运行:
1. 运行Selenium Grid
ant launch-hub
通过浏览器访问Selenium Grid控制台验证Selenium Grid启动成功:
http://localhost:4444/console ,如果看到下图,则表示Selenium安装并启动成功了。