认识web自动化测试
自动化测试概念:软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。
自动化测试的好处:
1.缩短测试周期
2.避免人为出错
3.测试信息存储
4.轻易获取覆盖率
自动化的方向是对的,而且趋势也是如此,但是有些自动化实现不了的,还是需要手动测试
自动化测试的分类
1.整体分类
- 自动化功能测试
- 自动化性能测试
2.自动化功能测试分类:
- 单元测试 (程序员搞定)
- 接口测试
- 功能测试
大中型项目或长期项目可以采用自动化测试
web自动化条件和使用范围
1.使用自动化的前提条件
1)手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化
2)项目周期长,重复性的工作都交给机器去实现
3)需求稳定,项目变动不大
4)自动化测试脚本复杂度比较低
5)可重复利用
2.使用自动化测试的场景
1)频繁的回归测试
2)冒烟测试
3)传统行业需求变化不大,应用频繁
4)性能测试
web自动化常用的工具
常用的自动化web测试工具:QTP(收费) Selenium(开源) RET(收费)
元素定位
环境及工具
1.材料:
- Firefox35
- Firebug插件
- Firepath插件
2.安装步骤
xpath
1.什么是xpath?
XPath 是一门在 XML 文档中查找信息的语言
W3School官方文档:http://www.w3school.com.cn/xpath/index.asp
2.什么是XML?
XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
xml与html
xml:可扩展标记语言,被设计为传输和存储数据,其焦点是数据的内容
html:超文本标记语言,显示数据以及如何更好的显示数据
节点的概念
每个xml/html的标签称之为节点
从根节点选取 /
从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 //
选取当前节点 .
选取当前节点的父节点 ..
选取属性 @
选取head子元素的第一个link元素
选取属于head子元素的最后一个link元素
选取属于head子元素的倒数第二个link元素
选取最前面的两个属于head元素的子元素的link元素
选取所有link元素,且这些元素用优质为image/x-icon
选取html元素的所有子元素
选取文档中的所有元素
选取所有带有属性的link元素
选取head元素的所有meta和link元素
选取文档中的所有meta和link元素
选取html元素的head元素的所有meta元素和文档中的link元素
补充:
//*[text()=“x’x’x”] 全部//title/text() 本内容是xxx的元素
//*[starts-with(@attribute,”xxx”)] 属性以xxx开头的元素
//*[contains(@attribute,”xxxxx”)] 属性中含有xxx的元素
//*[@attribute1=value1 and @attribute2=value2] 同时有两个属性值的元素
css选择器
CSS 中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到相应元素,我们在编写自动化测试脚本的时候很多时候是在不断地找到css选择器。
2.css选择器语法
1)通过伪类名、id、标签名定位
测试站点: http://www.baidu.com
选择class=“”c-group-wrapper“” .class .c-group-wrapper
选择id=“content_left”的所有元素 #id #content_left
选择所有元素 *
选择所有<link>元素 elment
选择所有<link>和<meta>元素 element,element
选择<div>元素内部的所有<input>元素 element element
选择父元素为<dir>元素的所有<style>元素
选择带有那么属性的所有元素 [name]
选择name="referrer"的所有元素 [name="referrer"]
选择content的属性值以"text"开头的每个<meta>元素
选择content属性以“1”结尾的所有<meta>元素
选择content属性中包含“abc子串的每个<meta>元素”
选择属于父元素的唯一子元素的每个<div>元素
选择属于其父元素的每个<div>元素
同上,从最后一个子元素开始计数