经过selenium百科可知:javascript
1.Selenium Core:支持DHTML的测试案例(效果相似数据驱动测试),它是Selenium IDE和Selenium RC的引擎。java
2.Selenium IDE:FireFox的一个插件,支持脚本录制。web
3.Selenium RC:Selenium Remote Control。后续的系列文章我会主要针对Selenium RC展开介绍。编程
4.Selenium Grid:容许同时并行地、在不一样的环境上运行多个测试任务,极大地加快Web应用的功能测试。浏览器
1.浏览器支持:服务器
(1).Selenium IDE仅能够在Firefox中工做。框架
(2).Selenium Remote Control支持不少浏览器,包括最经常使用的:firefox,ie,safari等N款浏览器。编程语言
(3).Selenium Core支持的浏览器是最广的,这点和它的实现有关。做为IDE和RC的引擎,Selenium Core几乎能够在任何浏览器中工做。工具
2.须要远程安装:是否须要在被测网站的服务端安装?单元测试
这里只有Selenium Core须要,这是出于同源策略的缘由。这也是Selenium Core一个很大的限制,试问,若是你要测试Google.com,还得在google的服务器上装一个Selenium Core,那是多搞笑的一件事。
而Selenium IDE和Selenium Core HTA不会被同源策略所限制,由于他们对浏览器扩展了。
Selenium RC提供一个代码服务器来保证Selenium JS文件看似来自相同的远程服务器,从而符合同源策略;代理服务器欺骗浏览器,让它认为这里的确有像http://www.google.com/selenium/这样的目录。
3.支持HTTPS/SSL:
这里不说了,都支持。Selenium RC在“是”后面加*由于它是在最近版本支持的,仅此而已。
4.须要Java:准确的说是须要JRE
这项只有Selenium RC须要,上面2中所说的“代理服务器”是一个Java程序,需在跑测试案例前启动。
5.将测试结果保存到磁盘
只有Selenium Core不能将任何测试结果写到磁盘上(由于它是用javascript写的,它不容许向磁盘写数据),其解决方案是固然你能够将测试结果发送到另一台服务器保存。这也是Selenium Core的一大限制。
6.多语言支持
(1).Selenium IDE仅支持Selenium语言。
(2).Selenium RC支持不少语言,如:C#,Java,Python,Ruby等。
(3).Selenium Core也是仅支持Selenium语言。
(1).Selenium
IDE支持而且只支持Firefox浏览器,支持的浏览器太少,而依附于Firefox也不便于往后开展自动化测试,可是,它的录制快捷好用!而且有代码
转换功能,能够把Selenium语言测试案例转为C#,Java等语言的测试案例,我建议使用Selenium IDE +
FireBug进行测试案例的编写,而后转为其余语言的测试案例后,再调用Selenium RC运行测试案例。
(2).Selenium Core,它的优势是编写测试案例简单,而且支持绝大多数的浏览器,但缺点也一样明显,Selenium Core须要远程安装,Selenese语言也限制了复杂案例的可能性,而且没有良好的外部扩展,这是些都会是致命的问题。由于一个款测试工具不可能 100%知足你测试需求的,当它不能知足你测试需求时候,它必须有一个扩展机制可让你能够使用其余的方式知足你需求,不然这款测试软件即便功能强大,也 请三思慎用,不然当投入大量资源后才发现某些问题不能解决,那时候已经晚了,这是个人切身体会。
(3).Selenium RC是我推荐使用的工具,它支持不少浏览器,能够使用C#,Java等语言编写测试案例,易于维护,同时提供了很好的扩展性,因此后续的文档我会以Selenium RC做为默认的测试工具。