一、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