Selenium 自动化测试的介绍

什么是Selenium?

Selenium 是一个免费(开源)的自动化测试框架,用于跨不同浏览器和平台验证Web应用程序。使用Selenium测试工具进行的测试通常称为Selenium测试。

Selenium Software不只是一个工具,而是一套软件,每个部分都满足组织的不同Selenium QA测试需求。这是工具列表

  • Selenium集成开发环境(IDE)
  • Selenium控制器(RC)
  • WebDriver网络驱动程序
  • Selenium网格

目前,SeleniumRC和WebDriver被合并到一个框架中,以形成 Selenium2 。顺便说一下,Selenium1指的是SeleniumRC。

谁开发了Selenium?

因为Selenium是不同工具的集合,所以它也有不同的开发人员。以下是对Selenium项目做出显著贡献的关键人物

同源政策问题

同源策略禁止JavaScript代码访问来自与其启动位置不同的域的元素。例如,http://www.google.com中的HTML代码使用了一个JavaScript程序“RandomSc 同源策略将仅允许randomScript.js但是,它不能访问来自不同站点(如http://yahoo.com/searchhttp://guru99.com)的页面,因为它们属于不同的域。

这就是为什么在SeleniumRC之前,测试人员需要安装Selenium Core(JavaScript程序)和包含要测试的Web应用程序的Web服务器的本地副本,让它们属于同一域

(Selenium RC)的诞生

使用Selenium Core的测试人员必须在自己的本地计算机上安装整个被测应用程序和Web服务器,因为同源策略。所以另一位ThoughtWork的工程师 保罗·哈曼特 决定创建一个服务器,它将充当HTTP代理,以“欺骗”浏览器,使其相信Selenium Core和正在测试的Web应用程序来自同一个域。这个系统后来被称为 Selenium遥控器 或Selenium1 。

Selenium栅格的诞生

Selenium网格是由 帕特里克·莱特博德 以满足尽可能减少测试执行时间的需要。他最初称这个系统为“托管QA.“它能够在重要阶段捕获浏览器屏幕截图,还可以 同时向不同的机器发送Selenium命令。

Selenium IDE的诞生

角谷信也(ShinyaKasatani) 创建了日本的 SeleniumIDE ,这是一个Firefox扩展,可以通过录制和回放功能使浏览器自动化。2006年,他向Selenium项目捐赠了SeleniumIDE。

WebDriver的诞生

西蒙·斯图尔特 已创建WebDriver情况 2006 当浏览器和Web应用程序变得更强大、限制更多的时候,有了像Selenium Core这样的JavaScript程序。这是第一个可以从操作系统级别控制浏览器的跨平台测试框架。

Selenium的诞生2

2008年 ,整个Selenium团队决定将WebDriver和Selenium RC合并,形成一个功能更强大的工具,名为 Selenium2 ,具有以WebDriver为核心。目前,SeleniumRC仍在开发中,但仅在维护阶段。Selenium项目的大部分工作现在都集中在Selenium2上。

为什么取名为Selenium?

名字叫Selenium 来自杰森曾经给他的团队讲过的一个笑话。在Selenium的发展过程中,另一个自动化测试框架很受欢迎,由一家名为 水星互动 (在QTP被惠普收购之前,它就是最初制作QTP的公司)。因为Selenium是众所周知的蚂蚁所以到目前为止,就这样称呼这个框架的。

Selenium集成开发环境简介

Selenium集成开发环境(IDE)是最简单的框架 在Selenium套件里,而且是 最容易学的一种 。这是一个 Firefox插件 可以像安装其他插件一样轻松地安装它。但是,由于其简单性,Selenium IDE应该仅用作 原型工具 。如果希望创建更高级的测试用例,则需要使用Selenium RC或WebDriver。

 

Selenium遥控器(Selenium RC)简介

SeleniumRC是 旗舰测试框架 整个Selenium项目已经有很长一段时间了。这是第一个自动化的Web测试 Web测试具有以下功能的工具允许用户使用他们喜欢的编程语言 。从版本2.25.0开始,RC可以支持以下编程语言:

  • Java语言
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

WebDriver简介

事实证明,WebDriver本身就是优于SeleniumIDE和Selenium RC 在很多方面。它在自动化方面实现了更现代、更稳定的方法与Selenium RC不同,Webdriver不依JavaScript进行Selenium Automation测试。它通过直接与浏览器通信来控制浏览器。

支持的语言与SeleniumRC中的语言相同。

  • Java语言
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

 

Selenium网格

Selenium网格是一种工具 与Selenium RC配合使用运行的平行测试 同时跨越不同的机器和不同的浏览器。并行执行意味着一次运行多个测试。

功能:

  • 启用 同时运行测试 在多个浏览器和环境里面
  • 节省时间
  • 利用集线器和节点概念。集线器充当连接到它的每个节点的Selenium命令的中心来源。

关于浏览器和环境支持的说明

由于体系结构的不同,SeleniumIDE、Selenium RC和WebDriver支持不同的浏览器和操作环境集。

注:Selenium WebDriver被称为Selenium RC的继任者,Selenium HQ已经弃用了Selenium RC。

如何选择适合需要的Selenium工具

Selenium与 QTP的比较

快速测试 Professional(QTP) 是该公司以前拥有的专有自动化测试工具。水星互动在此之前 2006年被惠普收购 。Selenium Tool Suite与QTP相比有很多优势,具体如下:

QTP与Selenium相比的优势

尽管很明显, QTP QTP拥有更高级的功能,Selenium在三个主要方面优于QTP:

· 成本 (因为Selenium是完全免费的)

· 灵活性 (因为它可以支持许多编程语言、浏览器和平台)

· 并行测试 (QTP有能力,但只有在使用质量中心的情况下才能做到这一点)

总结

整个Selenium软件测试套件由四个组件组成:

  1. ·Selenium IDE,这是一个Firefox附加组件,只能在创建相对简单的测试用例和测试套件时使用。
  2. ·Selenium Remote Control,也称为Selenium 1,它是第一个允许用户在创建复杂测试时使用编程语言的Selenium工具。
  3. ·Webdriver,这是一个较新的突破,它允许测试脚本直接与浏览器通信,从而从操作系统级别对其进行控制。
  4. ·Selenium Grid也是与Selenium RC一起使用的一个工具,用于跨不同的浏览器和操作系统执行并行测试。
  5. Selenium RC和WebDriver合并为Selenium2。

Selenium在成本和灵活性方面比QTP更具优势。它还允许并行运行测试,这与QTP中的情况不同,在QTP中,只能按顺序运行测试。

 学习安排上

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

视频文档获取方式:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值