Selenium-WebDriver教程(一)开卷有益

     初识Selenium还是在2010年的4月份,那时刚刚入职满一年。由于项目的需要,需要我们开发一套拨测系统,能够探测网络上的业务。于是在网上找各种工具进行试用,包括商业软件RFT(IBM),QTP (HP), SilkTest等商业软件,当然也有WATIR,但是都不满意。一次偶然的机会,碰到了Selenium,自此就深深的喜欢上了它。

     其实,早都想写一些关于Selenium的一些技术文章,但是苦于工作压力,迟迟未能如愿。今天,工作之余整理文件,发现角落里的Selenium,于是拿出分享给大家。由于本人文笔欠佳,加上技术更新日新月异,如有讲述不当或错误之处,还望指正。 

     这个系列的教程将分为四个部分讲解:

     (1) 开卷有益   :  了解Selenium 的前世今生

     (2) 手中有剑   :   Selenium的IDE

     (3) 拨云见日   :   使用Selenium做自动化测试

     (4) 羽化成蝶   :   使用Selenium搭建自己的自动化测试框架

第一部分:  开卷有益

1 Selenium的发展历史

      在2004年,ThoughtWorks公司有个叫做Jason Huggins詹森哈金斯的 家伙,他负责测试一个Web应用程序。这个聪明的家伙,厌倦了一遍遍的手工来测

试这些Web应用程序。于是乎,他写了一些Javascript代 码,这些代码模拟手工操作Web页面的。——这些代码(称之为Javascript 库)后来就是Selenium

Core,是Selenium RC和Selenium IDE的基础代码。

      Selenium一问世后,就得到了广泛的使用。其中Google就是Selenium的重度用户了。但是Selenium有它的缺陷的:它是将 Javascript代码注入到浏览器中

的,浏览器对Javascript的执行是有些安全限制的,导致有些应用是难以通过Selenium来验证功能 的。Google可是人才济济啊,难不倒他们的。在2006年,

Google的一位工程师Simon Stewart,他开始了一个项目WebDriver,它采用了一种直接的原生的(native)的方式来驱动浏览器,以此避免Javascript的限制。

此时,Selenium和WebDriver是各自发展的。到了2008年底,两者计划合并了。经过了两年多的合并开发(我也不晓得为啥会花那么长时间才合并好),Selenium

2.0终于在2011.6月份发布了。对上述内容总结绘制了如下的表格:

 

2 Selenium软件概览

 Selenium软件包含很多的功能模块和组件(官网),每个组件又有着不同的用途,包括:

(1)Selenium IDE

  Selenium IDE是一个录制和回放工具,目前只支持Firefox浏览器,截至目前,最新的版本为1.10.0,可以在官网下载。

(2)Selenium Server

      Selenium1 和 Selenium2的运行支撑环境,使用Selenium进行测试必须要使用该文件。

(3)Selenium Client

      客户端的开发包,就是你需要引用该包中的API进行selenium进行测试开发和控制。

(4)Driver

      包括IEDriverServer.exe,ChromeDriverServer.exe等(Firefox不需要哦),在使用Selenium2(WebDriver)时,必须下载相应的浏览器驱动程序才能完成测试的执行。

(5)Selenium Grid

      如果要做分布式的测试和测试端的管理,就需要使用Selenium Grid组件了。更多内容可以点击这里查看

 3 Selenium特点

Selenium是一款强大的WEB自动化测试工具,表现在:

(1) 测试直接在浏览器中运行,就像真实用户所做的一样,从终端用户的角度测试应用程序。

(2) 使浏览器兼容性测试自动化成为可能。兼容Firefox,Chrome,IE ,Opera等浏览器,这是其他商业软件也望尘莫及的。

(3) 使用简单,可生成多种语言的用例脚本。通过IDE可以将测试用例导出为Ruby,C# , JAVA和Python等语言格式的代码。

(4) Selenium IDE:一个Firefox插件,可以录制用户的基本操作,生成测试用例。这些测试用例在浏览器里回放同时可将用例转换为其他语言的自动化脚本。

(5) 可以支持多种平台(Window, Linux, Mac, Android)。据我了解,目前还没有那种工具能支撑这么多种平台。

(6) 轻便,小于50M且不用安装(所有的包加在一起)。

(7) 提供多种语言的开发包,包括C#, JAVA, Ruby和Python。 总有一种是你熟悉的。

4 Selenium架构

这里我给出一个从其他地方得到的一张图(具体忘记从什么地方得到的了,如果有人知道请告诉我,我增加上),大家看着理解吧,很简单。

 

5 Selenium相关资料网址

官网:http://seleniumhq.org/

源码:http://code.google.com/p/selenium/

中文网:http://seleniumcn.cn/

FAQ:   http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions

WiKi:  http://code.google.com/p/selenium/w/list

教程:http://marakana.com/bookshelf/selenium_tutorial/selenium2.html

 

分享,让我们更快乐。

 

posted @ 2013-03-26 16:57  曹帅帅  阅读(2332)  评论(3编辑  收藏  举报