工具列表-Selenium深入浅出0.9.0-测试-IT技术博客

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 几乎可以在任何浏览器中工作,因为它是纯粹的JavaScript。Selenium Core HTA 可以在 IE 最高安全等级(特权)下工作,这意味着它仅能在 IE 下工作。


需要远程安装:Selenium Core 需要在被测试应用程序(Application Under Test, 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 不能将任何测试结果写到磁盘上(因为它是用 javascript 写的,它不允许向磁盘写数据),当然你可以将测试结果发送到另外一台服务器保存。(你 可以 通过 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"表达式)。这会使编写复杂的测试变得困难甚至不可能。


使用 SeleniumServer 执行 Selenium 测试,是功能最强的,建议使用 Unit 单元测试和SeleniumServer 这种方式执行测试。


标签: Selenium教程基础教程Selenium教程Selenium入门