Selenium WebDriver Vs Selenium RC比较(差别)
Selenium RC有很多限制,最终导致了Selenium WebDriver的发展。查看Selenium RC和Selenium WebDriver之间的主要区别:
1. 架构
Selenium RC的体系结构很复杂,因为它使用中间RC Server与浏览器进行通信。 RC Server最初在运行测试脚本之前安装,并充当Selenium命令和浏览器之间的中介。
当在Selenium RC中执行测试脚本时,将在内部执行以下操作。
- 服务器将称为Selenium Core的JavaScript程序注入浏览器。
- 随后,Selenium Core将开始从RC Server接收指令(Selenium命令)。
- 收到所有指令后,Selenium Core将作为JavaScript命令执行它们。
- 这些JavaScript命令充当浏览器的指令。
- 浏览器将执行Selenium Core提供的所有指令,并将总体摘要返回给服务器。 此总体摘要充当最终结果,显示在用户屏幕上。
与Selenium RC相比,Selenium WebDriver的架构更简单。
浏览器直接从OS(操作系统)级别控制。 在WebDriver上运行测试脚本的基本要求是:
- IDE(集成开发环境),支持任何受支持的编程语言,如Java,C#等。
- 用于执行测试脚本生成的指令的浏览器。
2.速度
Selenium WebDriver比Selenium RC执行速度更快,因为它可以直接与浏览器交互,而无需使用任何外部代理服务器。 另一方面,Selenium RC使用中间RC服务器与浏览器进行通信。
在Selenium RC中执行测试脚本比WebDriver需要更多时间,因为它使用JavaScript命令作为浏览器的指令。
3. 面向对象
Selenium WebDriver纯粹是面向对象的API,而Selenium RC则是面向对象的API。
WebDriver完全基于面向对象的编程语言,如Java,C#等。
4. 测试移动应用程序
Selenium WebDriver支持iOS(iOS,Windows Mobile和Android)等移动应用程序的OS(操作系统)。 另一方面,Selenium RC不支持移动应用程序的测试。
5.浏览器支持
Selenium WebDriver还支持无头HTMLUnit浏览器(Invisible Browser)。
注意:HTMLUnit是一个不可见的浏览器,它有助于更快地执行测试,因为它没有时间等待页面元素加载。
Selenium RC不支持无头HTMLUnit浏览器,因为它需要真正的浏览器才能使用。