Selenium WebDriver与RC的差异

SeleniumWebDriver是一个开源的Web应用程序测试API,支持多种编程语言,如Java,.NET,PHP等。相比SeleniumRC,WebDriver有更简单的架构,直接与浏览器交互,提供更快的速度和更真实的页面元素互动。WebDriver的局限在于对新浏览器支持的难度和缺乏内置的测试结果生成器。SeleniumRC虽然速度较慢,但其API成熟,支持无头浏览器HtmlUnit并自带测试结果生成功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是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可以。
    • 没有内置命令 用于自动生成测试结果。

 学习安排上

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。【保证100%免费】

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值