Selenium RC 的工作原理

最近在看Selenium,顺便写一些翻译文档,方便以后再用。

Selenium RC的工作原理

    首先,我们介绍一下Selenium RC各组成成分之间是如何执行的,还有RC在运行用户程序的时候这些成分各自起到什么样的作用。

RC 组成成分:

   **•Selenium Server** 用于启动和关闭浏览器,解析和运行测试程序发送过来的Selenium命令(Selenium Command),也就是充当一个能够解释和验证浏览器和自动测试程序之间的Http消息的 代理器
    **•Client libs** 客户端库提供各种不同编程语言与Selenium RC Server之间的接口
下面是一张示意图:

Selenium RC 的工作原理_第1张图片
**这张示意图显示,客户端库通过发送可执行的Selenium命令给RC Server.然后RC Server再通过Selenium-Core JavaScript (原文的意思应该是这种用Selenium Core 封装好的JavaScript命令)命令把Selenium命令发送给浏览器。浏览器再利用它的JS解释器来执行Selenium命令。这就是Selenium的工作原理。

—–>Selenium Server

    Selenium Server 从用户编写的程序中接收Selenium命令,然后解析这个命令,最后将解析运行的结果返回给用户编写的程序。当你在调用Selenium提供API函数来打开一个浏览器时,自带Selenium内核的RC Server能够自动地将Selenium内核注入到浏览器中。这里的Selenium内核是一段JavaScript 代码,里面就是一大长串利用浏览器自带的JS解释器来解析Selenium命令的JS函数。

—–>Client Libs

针对不同的编程语言,Selenium提供不同的Client库允许用户根据不同的需要定制程序来运行Selenium 命令。每个Client库提供可编程API,每条Selenium命令都的相应的API与之相结合。
Client Libs在得到用户编写的Selenium命令后,把它发送给Selenium Server以实现相应的功能,Client库同时也给接收它所发的Selenium命令的运行结果,并将结果返回到用户程序的内部,用户可以将这个返回数据保存在相应的某个变量中用于使用,同时Client库也会指示是否成功执行指令并接收相应的结果。

(持续更新)

你可能感兴趣的:(浏览器,server,selenium)