Selenium官方文档:Selenium RC 工作原理

2011-07-01  熊志男 

     原文档地址:http://seleniumhq.org/docs/05_selenium_rc.html

     英文差害死人,每次去官方文档中查找点东西,都要查半天字典,好不容易看懂了,下次再来看又忘了某某单词的意思,所以还是翻译好记录在这里,下次直接来看,虽然英文水平较差,不过自己应该能看懂。

 

介绍:

你可以了解Selenium的简史,会发现Selenium RC长期以来一直是Selenium项目的主要部分,是在WebDriver融入到Selenium2以前,最新和最强大的工具。

Selenium1仍在积极地支持(大部分处于维护模式)和提供一些甚至在Selenium2中也不支持的特性,比如支持多语言(JavaJavaScript Ruby Python PHPPerl and C#),还有基本支持所有的浏览器。

 

Selenium RC 工作原理:

首先来描述下Selenium RC( Remote Control)的组成,各种操作,以及在你的测试脚本担任什么样的角色。

 

RC 构成

Selenium RC 的组成部分为:

Selenium Server,他的作用是启动和关闭浏览器,解释和运行由测试程序发来的Selenese命令,作为HTTP代理,截取和验证浏览器和测试程序之间传递的HTTP信息。

 

Client libraries: 负责提供编程语言与Selenium Server 之间的接口。

 

下面是简单的结构图:

 

这个图展示了,每次Client Libraries与Server通讯并传递要执行的Selenium命令,然后Server把命令传递给浏览器,转换为Selenium-Core JavaScript命令。浏览器用它的JavaScript解释器,执行此Selenium命令,运行的就是你在测试脚本中指定的Selenese动作或校验。


Selenium Server:

Selenium Server负责接收测试程序传过来的Selenium命令,并解释,然后把执行的结果返回给测试程序。

RC Server集成了Selenium Core并自动地注入到浏览器中。当你的测试程序打开浏览器(是通过调用Client Libraries 的API中方法)。Selenium Core 是JavaScript程序,实际上它是一组用浏览器的内置JavaScript解释器来执行Selenese命令的JavaScript方法。

Server通过常见的HTTP的POST/GET请求来获取Selenese命令,就是说你可以通过用任何一种语言来发送HTTP请求给Server从而实现在浏览器中的各种操作和测试。


Client Libraries:

Client提供编程支持,你可以用你自己设计的测试程序来运行Selenium命令。针对不同的编程语言有不同的Client Libraries。每个Client Libraries 提供一种语言的编程接口API,一组方法,是你可以用自己的程序来运行Selenium命令。每个接口里,都有相应的方法来支持每一个Selenium命令。

Client Libraries获取Selenium命令并传递给Server,用来执行特定的动作和每个针对应用程序的自动测试。Client也接受测试结果并返回给测试程序。测试程序可以接受测试结果并把它保存在一些变量中,用来报告执行是否成功,或者通过反馈的信息尽可能地纠正一些非预期的错误。

那么,创建一个测试程序,简单的写个程序调用Client Libraries的API来运行一组selenium命令。另外,如果你已经在Selenium-IDE中创建了一些测试脚本,你可以通过IDE把这些脚本生成Selenium code。Selenium-IDE可以把他自己录制的Selenium命令转换成支持调用Client Libraries API的代码。详细操作请参考第一章中对Selenium-IDE输出脚本的功能描述。


后一篇:Selenium RC 安装步骤


1062°/10606 人阅读/2 条评论 发表评论

赵祥方  2011-07-01

刚开始自学,正巧用的上,多谢!


小窝  2011-07-07

同步至官方微博


登录 后发表评论