zoukankan      html  css  js  c++  java
  • Selenium 测试介绍

    本文会从以下下几个方面介绍Selenium,相信大家阅读后会对Selenium有一个全新的认识。
     为什么是Selenium
     初探Selenium
     Selenium组成
     Selenium工具介绍
    Selenium核心
    Selenium IDE(Selenium开发环境)
    Selenium RC(Selenium 远程控制)
    Selenium Grid
    Selenium WebDriver
    Selenium 3
     环境与技术
    支持浏览器
    支持的程序设计语言
    支持的操作系统
    支持测试框架
     结论

    如何开始学习Selenium
    最好的学习方式是通过一系列免费的Selenium课程资料进行学习,读书、在家里通过例子练习、带着你的疑问去阅读各个章节,你也可以通过回答各个章节作者的疑问来增强对知识的理解等,这些都是可以快速帮你了解测试工具的方法。

    Selenium介绍
    Selenium不仅仅是一个工具,比其他工具有一个特点是其独立性,我们会详细研究每一个工具的组成部分,而且在每一部分都会举一些实际的例子供大家参考,我们开始吧

    1. 为什么是Selenium
      当前自动化是一个流行趋势,有些手工测试场景往往是重复的,这些重复的手工测试场景就导致了自动化的需求

    让我们一起看看自动化的几点好处:
     支持重复执行测试用例
     大型测试矩阵的辅助工具
     支持并发操作
     减少人为错误从而提高精度
     节省时间和金钱

    这些好处会给我们带来高回报和市场的快速运转

    整个测试行业都在讨论和公认的自动化测试优点:

     它是开源的
     它拥有庞大的用户群和帮助社区。
     它具有多浏览器和平台兼容性。
     它拥有活跃的开发库
     它支持多种语言实现。

    1. 初探Selenium
      Selenium是最受欢迎的自动测试套件之一,它是基于Web的应用程序和支持各种浏览器平台的功能方面的自动化测试,再加上它是开源的,逐渐成为了测试专业人员中最被接受的工具之一。

    Selenium 支持多浏览器、多种技术和多平台

    1. Selenium组成
      Selenium不仅仅是一个工具或程序,而是一个包含多个测试工具的软件包,因此它被称为套件。每一个工具都能满足不同的测试和测试环境的要求
      套件包由以下工具组成:
      • Selenium集成开发环境(IDE)
      • Selenium远程控制(RC)
      • Selenium WebDriver
      • Selenium Grid
      Selenium RC称为Selenium 1,Selenium RC和WebDriver结合在一起,俗称Selenium 2

    1. Selenium工具介绍
      Selenium核心
      Selenium是由来自ThoughtWorks的工程师杰森•哈金斯不断努力的成果,他负责内部时间和费用应用程序的测试,他意识到需要一个自动化测试工具,以便在不影响质量和准确性的情况下摆脱重复的手动任务。

    所以,他在2004年初建立了一个名为“ JavaScriptTestRunner ” 的JavaScript程序,它可以自动控制浏览器的操作,这些操作看起来与用户与浏览器通信的操作非常相似。

    从此以后,杰森开始向广大受众演示该工具。最后,大家将该工具分类为开源类别,并将其作为其他基于Web的应用程序的可重用测试框架发展。

    该工具后来被称为“ Selenium Core ”

    Selenium IDE
    Selenium IDE由Shinya Kasatani开发。在研究Selenium Core时,他意识到JavaScript代码可以扩展为一个集成开发环境(IDE),可以嵌入到Mozilla Firefox浏览器中。它可以在Firefox实例上记录和回放用户操作。后来,Selenium IDE在2006年成为了Selenium Package的一部分,并且为社区带来了巨大的价值和潜力。

    Selenium IDE是Selenium Package中所有工具中最简单,最简单的。它的记录和回放功能使得学习起来非常简单,只需要熟悉任何编程语言。虽然有了几个优点,但是Selenium IDE附带了一些缺点,因此不适合在更高级的测试脚本中使用。

    Selenium IDE的优点和缺点:

    实际上,IDE的缺点实际上并不是Selenium的缺点。相反,它们只是限制IDE可以实现的功能。使用Selenium RC或WebDriver可以克服这些限制。

    Selenium RC

    Selenium RC是一个用Java编写的工具,允许用户使用他/她选择的任何编程语言构建测试脚本。因此,Selenium RC克服了 Selenium IDE或Core带来的各种缺点。

    工作流程描述
    • 用户使用所需的编程语言创建测试脚本。
    • 对于每种编程语言,都有一个指定的客户端库。
    • 客户端库将测试命令发送给selenium服务器。
    • Selenium服务器解密并将测试命令转换为JavaScript命令并将它们发送到浏览器。
    • 浏览器使用Selenium Core执行命令,并将结果发送回Selenium服务器
    • Selenium服务器将测试结果提供给客户端库

    在创建Selenium RC脚本之前,有一些先决条件:
    • 编程语言:Java,C#,Python等
    • 综合开发环境:Eclipse,Netbeans等
    • 测试框架(可选):JUnit,TestNG等

    Selenium RC的优点和缺点:
    有关Selenium RC的优缺点,请参阅下图

    Selenium Grid
    selenium RC的出现,使测试者的工作变的非常简便,但是要满足在多个平台和浏览器上同时执行相同或不同测试脚本,实现分布式测试执行,所以Selenium Grid应用而生

    Selenium Grid由Pat Lightbody引入,以满足同时在多个平台上执行测试套件的需求

    Selenium WebDriver

    Selenium WebDriver由ThoughtWorks的另一位工程师Simon Stewart在2006年创造的.WebDriver也是一个基于网络的测试工具,它与Selenium RC有细微差别。由于该工具的使用与客户端没有关系,直接与浏览器接触,不需要JavaScript。这导致了Selenium RC和WebDriver之间的兼容性分析。因此,开发了一种名为Selenium 2的功能更强大的自动化测试工具。

    WebDriver是干净的,纯粹是面向对象的框架。它利用浏览器与自动化的本机兼容性,而无需使用任何外围设备实体。随着需求的增加,它已经获得了很大的知名度和用户群

    Selenium WebDriver的优点和缺点

    Selenium 3

    Selenium 3是Selenium 2的高级版本。它是一个专注于移动和Web应用程序自动化的工具。WebDriver API已经扩展到满足移动应用程序测试的需求,该工具预计很快将在市场上推出。

    随着Selenium套件中每个新工具的出现和增加,环境和技术变得更加兼容。以下是Selenium Tools支持的环境和技术的详尽列表。

    5.环境与技术

    支持的浏览器

    支持的编程语言

    支持的操作系统

    支持的测试框架

    6.结论
    在本章中,我们尝试让您熟悉Selenium套件,描述其各种组件,用法以及它们之间的优势

    以下是本文的关键。
    • Selenium是一套多种自动化测试工具,每种工具都可满足不同的测试需求。
    • 所有这些工具都属于开源类别,并且仅支持基于Web的测试。
    • Selenium套件由4个基本组件组成; Selenium IDE,Selenium RC,WebDriver和Selenium Grid。
    • 用户应该明智地选择合适的Selenium工具来满足他/她的需求。
    • Selenium IDE作为Firefox插件发布,更易于安装和使用。用户不需要拥有编程知识。Selenium IDE是小白的理想工具。
    • Selenium RC是一个允许用户使用所需编程语言创建测试脚本的服务器。它还允许在大量浏览器中执行测试脚本。
    • Selenium Grid通过在不同平台和浏览器上同时执行测试脚本来实现Selenium RC的附加功能,从而实现主从架构。
    • WebDriver是一个完全不同的工具,与Selenium RC相比具有各种优势。Selenium RC和WebDriver的融合也称为Selenium 2.WebDriver直接与Web浏览器通信,使本机兼容并进行自动化。
    • Selenium 3更侧重于进行移动测试。

  • 相关阅读:
    Bootstrap3.0学习第八轮
    内存管理相关的信息
    SVN merge
    Asp.Net MVC 3
    formValidator
    jquery 分页控件2
    从零开始学C++之STL(四):算法简介、7种算法分类
    (Java实现) 过河卒
    (Java实现) N皇后问题
    (Java实现) N皇后问题
  • 原文地址:https://www.cnblogs.com/luoditao/p/14315419.html
Copyright © 2011-2022 走看看