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