元素的定位
一、为什么要学习定位元素?
1.为什么要学习元素定位?
1)计算机没有智能到人的程度。
2)计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入。
3)计算机通过一系列计数手段找到元素(按钮、输入框、模拟键盘等)
2.元素定位的工具或手段有哪些?
1)css选择器
2)xpath
二、环境及工具
材料:
1)firefox35
2)firebug插件
3)firepath插件
三、css选择器
1.什么是css选择器?
CSS 中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到相应元素,我们在编写自动化测试脚本的时候很多时候是在不断地找到css选择器。
2.css选择器语法
1)通过伪类名、id、标签名定位
2)通过元素之前嵌套关系
3)通过属性
4)通过父子关系
a:only-child
a:nth-child(2)
a:nth-last-child(2)
四、xpath
1.什么是xpath?
XPath即为XML路径语言,它是一种用来(标准通用标记语言的子集)在 HTML\XML 文档中查找信息的语言。
2.什么是XML?
XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
3.XML与HTML
4.节点的概念:每个XML/HTML的标签我们都称之为节点
5.XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。
nodename
/
//
.
…
查找某个特定的节点或者包含某个指定的值的节点
bookstore/book[1]
//head/meta[last()]
//head/meta[last()-1]
//head/meta[@http-equiv]
//head/meta[@http-equiv=“X-UA-Compatible”]
选择未知节点
选取若干路径
//head/meta | //head/link
//meta | //link
//*[text()=“123_百度搜索”]
补充:
//*[text()=“x’x’x”] 全部//title/text() 本内容是xxx的元素
//*[starts-with(@attribute,’xxx’)] 属性以xxx开头的元素
//*[contains(@attribute,’xxxxx’)] 属性中含有xxx的元素
//*[@attribute1=value1 and @attribute2=value2] 同时有两个属性值的元素