seleniumRC和WebDriver的简易比较

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也接受测试结果并返回 给测试程序。测试程序可以接受测试结果并把它保存在一些变量中,用来报告执行是否成功,或者通过反馈的信息尽可能地纠正一些非预期的错误。

selenium 2

Selenium是一种用于WEB应用程序的自动测试工具,它提供了一套友好的API,与Selenium1相比,selenium2的API更容易理解和使用,其可读性和可维护性也大大提高。selenium2完全就是一套类库,不依赖与任何测试框架,不需要启动其他进程和其他安装程序,也不必项selenium1那样需要先启动服务。
另外,二者所采用的技术方案也不同。selenium1是在浏览器中运行javaScript来进行测试,而selenium2则是通过原生浏览器支持或者浏览器扩展直接控制浏览器
selenium针对各个浏览器而开发的,它取代了嵌入到被测Web应用中的Javascript。与浏览器的紧密集成,支持创建更高级的测试,避免了javascript安全模型的限制。除了来自浏览器厂商的支持,selenium2还利用操作系统级的调用模拟用户输入。webDriver支持Firefox,IE,Opera,和chrome浏览器。对Safari的支持由于技术限制在本版本中未包含,但是可以用selenseCommandExecutor模拟。它还支持Android和iPhone的移动应用测试。

关于selenium的疑问和解答
现在随着selenium WedDriver的越发完善,很多使用selenium自动化测试框架的工程师都逐渐抛弃了seleniumRC,seleniumRC最主要的缺陷就是收到了javascript安全模型的限制。但是seleniumRC就没有被javascript的同源规则所限制住,刚开始学习的时候我也是很疑惑,上网查了一下,看到也有不少网友有这样的疑问,最近查到了关于这一方面的解答,现在把链接贴在下面:
http://www.cnblogs.com/fnng/archive/2012/02/01/2335215.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值