我应该使用哪种Selenium工具?

上一篇 / 下一篇  2009-06-15 16:39:04 / 个人分类:Selenium

考虑如下功能矩阵:

 Selenium
IDE
Selenium
Remote Control
Selenium
Core
Selenium
Core HTA
浏览器支持仅Firefox很多所有仅IE
需要远程安装
支持 HTTPS/SSL是*
支持跨域是*
需要Java
测试结果保存到磁盘
多语言支持仅Selenese很多仅Selenese仅Selenese

* = Selenium RC中实验性的支持

 

浏览器支持:Selenium IDE仅可以在Firefox中工作。Selenium Remote Control直接支持Firefox和IE,此外还支持手动配置很多其它浏览器。Selenium Core几乎可以在任何浏览器中工作,因为它是纯粹的Javascrīpt。Selenium Core HTA可以在IE最高安全等级(特权)下工作,这意味着它仅能在IE下工作。

 

需要远程安装:Selenium Core需要在被测试应用程序(Application UnderTest, AUT)的网站内安装,因为同源安全策略,一个阻止进行跨网站脚本访问的安全策略。那意味着你不能坐在那里写一个Selenium Core测试而运行在google.com;如果要那样做,你需要在google.com安装Selenium Core。如果你不能/不会在你的被测应用程序AUT上面安装Selenium Core,不能保证它在AUT相同的服务器上公开可见,那么Selenium Core可能不适合你。

同源安全策略不会限制Selenium IDE,因为它作为Firefox扩展实现;它对于Selenium Core HTA也无效,因为它运行于IE的最高安全级别(特权)上。Selenium RC通过提供一个代理服务器来保证Selenium JS文件看似来自相同的远程服务器,从而符合同源策略;代理服务器欺骗浏览器,让它认为这里的确有像http\://www.google.com/selenium/这样的目录。

 

支持HTTPS/SSL:最新版本的Selenium Remote Control的代理服务器可以支持HTTPS网站(当前所指版本为0.9.0),但是这个支持还是实验性的。参考使用试验性的浏览器加载器

 

支持跨域:同源策略意味着测试一个服务器/域不能操作另外一个服务器/域。这意味着Selenium Core不能处理跨多个不同域的应用程序。
Selenium RC可以处理切换域的问题,但是这个支持是实验性的。参考使用试验性的浏览器加载器获取更多信息。

需要Java:Selenium Core和Selenium IDE直接在浏览器中运行。Selenium RC需要安装Java(运行代理服务器)。注意,虽然Selenium RC需要Java,你也可以用.NET、Perl、Python和Ruby编写你的RC测试,但是你需要Java来运行代理。

 

将测试结果保存到磁盘:Selenium Core不能将任何测试结果写到磁盘上(因为它是用javascrīpt写的,它不允许向磁盘写数据),当然你可以将测试结果发送到另外一台服务器保存。(你可以通过Selenium COre HTA保存测试结果。)Selenium Remote Control提明确供支持运行测试并用多种语言讲测试结果写入磁盘的功能;它还可以为Selenium Core结果处制理服务器。Selenium IDE是一个Firefox扩展,所以当然支持将测试结果存盘。

 

语言支持:Selenium Remote Control允许你用任何语言写测试,包括Java、.NET、Pertl、Python和Ruby。(你还可以为其它语言添加测试的支持。)Selenium IDE和Selenium Core仅支持使用"Selenese"测试, 一种简单的脚本语言。Selenese有一些严格的限制:它没有条件(没有"if"表达式),并且它没有循环(没有"For"表达式)。这会使编写复杂的测试变得困难甚至不可能。

你可以通过这个链接引用该篇文章:http://shmilyfan.bokee.com/viewdiary.17139008.html

 

 


TAG: Selenium

 

评分:0

我来说两句

Open Toolbar