强大的Web开源测试工具—Selenium

发表于:2015-12-08来源:uml.org.cn作者:不详点击数: 标签:selenium
Selenium 是 ThoughtWorks 专门为 Web 应用而开发的自动化测试工具,适合进行功能测试、验收测试,其最大的优势有几点:

  介绍

  Selenium 是 ThoughtWorks 专门为 Web 应用而开发自动化测试工具,适合进行功能测试、验收测试,其最大的优势有几点:

  <!--[if !supportLists]-->1) <!--[endif]-->可直接运行在浏览器之上,所见即所得,就像真实用户所做的一样。Selenium 的核心,也称 browser bot,是用 JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令

  <!--[if !supportLists]-->2) <!--[endif]-->支持多操作系统(Windows, Mac OS和Linux)和各种浏览器Internet Explorer、Mozilla 和 Firefox,更容易发现浏览器的不兼容性

  <!--[if !supportLists]-->3) <!--[endif]-->支持两种开发脚本的模式test runner (HTML文件)和 driven(脚本语言编写),其语言包括Java, .NET, Perl, Python 和 Ruby. 使用 driven 脚本,测试有一部分在浏览器之外运行,而如果使用 test runner 脚本的话,测试是完全在浏览器中运行的。

  但是Selenium是轻量的测试框架, 脚本所处理的测试用例构成简单,其实质就是通过HTTP协议,发送请求(request)来完成测试用例,所以很困难处理业务逻辑关系强的测试用例。

  更多的讨论: http://forums.openqa.org/index.jspa

  Selenium 命令

  Selenium 命令分成两类 —— 操作(action) 和断言(assertion):

  * 操作模拟用户与 Web 应用程序的交互。例如,单击一个按钮和填写一个表单,这些都是常见的用户操作,可以用 Selenium 命令来自动化这些操作。

  * 断言验证一个命令的预期结果。常见的断言包括验证页面内容或当前位置是否正确。

  在 Selenium 网站上可以找到可用命令的完整列表。通过 Selenium 命令,脚本编写者可以描述 browser bot 在浏览器中所执行的操作

  组成

  * Selenium IDE:一个firefox的plug-in,可以录制和回放并保存一些test cases, 可以生成一些简单的基于rc 模式的简单code. (相当于Jmeter的gui模式和jmeter脚本的生成-badboy)

  * Selenium Core. 整个测试机制的核心部分,即有assertion(断言) 机制的test suite runner。它由一些纯js代码组成, 可以运行在windows/linux的不同browser上 (相当于Jmeter 的runner 跟 Assertion)

  * Selenium Remote Control:一个代理与控制端, 可代替Selenium core/ Selenium IDE的client端(相当于通过编程来实现一切),是支持多语言的. (相当于Jmeter的client/server模式,但Selenium Remote Control更强一些)

  支持的平台

  Windows:

  o Internet Explorer 6.0

  o Firefox 0.8 to 1.5, Mozilla Suite 1.6+, 1.7+

  o Seamonkey 1.0, Opera 8

  Mac OS X:

  o Safari 1.3+

  o Firefox 0.8 to 1.5, Mozilla Suite 1.6+, 1.7+

  o Seamonkey 1.0, Camino 1.0a1

  Linux:

  o Firefox 0.8 to 1.5, Mozilla Suite 1.6+, 1.7+

  o Konqueror

  部署Selenium

  下载地方:http://www.openqa.org/selenium/

  selenium目录下的内容:

  <!--[if !supportLists]-->l <!--[endif]-->devtests:试验性功能 dom-images: 查看DOM用图片

  <!--[if !supportLists]-->l <!--[endif]-->dom-styles: 查看DOM用样式表

  <!--[if !supportLists]-->l <!--[endif]-->html-xpath: Xpath库

  <!--[if !supportLists]-->l <!--[endif]-->jsmock: javascript mock library

  <!--[if !supportLists]-->l <!--[endif]-->jsunit: javascript unit test library

  <!--[if !supportLists]-->l <!--[endif]-->tests: samples(以这个为基础开发测试用例)

  <!--[if !supportLists]-->l <!--[endif]-->核心js文件和html文件

  <!--[if !supportLists]-->l <!--[endif]-->如果想要测试自己开发的发布在服务器端的页面,需要把selenium配置在同一个服务器下: Apache :直接将selenium目录拷贝至htdocs(Apache的确省根目录)目录下,然后启动Apache,用地址http://server:8080/selenium/TestRunner.html访问例子。

  <!--[if !supportLists]-->l <!--[endif]-->Tomcat :直接将selenium目录拷贝至webapps目录下,启动Tomcat,用地址http://server:8080/selenium /TestRunner.html访问例子。:

  <!--[if !supportLists]-->l <!--[endif]-->IIS:建立一个虚拟目录selenium,将该虚拟目录直接指向实际的selenium目录,用地址 http://server/selenium/TestRunner.html访问例子

  Test runner 脚本开发模式

  Selenium test runner 脚本,就是测试用例(test case),是用 HTML 语言通过一个简单的表布局编写的,即使对于非技术人员来说,test runner 脚本也易于阅读和编写。如 清单 1 所示。

原文转自:http://www.uml.org.cn/Test/200607285.htm