Selenium工作原理

[url=http://blog.csdn.net/shendl/archive/2009/03/08/3969750.aspx]参考文章地址[/url]

Selenium不同于一般的测试工具。一般的脚本测试工具录制脚本,实际上都是通过拦截浏览器收发的http请求来实现的。事实上并没有办法录制用户对html页面的操作。

当然,对那些执行压力测试的工具来说,这类模拟已经足够。

Selenium的脚本录制工具是通过监听用户对html页面的操作来录制脚本的。Selenium是真正能够监听用户对html页面的操作的录制工具。Selenium完全了解用户操作的html页面。

Selenium可以生成7种语言的脚本:html,java,C#,ruby,python,perl,php。

你可以直接在SeleniumIDE中执行html格式的脚本。你机器上的FireFox将会执行Selenium脚本。

Selenium生成的Html格式的脚本,是Selenium使用Html的语言元素自己开发的一套脚本语言。

如果你要执行其他语言格式的Selenium脚本,那么,你需要使用Selenium服务器。6种语言的使用方法都是一样的。下面,我以Java为例进行说明。

[b][*]Java执行Selenium测试[/b]
首先,需要启动Selenium服务器,然后就可以执行java版本的Selenium测试。

Selenium服务器将会解释Java发来的Selenium脚本,并在Selenium服务器本地打开浏览器执行客户端发来的Selenium脚本,并把结果返回给Java客户端。

其他语言执行Selenium测试也是如此工作的。
Java或者其他客户端,一般作为单元测试程序被执行。它们通过网络与一个或多个Selenium服务器进行通讯。

请注意,浏览器是在服务器端打开的,而不是Java或者其他客户端打开的。

我们可以把客户端看作是发号施令的主人,Selenium服务器是执行Selenium测试的奴隶。

[b][*]Selenium执行内部原理[/b]
SeleniumServer通过网络与Selenium客户端通讯,接收Selenium测试指令。

SeleniumServer通过向浏览器发出JavaScript调用实现对Html页面的全面追踪,并通过网络把执行结果返回给Selenium客户端。

Selenium客户端一般使用单元测试技术实现,通过判断返回的结果与预期是否一致来决定程序是否运行正确。

Selenium是通过javascript来实现对Html页面的操作的。它提供了丰富的指定Html页面元素和操作页面元素的方法。

Selenium打开浏览器时,把自己的JavaScript文件嵌入网页中。然后Selenium的网页通过frame嵌入目标网页。这样,就可以使用Selenium的JavaScript对象来控制目标网页。

Selenium的JavaScript对象中,最重要的就是Selenium对象。它的作用是代表Java中的Selenium接口执行一系列的命令,让浏览器执行。

[b]其中Selenium Core是被Selenium Server嵌入到浏览器页面中的。其实Selenium Core就是一堆JS 函数的集合,
就是通过这些JS 函数,我们才可以实现用程序对浏览器进行操作。[/b]

[img]http://dl.iteye.com/upload/attachment/449345/b982b0db-c9f2-33ea-a280-f946fde66599.png[/img]

[b]以下是官方的对上图的解释[/b]:

[img]http://dl.iteye.com/upload/attachment/449353/7f40f40b-808d-3171-b69d-69c4c3b05bc7.jpg[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值