Selenium WebDriver与RC的差异

作者Veris 文章分类 分类:编程开发 文章评论 0条评论 阅读次数 已被围观 1696

什么是Selenium WebDriver?

Selenium WebDriver 是用于测试Web应用程序的API的开源集合。Selenium WebDriver工具,它还允许执行跨浏览器测试。

WebDriver还能够使用编程语言在创建测试脚本时使用。现在可以使用条件运算就像If-Then-Else或Switch-Case。还可以像Do-While执行循环操作。



WebDriver支持以下编程语言

  • Java语言
  • .NET
  • PHP
  • Python
  • Perl
  • Ruby

Selenium RC与WebDriver的区别

在2006年9月WebDriver出现之前,还有另一个,自动化工具称为Selenium RC。WebDriver和Selenium RC都具有以下功能:

  • 使用编程语言设计测试脚本。
  • 在不同的浏览器上运行测试。

那么它们有什么不同呢?来讨论一下。

1. 架构

WebDriver的架构比Selenium RC的架构简单

  • 它从操作系统级别控制浏览器
  • 只需要编程语言的IDE(其中包含Selenium命令)和一个浏览器。


Selenium RC的架构要复杂得多

  • 在可以开始测试之前,首先需要启名为SeleniumRemote Control(RC)Ser ver的单独应用程序
  • Selenium RC服务器充当Selenium命令和浏览器之间的“中间人”
  • 当开始测试时,Selenium RC服务器“注入”一个 名为Selenium Core的JavaScript程序 添加到浏览器中。
  • 注入后,Selenium Core将开始接收RC服务器从测试程序转发的指令。
  • 当接收到指令时, Selenium Core将把它们作为Javascript命令执行。
  • 浏览器将服从Selenium Core的指令,并将其响应转发给RC服务器。
  • RC服务器将接收浏览器的响应,然后向显示结果。
  • RC服务器将从测试脚本获取下一条指令,以重复整个周期。

2. 速度

WebDriver比Selenium RC更快,因为它直接与浏览器对话,使用浏览器自己的引擎来控制它。

Selenium RC速度较慢,因为它使用名为Selenium Core的Javascript程序。直接控制浏览器的是这个Selenium Core。

3. 现实生活中的互动

Webdriver以一种更现实的方式与页面元素交互。例如,如果正在测试的页面上有一个禁用的文本框,则WebDriver确实不能像真人那样在其中输入任何值。

Selenium Core,就像其他的JavaScript代码,可以访问禁用的元素。

4. API接口

Selenium RC的API更为成熟,但包含冗余且经常令人困惑的命令 。例如,大多数情况下,测试人员会感到困惑,不知道是使用type还是typeKeys。更糟的是, 不同的浏览器也会以不同的方式解释这些命令!

Webdriver的API比Selenium RC的API简单。它不包含冗余和模糊的命令。

5. 浏览器支持

Webdriver可以支持HtmlUnit浏览器。HtmlUnit被称为“Headless”,因为它是一个看不见的浏览器--它没有GUI。

HtmlUnit浏览器是一个非常快的浏览器,因为不需要花费时间来等待页面元素加载。这加快了测试执行周期。由于它对用户是不可见的,因此只能通过自动手段进行控制。

Selenium RC不支持无头HtmlUnit浏览器。它需要一个真正的、可见的浏览器来操作。

WebDriver的局限性

WebDriver不能很容易地支持新浏览器

WebDriver在操作系统级别运行。所以, 必须给WebDriver团队相当长的时间来弄清楚那个新流程然后才能在下一个WebDriver版本中实现它。

然而,这取决于WebDriver的开发团队是否应该支持新浏览器。

6.测试结果的支持

Selenium RC具有内置的测试结果生成器

Selenium RC自动生成测试结果的HTML文件 。报告的格式是由R预先设定的看下面这份报告的示例。

WebDriver没有自动生成测试结果文件的内置命令。必须依赖IDE的输出窗口,或者使用编程语言的功能自行设计报告并将其存储为文本、HTML等。

总结

  • WebDriver是用于测试Web应用程序的工具 跨不同浏览器使用不同的编程语言。
  • 现在可以进行功能强大的测试,因为WebDriver 允许使用编程语言 根据选择来设计测试。
  • WebDriver是 比Selenium RC更快因为它的架构更简单。
  • 网络驱动程序 直接与浏览器对话 而Selenium RC需要RC服务器的帮助才能做到这一点。
  • WebDriver的API更简明扼要比SeleniumRC的要好。
  • 网络驱动程序 可以支持HtmlUnit 而Selenium RC则不能。
  • WebDriver的唯一缺点是:
    • 不能很容易地支持新浏览器 ,但SeleniumRC可以。
    • 没有内置命令 用于自动生成测试结果。

本文摘自:https://zhuanlan.zhihu.com/p/382698608

分类:编程开发
标签: Selenium WebDriver

发表评论: