Selenium WebDriver VS 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服务器接收指令(Selenium命令)。
收到所有指令后,Selenium Core会将其作为 JavaScript命令执行。
这些JavaScript命令充当浏览器的指令。
浏览器将执行Selenium Core提供的所有指令,并将总体摘要返回给服务器。此总体摘要将作为最终结果显示在用户屏幕上。
与Selenium RC相比,Selenium WebDriver更为简单。
浏览器直接从OS(操作系统)级别进行控制。在WebDriver上运行测试脚本的基本要求是:
具有任何受支持的编程语言(例如Java,C#等)的IDE(集成开发环境)。
用于执行测试脚本生成的指令的浏览器。
2、速度
Selenium WebDriver的性能比Selenium RC快,因为它无需使用任何外部代理服务器即可直接与浏览器进行交互。另一方面,Selenium RC使用中间RC Server与浏览器进行通信。
在Selenium RC中,执行测试脚本比WebDriver花费更多的时间,因为它使用JavaScript命令作为浏览器的指令。
3、面向对象
Selenium WebDriver纯粹是面向对象的API,而Selenium RC则不是面向对象的API。
WebDriver完全基于Java,C#等面向对象的编程语言。
4、测试移动应用程序
Selenium WebDriver支持适用于iOS,Windows Mobile和Android等移动应用程序的OS(操作系统)。另一方面,Selenium RC不支持移动应用程序的测试。
5、浏览器支持
Selenium WebDriver还支持无头HTMLUnit浏览器(不可见浏览器)。
注意: HTMLUnit是一种不可见的浏览器,因为它不需要等待页面元素加载的时间,因此可以加快测试的执行速度。
Selenium RC不支持无头HTMLUnit浏览器,因为它需要使用真正的浏览器。