Selenium 的 Remote Control 和 WebDriver 之间有什么区别?
Selenium RC 和 Selenium WebDriver 的区别如下:
功能 | 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 用户友好且简单。 |
社区支持 | 社区支持有限。 | 拥有庞大且广泛的社区支持。 |
Selenium RC 架构图:
图片链接:https://tutorialspoint.com/selenium/selenium_rc.htm
Selenium WebDriver 架构图:
图片链接:https://tutorialspoint.com/what−is−web−driver−in−selenium
广告