Selenium自行整理【五】

1.4、自动化测试及工具简述

       自动化测试的概念有广义与狭义之分:广义上来讲,所有借助工具来辅助进行软件测试的方式都可以称为自动化测试;狭义上来讲,主要指基于 UI 层的功能自动化测试。注意:如果没有特别说明,则本文所说的“自动化测试”均指“基于 UI 的功能自动化测试”。目前市面上的自动化测试工具非常多,下面几款是比较常见的自动化测试工具。

       1UFT:(全称 Unified Functional Testing)由 QTP(Quick Test Professional software)与 ST(Service Test)合并而来,由 HP 公司开发。它是一种企业级的自动测试工具,提供了强大易用的录制回放功能,同时兼容对象识别模式与图像识别模式两种识别方式,支持 B/S 与 C/S 两种架构的软件测试,是目前主流的自动化测试工具。

       2Robot Framework:是一款基于 Python 语言编写的自动化测试框架,具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试。

       3Watir:全称是“WebApplication Testing in Ruby”,是一种基于 Web 模式的自动化功能测试工具。Watir 是一个 Ruby 语言库,使用 Ruby 语言进行脚本开发。

       4Selenium:是一个用于 Web 应用程序测试的工具,支持多平台、多浏览器、多语言去实现自动化测试。目前在 Web 自动化领域应用越来越广泛。

 

1.5、Selenium 工具介绍

什么是 Selenium

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

Selenium的特点?

      1、开源,免费;

      2、多浏览器支持:FireFox、Chrome、IE、Opera、Edge;

      3、多平台支持:Linux 、Windows、MAC;

      4、多语言支持:Java、Python、Ruby、C#、JavaScript、C++;

      5、对 Web 页面有良好的支持;

      6、简单(API 简单)、灵活(用开发语言驱动);

      7、支持分布式测试用例执行。

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

                           

          1Selenium IDE:是嵌入到 Firefox 浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。那么什么情况下用到它呢?官方给出了它自身作用的定位:快速地创建 bug 重现脚本,在测试人员测试过程中,发现 bug 之后可以通过 IDE 将重现的步骤录制下来,以帮助开发人员更容易地重现 bug。IDE 录制的脚本可以转换成多种语言,从而帮助我们快速地开发脚本。

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

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

                3.1Selenium RC 分为 Client Libraries 和 Selenium Server。Client Libraries 库主要用于编写测试脚本,用来控制Selenium Server 的库。

                         3.1.1Selenium Server 负责控制浏览器行为。总的来说,Selenium Server 主要包括三个部分:Launcher、Http Proxy和Core。其中,Selenium Core是被Selenium Server嵌入到浏览器页面中的。其实Selenium Core就是一堆JavaScript函数的集合,即通过这些 JavaScript 函数,我们才可以实现用程序对浏览器进行操作。Launcher 用于启动浏览器,把 Selenium Core 加载到浏览器页面当中,并把浏览器的代理设置为 Selenium Server 的 Http Proxy。

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为了保持向下的兼容性,所以在 Selenium2.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 月的一份邮件中解释了项目合并的原因。

       

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值