一、自动化测试定义
  自动化测试是通工具录制或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证.

二、什么样的项目适合做自动化测试
  1.需求明确,不会频繁变更
  2.系统界面稳定
  3.项目周期长
  4.自动化测试脚本可重复利用
  5.人员规模
  6.频繁的回归测试
  7.可自动化率30%-40%

三、自动化测试对比手工测试的优缺点

自动化测试特点:
  1.提高软件质量
  2.提高测试效率
  3.测试具有一致性和重复性
  4.准确可靠、避免人的主观性
  5. 24h*365 任何时间 任何地点 无疲劳
  6.增加软件信任度
  7.增进测试人员和开发之间的合作关系

手工测试特点:
  1.较好的异常处理能力、比较灵活
  2.测试具有一定的跳跃性
  3.人工测试步步追踪,细致定位
  4.主要用于发现软件缺陷

四、市场上主流的自动化测试工具介绍

1.QTP(UTF) :提供录制、回放、支持C/S ,B/S两种架构系统,收费,需要破解,只支持ie浏览器(ie9以下)
2.Robot Framework : 支持关键字驱动,Python语言编写的一款自动化测试框架,支持数据库测试,移动端测试,接口测试
3.RFT :(和Qtpl类似),支持录制和回放,支持C/S B/S两种架构的系统,收费,需要破解,支持Java .net vbscript语言
4.Watri : 也是一款Web应用程序的自动化测试工具,使用Ruby语言开发的一款自动化测试工具(Ruby是日本编程语言)
5.Selenium(目前最火) :
  a.支持多语言:Java Python C C++ C# .net php Javascript Ruby (后端开发语言)
  b.支持多浏览器:Chrome Firefox Ie Safari Edge(windows10自带) Opera(原名欧朋 现被360收购)
  c.支持多平台:Linux Windows Mac OS
  d.简单API : 很多操作浏览器的方法(webdriver api ) 比如最大化浏览器 等待 操作下拉框等等 ......
  e.支持并行执行测试用例:可以在windows下面谷歌浏览器做自动化测试同时也可以在Liunx火狐浏览器做自动化测试
  f.开源、免费、支持二次开发(可以对selenium的源码进行改造)

六、Selenium家谱及工具介绍

Selenium是什么?
Selenium是一个自动化测试工具集。包含Selenium1.0 Selenium2.0 selenium3.0,其中Selenium1.0包含Selenium ide
Selenium grid selenium rc (Selenium2.0包含Selenim1.0 + Webdriver)

Selenium1.0的构成 : selenium ide + selenium grid + selenium rc
    ide :提供录制和回放的一个工具(火狐浏览器自带的一个插件)
    grid:支持并行执行测试用例
    rc:可以简单理解为控制浏览器行为的一个远程服务器

Selenium2.0的构成:Selenium1.0 + Webdriver

Webdriver:它是一套操作浏览器的api(接口规范) 包含了控制浏览器行为的一些操作方法(比如最大化浏览器 等待 操作下拉框等等 ......)

补充一点:
firefox46版本以下的驱动是自动集成在浏览器本身的

Selenium3.0的构成(2016年7月末出现第一个beat版本):
Selenium3.0=Selenium ide + Selenium grid + Sebdriver
    1.去掉了RC,全面支持webdriver
    2.支持Java8以上的开发环境
    3.Firefox的驱动和selenium分离。只支持firefox47版本以上的浏览器,另外需要单独配置驱动。

浏览器驱动是什么?
  每一种浏览器都有自己的原生浏览器驱动,驱动是一个.exe文件 比如谷歌的驱动 chromedriver.exe 需要单独下载驱动(网上下载)做自动化测试需要调用浏览器的驱动来完成!

RC和webdriver区别是什么?
    RC:是通过外部一大堆JS函数来调用浏览器做自动化测试
    Webdriver:是通过原生浏览器驱动来调用浏览器做自动化测试
    Webdriver和浏览器的紧密结合度比RC更好,所以在selenium中主推webdriver,在selenium2.0当中主推的是webdriver
    因为RC最开始有一部分用户为了保持向下兼容,所以RC没有完全去掉。

Selenium2.0 和Selenium3.0区别不是很大,具体看Selenium3.0的构成!
目前市场上说selenium或者是招聘网上说的selenium无特殊指明,均为selenium2.0或者3.0

七、自动化测试环境搭建
1.cmd ---> pip install selenium==2.53.0 (如果selenium后面不跟==表示默认安装最新版本)

2. pip show selenium 查看selenium安装的版本号(该操作在cmd->windows下面查看)
(注意:1.pip 是什么? pip是python2.7.9版本以后自动集成到python中的一个包管理工具,方便下载和python有关的包或者模块)

3.验证环境是否安装成功python交互模式下--->输入from selenium import webdriver -->运行无报错(安装成功)

4.配置浏览器驱动,这里我们教学使用的chrome浏览器,目前最新的版本是63.0.3239.84(正式版本)

6.直接将chromedriver.exe (chromedriver.exe原封不动复制到C:\Python27目录下面)

7.在idle编辑器里面敲一段代码:
    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get('https://www.baidu.com')

八、前端工具安装

目的:方便web页面的元素定位。
只有火狐浏览器提供。高版本的火狐浏览器没有,只有低版本的有这个插件。
FireBug:附加组件-->扩展-->搜索firebug-->点击安装-->重启--->F12查看 小虫子
FirePath:附加组件-->扩展-->搜索firepath-->点击安装-->重启--->F12查看 小虫子上面有没有firepath

十、前端技术
    前端三剑客:
      HTML
      CSS
      Javascript

HTML静态网页 == 文档
标签有开口有闭合(并不是所有标签都有闭合标签 如 img input标签):
开始标签: <a>
结束标签: </a>
标签都是有层级关系的:爷爷类标签-->父类标签-->子类标签
自动化测试要定位元素---->要认识HTML页面---->要了解HTML页面的层级关系--->学会用程序的视角去找到他们

HTML中的常用标签说明:
    <html> 声明 这是一个HTML文档
    <head> HTML标签的头部
    <body> 身体包含了N多组标签对
    <a> 超链接 如果a标签后面跟着 href="任何链接" 说明<a>一定是链接
    <p> 段落
    <img> 图像
    <input> 输入 文本框
    <form> 表单(结构 包含input 包含一个button)
    <title> 窗口的标题
    <iframe> 框架 HTML中的框架
    <div> 无名式 代表的是块级元素 div是一个容器 可以包含任意标签
    <span> 无名式 代表的是块级元素 span是一个文本容器 可以包含任意标签

什么是元素?
  HTML中的开始标签和结束标签之间的所有代码都是元素,元素有属性和属性值。
demo:
<input id="kw" name="wd" class="s_ipt" value="" maxlength="100" autocomplete="off">
如上所述 id 是该元素中的一个属性 它的属性值是 kw 依此类推
检查属性值的唯一性: f12 -->ctrl + f -->拷贝属性对应的属性值--复制到HTML中的文本框-->enter键查看该属性值是否在整个页面中是否唯一,如果唯一就可以使用该元素去定位。

自动化测试-Selenium家谱介绍的更多相关文章

  1. Selenium家谱

    自动化测试一词也算是整个测试行业里面比较热门的一个词儿,工资高,前景好,有实力,有态度等等,很多企业的管理者也在不断的扩大自己的队伍和职能,这也是导致自动化测试比较流行的原因之一.但是很多企业做自动化 ...

  2. webUI自动化测试框架---”pyswat“介绍

    webUI自动化测试框架---"pyswat"介绍 大家好我是lamecho 辣么丑,今天给大家介绍一款web自动化测试框架pyswat.  "pyswat"是 ...

  3. python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍

    1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...

  4. 自动化测试selenium教程

    什么是自动化测试: 自动帮我们测试一个系统里面的主要功能,一个app.电脑网站.网页,每个系里面许多的功能,好比一个淘宝页面,里面N多功能,登录.注册,推荐,商品详情.评论等等:软件生命周期:需求调研 ...

  5. 5月25号开学! 第13期《python3自动化测试selenium+接口》课程,python零基础也能学

    2019年 第13期<python3自动化测试selenium+接口>课程,5月25号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 本期上课时间:5月25号-7月28号,每周 ...

  6. Selenium 工具介绍、安装、配置及使用

    概念 selenium是一款跨平台开源工具,用于web的功能完整性測试,想做压力測试的能够换软件了 先看一眼官方站 http://docs.seleniumhq.org/download/ 首先要FQ ...

  7. Selenium API 介绍

    Selenium API 介绍 我们先前学习过元素定位,大家不知道学习得怎么样了,当你学会元素定位之后就能够跟着我的脚步学习本节Selenium 经常使用的API 介绍 Seleium 为什么能模拟人 ...

  8. 《selenium2 python 自动化测试实战》(20)——Selenium工具介绍

    (一)Selenium IDE Firefox的一个插件,有助于我们理解测试框架.在附加组件里搜索下载,一般搜的结果里前几个都不是,得点那个查看更多才行,找到这个: 安装以后浏览器工具栏会有: 安装好 ...

  9. Web 自动化测试框架 sweetest 介绍

    项目开源: https://github.com/tonglei100/sweetest 文章转载:https://segmentfault.com/a/1190000011612061 介绍 swe ...

随机推荐

  1. HDU4466 Triangle

    题意:给一个长为N的铁丝,问你有几种方法将其划分为若干段,使得每一段都能围成一个边长为整数的三角形,并且围成的三角形都相似 思路其实很明显,三角形的周长必定是N的约数,那么答案就是周长C能围城的三角形 ...

  2. 自己动手写http服务器——主程序(三)

    功能:目前只支持对资源的访问. 使用的模型:多线程加epoll,与传统的一个连接请求一个线程处理不同的是,这个模型只为那些需要服务的连接请求调用线程进行处理, 整个模型的大致流程 创建一个线程持对象, ...

  3. 使用Python提取中文字符

    #功能:国际化测试,用于提取应用设计包中的中文字符,并输出report#解压---筛选---整理路径---提取中文---输出报告 ################################### ...

  4. PHP curl_setopt函数用法介绍

    [导读] curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用户可操作的行为哦.bool curl_setopt (int ch, string ...

  5. KafkaManager中Group下不显示对应Topic的解决方案

    一.软件版本 Kafka:0.8.2.1 KafkaManager:1.2.9.10 二.问题现象 点击Consumer下某个组,显示如下图所示的异常,查看KafkaManager的Applicati ...

  6. 菜鸟版JAVA设计模式—外观模式

    外观模式是一种比較easy理解的模式,作用非常easy.就是解耦合. 结构也是非常easy,一个外观类.这个外观类持有非常多的业务类. 再由客户类去调用这个外观类去实现一些列的业务操作... 这个模式 ...

  7. 【SICP练习】151 练习4.7

    练习4-7 原文 Exercise 4.7. Let* is similar to let, except that the bindings of the let variables are per ...

  8. 《Javascript_Dom 编程艺术》(第2版)读书笔记

    第1章 Javascript 简史 Dom : 平稳退化.渐进增强,以用户为中心的设计 第2章 Javascript 语法 1.程序设计语言分为:解释性(javascript)和编译型(java,C+ ...

  9. json文件_ajax

    html源码代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  10. jquery查找元素

    一:查找元素 * 所有元素 element 该名称的所有元素(p,input) #id 拥有指定id属性的元素 .class 拥有所有指定class属性的元素 selector1,selector2 ...