Selenium RC和Web Driver之间的区别?
SeleniumRC(远程控制)和Web驱动程序在许多方面有所不同,但主要的区别在于实现层或简单地说,两者的体系结构。
顾名思义,RC是一个远程控制,它通过获取浏览器的远程地址来工作,然后通过注入编写的自定义脚本来注入要测试的自动化代码。Web驱动程序直接在浏览器上运行,并使用浏览器的内置功能来触发测试仪编写的自动化测试。Web驱动程序是远程控制的后继产品。
这两个框架都有共同的功能,其中包括在测试用例的设计中使用编程语言,因为这两个框架都允许我们使用多种编程语言来开发自动化的测试脚本,从而简化了测试人员在使用测试语言进行编程时的工作。他的选择。不仅这两个框架都可以与多个浏览器一起使用来执行测试用例。
从效率的角度来看,由于其具有架构上的优势,我们可以说Web驱动程序比SeleniumRC更快。
如果从报告的角度进行讨论,则RC具有优势,因为RC向用户提供了测试结果的自动HTML文件,而Webdriver中没有此功能。但这不必担心,因为我们有一些不错的库,例如TestNG,可以帮助我们实现相同的目标。
在无头浏览器或HTMLUnit浏览器上进行测试
Web驱动程序的另一个优点是可以在HTMLUnit浏览器上使用(HTMLUnit浏览器是无头浏览器,这意味着它们对用户不可见,简单来说,它们没有GUI),因为在HTMLUnit浏览器上进行这些测试的速度更快,因为这些浏览器节省了加载页面元素所需的时间。这样可以减少测试用例的执行时间。
所以下面总结一下两者之间的区别-
SeleniumRC使用SeleniumRCServer与浏览器进行交互,在加载网页时将JavaScript函数注入浏览器中。Web驱动程序使用浏览器的内置支持与浏览器直接对话。
由于WebDriver从操作系统级别控制浏览器,因此它比硒RC更快。
WebDriver具有更简单和用户友好的命令。
Web驱动程序可以支持HtmlUnit,而SeleniumRC无法。HtmlUnit是无头的,无需花费任何时间进行页面加载,因此可以加快执行周期。
WebDriver无法支持新的浏览器。新的浏览器的配置需要在下一个WebDriver版本中实现。SeleniumRC没有这种限制。
当SeleniumRC自动生成测试结果的HTML文件时,WebDriver无法通过任何内置命令自动生成测试结果文件。