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

二、什么样的项目适合做自动化测试
  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. 【NOIP2003提高组】加分二叉树

    https://www.luogu.org/problem/show?pid=1040 令f(i,j)表示[i,j]的二叉树中最高的分数.枚举k为根,状转方程:f(i,j)=max{f(i,k-1)* ...

  2. ABAP CDS Table Function介绍与示例

    Core data services(以下简称CDS)可以指两样东西,一个是HANA CDS,一个是ABAP CDS. 如我们所知,HANA CDS只支持HANA数据库,ABAP CDS理论上支持多种 ...

  3. 在Ubuntu14.04下安装Docker CE(1) - repository篇

    从2017年3月开始,Docker开始分为社区版本和企业版,也就是Docker CE和Docker EE, 原来Ubuntu14.04下,通过sudo apt-get install docker.i ...

  4. 42.Linux应用调试-初步制作系统调用(用户态->内核态)

    1首先来讲讲应用程序如何实现系统调用(用户态->内核态)? 我们以应用程序的write()函数为例: 1)首先用户态的write()函数会进入glibc库,里面会将write()转换为swi(S ...

  5. 杭电1513Palindrome

    Palindrome Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  6. svn 批量加入没有加入版本号控制的文件命令

    svn st | awk '{if($1=="?"){print$2}}'|xargs svn add

  7. jquery通过数值改变球大小

    在业务中遇到一个问题:在页面上显示一个球.且球的大小会应数字的大小而改变. 我们都知道 js是能够画圆(用css样式准备一个圆.假设addClass),但这并非我们想要的. 于是笔者脑洞打开:用样式画 ...

  8. TP3.2.3 接入支付宝

    TP3.2.3 接入支付宝 项目接入支付宝支付了,在做这个给我的感觉是,方便 ,毕竟是老马的产品是吧, 话不多说 , 首先我们先找到官方的SDK  ,不想去找的小伙伴复制此链接 https://doc ...

  9. Java加密与解密笔记(四) 高级应用

    术语列表: CA:证书颁发认证机构(Certificate Authority) PEM:隐私增强邮件(Privacy Enhanced Mail),是OpenSSL使用的一种密钥文件. PKI:公钥 ...

  10. 【TEGer 在全球架构师峰会】 : 腾讯海外计费系统架构演进

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者简介:abllen,2008年加入腾讯,一直专注于腾讯计费平台建设,主导参与了腾讯充值中心.计费开放平台.统一计费米大师等项目,见证了米大师 ...