第 三十 web端自动化基础篇

一、认识web自动化测试

  1. 什么是自动化测试?
  2. 了解为什么要进行自动化测试?
  3. 掌握自动化测试的分类?
  4. web自动化测试的使用条件和场景
  5. 自动化测试工具的优缺点
  6. 自动化测试的前景和发展方向

1.1 什么是自动化测试

首先比较一下手动和自动:
手动操作如下:

image

自动操作如下:
http://n1.itc.cn/img8/wb/sohulife/2016/02/24/145626026613873378.GIF

1.1.1 自动化测试的概念

软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够 完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。

1.1.2 自动化测试的历史

  1. 自动化测试就是任何利用工具来辅助的测试,几乎在计算机工业产生的第一天,这种测试就出现了。
  2. 历史上从来没有出现过“测试自动化取代测试工程师工作”这种事情发生,除非你完全忽略测试人员们的真正工作。
  3. 测试自动化意味着使用测试工具。自动化测试是个古老的理念。

1.2 为什么要进行自动化测试

1.2.1 自动化测试的好处

  1. 缩短测试周期
    计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。
  2. 避免人为出错
    测试人员不可能持续高度集中,并且人类易受外界影响(头疼脑热,精神不振),可能会造成人为错误
  3. 测试信息存储
    自动化测试将测试信息和数据储存在文件中,思路清晰明确,交接方便
  4. 轻易获取覆盖率
    自动化测试能够解放测试人员,使测试人员能够有更多的精力做那些非重复性的工作。
  5. 其他
    自动化测试可以是实现自动或者定时执行
    注意:自动化测试的方向是对的,而且趋势也是如此,但是有些自动化实现不了的还是会手动测试的。

1.3 自动化测试的分类

  1. 整体分类
    1)自动化功能测试
    2)自动化性能测试
  2. 自动化功能测试的分类:
1)单元测试:程序员搞定
2)功能测试
3)接口测试:大中型项目或长期项目可以采用自动化测试

性能测试主要是使用测试工具

Loadrunner、Jmeter等,对软件进行压力测试、负载测试等等,因为这些无法用手工进行代替,所以必须自动化。
为了测试一个web站点的服务能力,需要模拟上千上万的请求(比如打开浏览器访问站点),人的速度是远远达不到这样的操作的

1.4 web自动化条件和使用范围

1.使用自动化的前提条件

1)手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化
2)项目周期长,重复性的工作都交给机器去实现
3)需求稳定,项目变动不大
4)自动化测试脚本复杂度比较低
5)可重复利用

2.使用自动化测试的场景

1)频繁的回归测试
2)冒烟测试
3)传统行业需求变化不大,应用频繁
4)性能测试

1.5 web自动化常用的工具

常见的自动化web测试工具

QTP(收费)

QTP是Mercury公司的Quick Test Professional的简称,是一种自动测试工具。

Selenium(开源)

Selenium一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试

RFT(收费)

IBM Rational Test Professional的简称,是一款先进的自动化的功能和回归测试工具,使用与测试人员和GUI开发人员,基础是针对Java,.NET的对象计数和基于web应用程序的录制,回放功能。

1.6 元素的定位

为什么要学习定位元素?
环境及工具
css选择器
xpath路径表达式

1.6.1 为什么要学习元素定位?

1)计算机没有智能到人的程度。
2)计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入。
3)计算机通过一系列计数手段找到元素(按钮、输入框、模拟键盘等)

1.6.2 元素定位的工具或手段有哪些?

1)css选择器
2)xpath

1.6.3 环境及工具

材料

1)firefox35
2)firebug插件
3)firepath插件

安装步骤

1\. 下载浏览器插件
2\. 菜单 → 添加附件 → 设置图标 → 从文件中添加附件

1.7 xpath

1.7.1 什么是xpath?

XPath即为XML路径语言,它是一种用来(标准通用标记语言的子集)在 HTML\XML 文档中查找信息的语言。
W3School官方文档:http://www.w3school.com.cn/xpath/index.asp

1.7.2 什么是XML?

XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据

1.7.3 XML与HTML

image

1.7.4 节点

节点的概念:每个XML/HTML的标签我们都称之为节点

image
image

1.7.5 获取元素

XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

image
/             根节点
//title      全局模糊定位title
//head/.  定位head元素
//haad/.. 定位head元素的父元素 
//meta[@conent]       
//meta[@conent=""]         

  • 查找某个特定的节点或者包含某个指定的值的节点

    image
/html/head/meta[1]

  • 选择未知节点

    image
  • 选取若干路径

    image
    image

1.8 css选择器

1.8.1 什么是css选择器?

CSS 中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到相应元素,我们在编写自动化测试脚本的时候很多时候是在不断地找到css选择器。

1.8.2 css选择器语法

1)通过伪类名、id、标签名定位

image

测试站点: http://www.baidu.com
2)通过元素之前嵌套关系

image

测试:Form span
3)通过属性

image
image

4)通过父子关系

image

测试站点:App</article>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • 一、认识web自动化测试 什么是自动化测试? 了解为什么要进行自动化测试? 掌握自动化测试的分类? web自动化测...
    会冒泡的鱼____阅读 400评论 0 1
  • 一、认识web自动化测试 什么是自动化测试? 了解为什么要进行自动化测试? 掌握自动化测试的分类? web自动化测...
    Anwfly阅读 1,587评论 1 3
  • 一、认识web自动化测试 1.什么是自动化测试?2.了解为什么要进行自动化测试?3.掌握自动化测试的分类?4.we...
    Dovis_911b阅读 281评论 0 0
  • 一、认识web自动化测试 什么是自动化测试? 了解为什么要进行自动化测试? 掌握自动化测试的分类? web自动化测...
    ln111阅读 139评论 0 0
  • 2一、自动化测试的好处 1、 缩短测试周期:计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测...
    384bdb547ea6阅读 255评论 0 0