Selenium 工具介绍

**

1. 什么是 Selenium?

**
Selenium 主要用于 Web 应用程序的自动化测试,但并不局限于此,它还支持所有基于 Web 的管理任务自动化。

Selenium 的特点如下:
 开源,免费
 多浏览器支持:Firefox、Chrome、IE、Opera、Edge;
 多平台支持:Linux、Windows、MAC;
 多语言支持:Java、Python、Ruby、C#、JavaScript、C++;
 对 Web 页面有良好的支持;
 简单(API 简单)、灵活(用开发语言驱动);
 支持分布式测试用例执行。

Selenium 经历了两个版本,Selenium 1.0 和 Selenium 2.0。Selenium 不是由单独一个工具构成的,而是由一些插
件、类库组成,每个部分都有其特点和应用场景,Selenium 1.0 家谱,如下图所示:

在这里插入图片描述

2. Selenium IDE

Selenium IDE 是嵌入到 Firefox 浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。那么什么情况下用
到它呢?官方给出了它自身作用的定位:

快速地创建 bug 重现脚本,在测试人员测试过程中,发现 bug 之后可以通过 IDE 将重现的步骤录制下来,以帮助开发
人员更容易地重现 bug

IDE 录制的脚本可以转换成多种语言,从而帮助我们快速地开发脚本。关于这个功能在后面的章节中我们会着重介
绍。

3. Selenium Grid

Selenium Gnd 是一种自动化的测试辅助工具,Grid 通过利用现有的计算机基础设施,能加快 Web-App 的功能测
试。利用 Grid 可以很方便地实现在多台机器上和异构环境中运行测试用例。

4. Selenium RC
Selenium RC (Remote Control)是 Selenium 家族的核心部分。Selenium RC 支持多种不同语言编写的自动化测试脚
本,通过 Selenium RC 的服务器作为代理服务器去访问应用,从而达到测试的目的。

Selenium RC 分为 Client Libraries 和 Selenium Server。Client Libraries 库主要用于编写测试脚本,用来控制
Selenium Server 的库。Selenium Server 负责控制浏览器行为。总的来说,Selenium Server 主要包括三个部分:

Launcher、Http Proxy 和 Core。其中,Selenium Core 是被 Selenium Server 嵌入到浏览器页面中的。其实 Selenium
Core 就是一堆 JavaScript 函数的集合,即通过这些 JavaScript 函数,我们才可以实现用程序对浏览器进行操作。

Launcher 用于启动浏览器,把 Selenium Core 加载到浏览器页面当中,并把浏览器的代理设置为 Selenium Server 的
Http Proxy。

5. Selenium 2.0

搞清了 Selenium 1.0 的家族关系,再来看看 Selenium 2.0。Selenium 2.0 就是把 WebDriver 加入到了这个家族中,
简单用公式表示为:

Selenium 2.0 = Selenium 1.0 + WebDriver

需要强调的是,在 Selenium 2.0 中主推的是 WebDriver,可以将其看作 Selenium RC 的替代品。因为 Selenium 为
了保持向下的兼容性,所以在 Selenium 2.0 中并没有彻底地拋弃 Selenium RC。如果是初次使用 Selenium 开发一个新的
自动化测试项目,那么可以直接使用 WebDriver。

Selenium RC 与 WebDriver 有什么区别呢?

Selenium RC 是在浏览器中运行 JavaScript 应用,使用浏览器内置的 JavaScript 翻译器来翻译和执行 selenese 命令
(selenese 是 Selenium 命令集合)。

WebDriver 是通过原生浏览器支持或者浏览器扩展来直接控制浏览器。WebDriver 针对各个浏览器而开发,取代了嵌
入到被测 Web 应用中的 JavaScript,与浏览器紧密集成,因此支持创建更高级的测试,避免了 JavaScript 安全模型导致
的限制。除了来自浏览器厂商的支持之外,WebDriver 还利用操作系统级的调用,模拟用户输入。

Selenium 与 WebDriver 原是属于两个不同的项目,WebDriver 的创违者 Simon Stewart 早在 2009 年 8 月的一份邮
件中解释了项目合并的原因。

**Selenium 与 WebDriver 合并原因:**为何把两个项目合并?部分原因是 WebDriver 解决了 Selenium 存在的缺点(例如
能够绕过 JavaScript 沙箱,我们有出色的 API),部分原因是 Selenium 解决了 WebDriver 存在的问题(例如支持广泛的浏
览器),部分原因是因为 Selenium 的主要贡献者和我都觉得合并项目是为用户提供最优秀框架的最佳途径。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值