Selenium RC 和 WebDriver 之间有什么关系?
Selenium RC 和 Selenium WebDriver 之间存在关系。在引入 Selenium WebDriver 之前,Selenium RC 被广泛使用。
这两个工具都支持在多个浏览器中执行自动化测试。此外,可以使用多种编程语言来实现测试用例。但是,它们之间也存在以下差异:
功能 | Selenium RC | Selenium WebDriver |
---|---|---|
服务器 | 需要服务器来触发测试执行。 | 无需服务器来触发测试执行。 |
面向对象 | 对面向对象概念的支持不多。 | 大多数测试基于面向对象概念。 |
动态定位器 | 无法识别具有动态定位器的元素。 | 能够识别具有动态定位器的元素。 |
警报 | 不支持警报。 | 支持警报。 |
鼠标操作 | 不支持鼠标操作。 | 支持鼠标操作。 |
下拉菜单 | 不支持处理下拉菜单。 | 支持处理下拉菜单。 |
iPhone/Android | 不支持 iPhone/Android 测试。 | 支持 iPhone/Android 测试 |
监听器 | 不支持监听器。 | 支持监听器。 |
性能 | 它不直接与浏览器通信,因此执行速度较慢。 | 执行速度快,因为它直接与浏览器通信。 |
架构 | 基于 JavaScript。 | 不基于 JavaScript。 |
XPath | 提供绝对 XPath。 | 提供绝对和相对 XPath。 |
导航 | 不支持导航。 | 支持导航。 |
无头执行 | 不支持无头执行。 | 支持无头执行。 |
Selenium Core | 服务器将 Selenium Core(一个 JavaScript 程序)注入浏览器。Selenium Core 从 RC 服务器接收命令。Selenium Core 使用 JavaScript 执行命令。然后,JavaScript 命令向浏览器提供指令。最后,浏览器运行 Selenium Core 提供的指令,并将完整的执行状态发送到服务器。最终的执行结果由用户接收。 | 没有 Selenium Core。直接与浏览器通信。浏览器运行测试生成的指令。 |
报告生成 | 能够生成 HTML 测试报告。 | 无法使用其内置功能生成 HTML 测试报告。 |
API | API 复杂且冗余。 | API 用户友好且简单。 |
社区支持 | 社区支持有限。 | 拥有庞大且广泛的社区支持。 |
广告