一、Selenium->Se(硒)->功能自动化测试工具=功能自动化测试工具(QTP)<-Mercury(汞)
  1、Selenium介绍
    (1)Selenium 是针对web被测系统的一款功能自动化测试工具
      熟练掌握功能自动化测试工具Quick Test Professional、Selenium
    (2)Selenium的特点
      1) 支持多平台测试:Windows、Linux/Unix、Mac(苹果)等
      2) 支持多浏览器测试:IE、Firefox(火狐)、Chrome(谷歌)、Safari、Sogo、欧鹏等

      3) 支持多编程语言:Java、Python、Ruby、C#等

    (3)Selenium和QTP的比较
      1) 优点:开源免费、代码小巧灵活易维护,支持"三多",更容易整合到其他测试平台
      2) 缺点:不支持C/S系统,学习成本更高

    (4)Selenium的组件
      Selenium 1.0
      1) Selenium IDE:火狐浏览器的插件,用于录制和回放脚本

      2) Selenium Grid:可以实现分布式测试

      3) Selenium RC:Remote Control远程控制,Selenium的核心,可以实现利用Selenium的代理服务器来实现访问浏览器实现自动化测试

        a.Client:实现自动化脚本
        b.Server:负责控制浏览器行为
          Launcher:启动浏览器
          Http Proxy:Selenium Server的HTTP代理
          Core:嵌入到浏览器的js代码
          由Launcher启动浏览器,将Core嵌入到浏览器,并把浏览器的代理设置为Selenium Server的HttP Proxy

      4) Selenium 2.0 则是把Selenium 1.0的Selenium RC 替换为WebDriver

        如果使用Selenium2.0进行测试,可以直接说使用WebDriver进行测试
    (5)Selenium做自动化测试的流程(初学)
      1) 根据需求,制定测试计划
      2) 设计测试用例
      3) 使用Selenium IDE录制代码
      4) 转换为高级语言的代码(Java)
      5) 使用高级语言进行增强脚本
      6) 结合工具调试代码(Myeclipse)
      7) 运行代码,查看测试结果报告
      8) 编写测试总结报告

    (6)Selenium做测试的操作流程
      driver.findElemnet
      1) 定位页面元素(findElement)
        页面元素:Element(图片、文字、按钮、视频、文本框、单选按钮、复选框、链接)
        定位:find(找到)
      2) 操作页面元素
        click(点击)、SendKeys(键盘输入)、Clear(清空)
      3) 校验页面元素
        assert(断言)、assertText
      4) 记录测试结果

    (7)Selenium官网
      http://seleniumhq.org/

  2、Selenium IDE
    (1)Selenium IDE是FireFox(火狐)浏览器的一个插件
    (2)安装Selenium IDE
      方法一:离线安装
        1) 从官网下载Selenium IDE的安装文件,存放在本地电脑上
        2) 打开火狐浏览器,把IDE安装文件拖拽到火狐浏览器中,点击"立即安装"
        3) 重启火狐浏览器

      方式二:在线安装
        1) 打开Firefox浏览器->工具->附加组件
        2) 在附加组件中搜索"Selenium IDE"
        3) 在搜索到的Selenium IDE后点击"安装"即可,重启Firefox
        注意:
          a.注意Firefox和IDE的兼容性
          b.取消Firefox的自动更新:Firefox->工具->选项->高级->更新->选择"不检查更新"

    (3)代码的组织形式:
      1) Test Suite:测试套件,一个测试套件可以包含多条测试用例,在IDE中一次只能打开一个测试套件
      2) Test Case:测试用例,一条测试用例可以包含多个测试步骤

      3) Table视图:表格视图,以列表的形式展示所有的测试步骤

        a.Command:命令列,记录Selenese命令,描述操作的动作

        b.Target:目标列,记录Selenese的第一个参数值,一般描述操作的页面元素,不是直接用页面元素名称,是使用element Locator(元素定位器)形式描述操作的页面元素

        c.Value:值列,记录Selenese命令的第二个参数,一般描述操作时使用的数据,可以为空

      4) Source视图:源码视图,以HTML源码的形式展示所有的测试步骤,也可以转换为其他格式的源代码,如java、ruby......
        <html>
          <head>
            <title></title>
          </head>
          <body>
            图片、视频、链接、name=button id=3 按钮...
          </body>
        </html>

      5) Select:使用Select找到页面元素来生成页面元素的locator,记录到target列
      6) Find:查找,查找当前element locator元素定位器定位到哪个元素

      7) Test Case :测试用例视图,记录当前IDE测试套件包含的所有测试用例列表
      8) Log:记录运行时日志
      9) Reference:参考视图,记录当前选择的步骤命令的使用方法,帮助文档
      10) 功能项:
        a.右上角红色圆点按钮:录制和停止录制按钮,圆点有白色背景为录制状态
        b.三条绿色横杠按钮:运行整个测试套件
        c.一条绿色横杠按钮:运行一条测试用例
        d.Fast--Slow滑动条:调整运行速度
        e.Base URL:基准URL,记录被测系统URL的主域部分(前半部分)

    (4)Selenium IDE 的使用(录制和回放)
      1) 启动Firefox,打开被测系统
      2) 打开IDE,IDE处于录制的状态
      3) 按照测试需求录制操作步骤
      4) 点击红点按钮,停止录制
      5) 保存
        a.先保存测试用例:文件->Save Test Case,输入测试用例名称.html,保存
        b.再保存测试套件:文件->Save Test Suite,输入测试套件名称.html,保存
      6) 运行
        a.运行整个测试套件:Actions->Play entire test suite,或者点击三条绿色横杠按钮,依次运行Test Case视图中的每条测试用例
        b.运行当前测试用例:选择某个用例,Actions->Play current test case,或者点击一条横杠按钮,运行当前测试用例的所有步骤
        c.只运行一个测试步骤:双击该测试步骤
        d.从指定行开始运行:在某一行右键添加开始点,选择Set/ clear start point,再次运行,就从开始点行开始运行
      7) 查看运行结果:
        a.查看Test Case视图下方的测试总结
          绿色:整个运行过程没有错误
          红色:出现错误
          Runs:运行测试用例数
          Failures:错误数
        b.查看Table视图每个步骤的背景颜色
          白色:未运行
          黄色:正在运行
          浅绿色:运行完成,Done
          深绿色:断言成功,passed
          浅粉色:警告,Warning,不影响测试步骤执行
          深粉色:错误或者断言失败,Failed,后续步骤停止运行
        c.查看Log,红色字体描述错误信息或者警告信息,黑色字体记录正常操作日志

    (5)常见的运行错误:
      1) [error] Element XXX not found
        error:错误
        Element:元素
        not:没有
        found:找到
        原因:用Locator无法定位到当前被测系统页面中的任何元素
        导致无法找到的原因:
          a.Locator书写错误
          b.步骤顺序错误
          c.被测系统版本升级,Locator进行了修改
          d.网页需要加载才显示页面元素
        解决方案:
          a.拖拽移动步骤的顺序
          b.使用Find确认是否是Locator错误,如果是Locator错误,就使用Select重新生成Locator

二、基本工具插件

  selenium-java-2.33.0
  Selenium工具的代码,就是webdriver

  29.0.1547.76_chrome_installer.exe
  chrome(谷歌浏览器)的安装文件

  chromedriver.exe
  Selenium访问Chrome浏览器的驱动

  firebug-1.13.0a1.xpi
  查看页面元素属性的工具

  FirefoxSetup23.0.1chs.exe
  火狐浏览器安装文件

  firepath-0.9.7-fx.xpi
  查看页面元素路径的工具
  IEDriverServer.exe
  IE浏览器的驱动
  selenium-ide-2.5.0.xpi
  Selenium IDE,录制回放脚本的

  Selenium支持不同的语言
  python怎么测Selenium?用Python语言怎么使用Selenium进行测试?
  中文:1+1=2
  英文:one add one equal two
  点击登录按钮
  Python:driver.findElement_by_name("登录").C
  Java:driver.findElement(By.name("登录")).C

Selenium(1)的更多相关文章

  1. 面试准备——(三)Selenium(1)基础问题及自动化测试

    转载:https://www.cnblogs.com/lesleysbw/p/6413880.html 面试准备——(三)Selenium(1)基础问题及自动化测试   滴滴面试: 1. 自己负责哪部 ...

  2. Selenium(Webdriver)自动化测试常问问题

    http://blog.sina.com.cn/s/blog_c189e2590102w3bv.html Selenium(Webdriver)自动化测试常问问题 (1)selenium中如何保证操作 ...

  3. 初识Selenium(三)

    浅谈基于Selenium的Web自动化测试框架 发表于:2011-4-25 10:58  作者:邵育亮   来源:51Testing软件测试网原创 字体:大 中 小 | 上一篇 | 下一篇 | 打印 ...

  4. 初识Selenium(一)

    Selenium入门相关PPT参考网址:http://wenku.baidu.com/view/d1e7d90390c69ec3d5bb7565.html?from=search 内容引用网址:htt ...

  5. py库: Selenium (自动化测试)

    http://blog.csdn.net/liujingqiu/article/details/50458553 http://www.cnblogs.com/zhaof/p/6953241.html ...

  6. selenium(五)伪造浏览器

    简介: 这个就比较好玩了,大家还记得以前的QQ小尾巴么?还有百度贴吧的小尾巴,就是那个来自***的iphone7,这个功能. 这个功能是基于浏览器的user-agent功能实现的. 还是httpbin ...

  7. Selenium(Webdriver)自动化测试常问到的问题解答(转自:潜龙0318)

    今天朋友问我了几个关于Selenium自动化测试的问题,我看了一下感觉还比较典型.结合我以往自动化测试的经验,给出了一些儿粗浅的答案,希望能帮大家,如果大家有什么好的看法,希望相互交流,相互学习! ( ...

  8. Selenium(一)自动化测试简介

    1.软件开发流程 产品分析需求--架构师确认系统包含哪些模块--开发编码--开发和测试一起做单元测试--测试开展版本(集成)测试(使用手工测试,测试通过后,才开始设计脚本)--测试开展系统测试--最后 ...

  9. Selenium(6)

    一.定位页面元素 1.高级定位:层级定位 思路:先定位到祖先节点,在定位该祖先节点范围内的子节点 2.高级定位:Xpath定位(重点) (1)Xpath定位:Xpath就是一个表达式,表示元素的路径, ...

  10. Selenium(4)

    练习1:使用selenium+firefox测试ecshop登录过程 一.WebDriver 1.启动浏览器 (1)启动Firefox浏览器 a.启动默认路径下的浏览器 WebDriver drive ...

随机推荐

  1. ParallelForTransform作业

    ParallelForTransform作业是另一种ParallelFor作业 ; 专为在变形上操作而设计. 注意:ParallelForTransform作业是Unity中用于实现IJobParal ...

  2. keepalived脑裂问题

    一.对脑裂的理解 在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体.动作协调的HA系统,就分裂成为2个独立的个体.由于相互失去了联系,都以为是对方出了故障.两个节点上的HA软件像 ...

  3. 【VS开发】程序员对内存的理解

    程序员对内存的理解 在C和C++语言开发中,指针.内存一直是学习的重点.因为C语言作为一种偏底层的中低级语言,提供了大量的内存直接操作的方法,这一方面使程序的灵活度最大化,同时也为bug埋下很多隐患. ...

  4. 学习笔记:html学习之一:html基本标记

    1. 概论 一个完整的 HTML 文档必须包含 3 个部分: 一个由 元素定义的文档版本信息. 一个由 定义各项声明的文档头部, 作为各种声明信息的包含元素出现在文档的顶端,并且要先于 出现. 一个由 ...

  5. [AcWing303/304]任务安排2/3

    [AcWing303]任务安排2 有 \(N\) 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变.机器会把这 \(N\) 个任务分成若干批,每一批包含连续的若干个任务.从时刻 \(0\) ...

  6. Windows 下部署 hadoop spark环境

    一.先在本地安装jdk 我这里安装的jdk1.8,具体的安装过程这里不作赘述 二.部署安装maven 下载maven安装包,并解压 设置环境变量,MAVEN_HOME=D:\SoftWare\Mave ...

  7. [转帖]Kubernetes CNI网络最强对比:Flannel、Calico、Canal和Weave

    Kubernetes CNI网络最强对比:Flannel.Calico.Canal和Weave https://blog.csdn.net/RancherLabs/article/details/88 ...

  8. cxLookupComboBox控件的应用

    1.Properties-DropDownListStyle:下拉列表的模式, 里面有三个值:lsEditList:     lsEditFixedList    lsFixedList 2.Head ...

  9. position: sticky 防坑指南

    position: sticky 防坑指南:https://www.jianshu.com/p/e217905e8b87 今天在写小程序项目的时候碰到一个需求是要把轮播图下面的标签栏滑动到顶部后固定, ...

  10. Linux就该这么学——新手必须掌握的命令之打包压缩与搜索命令组

    tar命令 用途 : 对文件进行打包或者解压 格式 : tar [选项] [文件] 表 tar命令的参数及作用 参数 作用 -c 创建压缩文件 -x 解开压缩文件 -t 查看压缩包内有哪些文件 -z ...