技术人生!

selenium简介(转)

上一篇 / 下一篇  2013-06-08 16:37:19 / 个人分类:网页测试

一.Selenium是什么?

Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款:

1.SeleniumCore:支持DHTML的测试案例(效果类似数据驱动测试),它是SeleniumIDE和SeleniumRC 的引擎。

2.SeleniumIDE:FireFox的一个插件,支持脚本录制。

3.SeleniumRC:SeleniumRemoteControl。后续的系列文章我会主要针对SeleniumRC展开介绍。

4.SeleniumGrid:允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web应用的功能测试

二.选择合适的Selenium工具

既然Selenium工具有4款这么多,那到底如何选择呢??我从"Selenium官网"这里找了一个表:

        Selenium IDE  Selenium    Remote Control   Selenium CoreHTA

                      Control         Core

浏览器支持  仅Firefox    很多              所有            仅IE

需要远程安装 否           否                是             否

支持HTTPS/SSL 是        是*               是             是

支持跨域     是          是*               否             是

需要Java    否          是                否             否

测试结果保存到磁盘是       是                否             是

多语言支持 仅Selenese    很多           仅Selenese    仅Selenese

这里没有介绍SeleniumGrid,但介绍了另外一个SeleniumCoreHTA,

SeleniumCoreHTA其实是SeleniumCore的额外模式,你只要SeleniumCore配置稍

加修改,即为HTA模式,SeleniumCoreHTA可以在IE最高安全等级(特权)下工作

这意味着它仅能在IE下工作,由于限制较大,下面将排除对SeleniumCoreHTA的讨论。

1.浏览器支持:

(1).SeleniumIDE仅可以在Firefox中工作。

(2).SeleniumRemoteControl支持很多浏览器,包括最常用的:firefox,ie,safari等N款浏览器。

(3).SeleniumCore支持的浏览器是最广的,这点和它的实现有关。

作为IDE和RC的引擎,SeleniumCore几乎可以在任何浏览器中工作。

2.需要远程安装:是否需要在被测网站的服务端安装?

SeleniumIDESelenium RemoteControl Selenium Core SeleniumCoreHTA浏览器支持仅Firefox很多所有仅

IE需要远程安装 否 否是否支持HTTPS/SSL是是*是是支持跨域是是*否是需要Java 否 是否否将测试结果保存到磁盘

是否是多语言支持 仅Selenese 很多 仅Selenese仅Selenese 这里只有SeleniumCore需要,这是出于同源策略的

原因。这也是SeleniumCore一个很大的限制,试问,如果你要测试Google.com,还得在google的服务器上装一个

SeleniumCore,那是多搞笑的一件事。 而SeleniumIDE和SeleniumCoreHTA不会被同源策略所限制,因为他们对

浏览器扩展了。 SeleniumRC提供一个代码服务器来保证SeleniumJS文件看似来自相同的远程服务器,从而符合同源

策略;代理服务器欺骗浏览器,让它认为这里的确有像http://www.google.com/selenium/这样的目录。

3.支持HTTPS/SSL: 这里不说了,都支持。

SeleniumRC在“是”后面加*因为它是在最近版本支持的,仅此而已。

4.需要Java:

准确的说是需要JRE 这项只有SeleniumRC需要,上面2中所说的“代理服务器”是一个Java程序,需

在跑测试案例前启动。

5.将测试结果保存到磁盘 只有SeleniumCore不能将任何测试结果写到磁盘上(因为它

是用javascript写的,它不允许向磁盘写数据),其解决方案是当然你可以将测试结果

发送到另外一台服务器保存。这也是SeleniumCore的一大限制。

6.多语言支持

(1).SeleniumIDE仅支持Selenium语言。

(2).SeleniumRC支持很多语言,如:C#,Java,PythonRuby等。

(3).SeleniumCore也是仅支持Selenium语言。

Selenium语言的测试案例如下:

它的优点是:简单,用(Command,Target,Value)三种元素组成一个行为,并且有辅助录制脚本工具(如:

FirefoxIDE,SeleniumCore等),不懂程序的测试人员都可以轻松地编写测试案例。

它的缺点是:Selenese有一些严格的限制:它没有条件(没有"if"表达式),并且它没有循环(没有"For"表达式)。

这会使编写复杂的测试变得困难甚至不可能。


TAG:

黑鱼白 引用 删除 黑鱼白   /   2013-06-08 17:10:57
文中的表格,显示的不是想象中的那样,哎,也请看过的亲们,谅解昂
 

评分:0

我来说两句

日历

« 2023-12-15  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 11031
  • 日志数: 19
  • 建立时间: 2012-12-03
  • 更新时间: 2013-08-12

RSS订阅

Open Toolbar