SeleniumRC和SeleniumWebdriver之间存在关系。在引入SeleniumWebdriver之前,SeleniumRC被广泛使用。
这两种工具均支持在多个浏览器中执行的自动化测试。同样,可以使用多种编程语言来实现测试用例。但是,它们之间的区别如下所列:
功能性 | 硒RC | SeleniumWebdriver | 服务器
| 需要服务器触发测试执行。
| 服务器无需触发测试执行。
|
面向对象
| 面向对象的概念没有太多支持。
| 基于面向对象概念的大多数测试。
|
动态定位器
| 使用动态定位器无法识别元素。
| 使用动态定位器识别元素。
|
快讯
| 不支持警报。
| 支持警报。
|
鼠标动作
| 不支持鼠标操作。
| 支持鼠标动作。
|
落下
| 不支持处理下拉菜单。
| 支持处理下拉菜单。
|
iPhone/安卓
| 不支持iPhone/Android测试。
| 支持iPhone/Android测试
|
听众
| 不支持侦听器。
| 支持监听器。
|
表现
| 它不直接与浏览器通信。因此执行速度较慢。
| 由于它与浏览器直接通信,因此执行速度很快。
|
建筑学
| 基于JavaScript。
| 不基于JavaScript。
|
Xpath
| 绝对xpath可用。
| 具有绝对和相对的xpath。
|
导航
| 不支持导航。
| 支持导航。
|
无头执行
| 不支持无头执行。
| 支持无头执行。
|
硒芯
| 服务器将Selenium核心(JavaScript程序)注入浏览器。SeleniumCore从RC服务器获取命令。SeleniumCore在JavaScript中执行命令。然后,JavaScript命令向浏览器提供指令。最后,浏览器运行SeleniumCore给出的指令,并将执行的完整状态发送到服务器。该最终执行由用户接收输出。
| 没有硒芯。直接与浏览器通信。浏览器将运行测试生成的说明。
|
报告生成
| 能够生成HTML测试报告。
| 无法使用其内置功能生成HTML测试报告。
|
原料药
| 具有复杂且冗余的API。
| 用户友好和简单的API。
|
社区支持
| 有限的社区支持。
| 庞大而广泛的社区支持。
|