Selenium私房菜系列1 -- Selenium简介

发表于:2011-10-09来源:未知作者:领测软件测试网采编点击数: 标签:selenium
一.Selenium是什么? Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款:

  一.Selenium是什么?

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

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

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

  3.Selenium RC:Selenium Remote Control。后续的系列文章我会主要针对Selenium RC展开介绍。

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

  二.选择合适的Selenium工具

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

 

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

  这里没有介绍Selenium Grid,但介绍了另外一个Selenium Core HTA,Selenium Core HTA其实是Selenium Core的额外模式,你只要Selenium Core配置稍加修改,即为HTA模式,Selenium Core HTA可以在IE最高安全等级(特权)下工作,这意味着它仅能在IE下工作,由于限制较大,下面将排除对Selenium Core HTA的讨论。

  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语言。

  Selenium语言的测试案例如下:

Selenium私房菜系列1 -- Selenium简介 - swl632 - 我的<STRONG><A href=博客" border="1" height="220" src="/uploads/allimg/111009/0934343561-0.jpg" width="289" />

  它的优点是:简单,用(Command,Target,Value)三种元素组成一个行为,并且有辅助录制脚本工具(如:Firefox IDE,Selenium Core等),不懂程序的测试人员都可以轻松地编写测试案例。

原文转自:http://www.ltesting.net