Selenium脚本编写环境的搭建/XPath
编写环境主要分为三个部分:
JUnit : java单元测试框架;
Firebug: firefox 附加组件,Firebug是firefox下的一个扩展,能够调试所有网站语言,如Html,Css等,但FireBug最吸引人的就是javascript调试功能;
XPath : firefox 附加组件
XPath:
下文大部分内容来自:http://www.cnblogs.com/jianjialin/archive/2009/02/01/1382056.html
XPath 是XML的查询语言,和SQL的角色很类似。以下面XML为例,介绍XPath 的语法。
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd country="USA">
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<price>10.90</price>
</cd>
<cd country="UK">
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<price>9.90</price>
</cd>
<cd country="USA">
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<price>9.90</price>
</cd>
</catalog>
- 定位节点
- 如果XPath的开头是一个斜线(/)代表这是绝对路径。如果开头是两个斜线(//)表示文件中所有符合模式的元素都会被选出来,即使是处于树中不同的层级也会被选出来。
- /catalog/cd/price 选catalog底下的cd中所有price元素 ;
- //cd 选出文件中所有叫做cd的元素(在树中的任何层级都会被选出来);
- 选择未知的元素
- 使用星号(*)可以选择未知的元素;
- 要注意的是,想要存取不分层级的元素,XPath语法必须以两个斜线开头(//);想要存取未知元素才用星号(*),星号只能代表未知名称的元素,不能代表未知层级的元素。
/catalog/cd/* 选出/catalog/cd 的所有子元素;
/catalog/*/price 选出所有catalog的子元素中,包含有price作为子元素的元素
/*/*/price 选出有两层父节点,叫做price的所有元素
//* 选择出文件中的所有元素
- 选择分支
- 使用中括号可以选择分支,XPath的定义中没有第0元素这种东西。 /catalog/cd[1] 第一个cd
- 最后一个 /catalog/cd[last()]
- 选出含有price子元素的所有/catalog/cd元素: /catalog/cd[price]
- 选出price元素的值等于10.90的所有/catalog/cd元素: /catalog/cd[price=10.90]
- 选出price元素的值等于10.90的所有/catalog/cd元素 的price元素: /catalog/cd[price=10.90]/price
- 选择一个以上的路径
- 使用Or操作数(|)就可以选择一个以上的路径
选择所有title以及artist元素: //title | //artist
- 使用Or操作数(|)就可以选择一个以上的路径
- 选择属性
- 在XPath中,除了选择元素以外,也可以选择属性。属性都是以@开头。
- 选择文件中所有叫做country的属性: //@country
- 选择出含有属性的所有cd元素: //cd[@*]
- 选择出country属性值为UK的cd元素 //cd[@country='UK']
Selenium脚本编写环境的搭建/XPath的更多相关文章
- selenium+python开发环境的搭建
web 调试工具介绍和开发环境搭建 python与selenium开发环境搭建: 一.下载python软件:https://www.python.org/ 下载完后,进行安装,安装成功后,打开IDLE ...
- 自动化脚本编写环境部署_win7(RF)
第一步 安装Python并设置环境变量 1.安装python: python下载地址https://www.python.org/,建议用2.7.x版本 2.设置环境变量: 方法如下所示 第二步 安 ...
- java+selenium脚本编写规范
2. 源文件规范 2.1 文件名 源文件以最顶层的类名来命名,大小写敏感,文件扩展名为.java 2.2 文件编码 UTF-8 源文件要求编码格式为UTF-8 2.3 源文件结 ...
- 自动化测试之Selenium篇(一):环境搭建
当前无论找工作或者是实际项目应用,自动化测试扮演着非常重要的角色,今天我们来学习下Selenium的环境搭建 Selenium简述 Selenium是一个强大的开源Web功能测试工具系列 可进行读入测 ...
- 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)
菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...
- selenium + python 自动化测试环境搭建
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
- Selenium终极自动化测试环境搭建(二):Selenium+Eclipse+Python
前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上,下面再举例Selenium+Eclipse+Python测试环境搭建. 第一步:安装Pyth ...
- Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
- Selenium终极自动化测试环境搭建(一) Selenium+Eclipse+Junit+TestNG
Selenium终极自动化测试环境搭建(一)Selenium+Eclipse+Junit+TestNG 第一步 安装JDK JDk1.7. 下载地址:http://www.oracle.com/tec ...
随机推荐
- R AnalyticFlow---R的流程图
0.简介 R AnalyticFlow是一款利用R环境作为统计计算的数据分析软件,创作者是日本人,版权属于日本Ef-prime公司.R AnalyticFlow除了拥有直观的用户界面和流程图显示,它还 ...
- NUC_HomeWork1 -- POJ1088(DP)
D - 滑雪 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Mic ...
- BZOJ1114 : [POI2008]鲁滨逊逃生Rob
设船最宽行列的交点为船的重心,那么只要预处理出重心在每个位置是否可行,以及在边界上走出边界所需的最小值之后,进行一遍BFS即可. 枚举每个点$(x,y)$,求出它上下最近的障碍物的距离.考虑重心在第$ ...
- 常用JS正则表达式
常用JS正则表达式 收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水 ...
- Jquery实现MD5加密
$.md5("你想要加密的字符串"); md5插件下载地址:http://xiazai.jb51.net/201003/yuanma/jquery_md5.rar <!DOC ...
- 4Sum
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = tar ...
- [LintCode] Remove Linked List Elements 移除链表元素
Remove all elements from a linked list of integers that have value val. Have you met this question i ...
- JAVA生成二维码图片代码
首先需要导入 QRCode.jar 包 下载地址看这里 http://pan.baidu.com/s/1o6qRFqM import java.awt.Color;import java.awt. ...
- Thinkphp框架感悟(二)
这次主要分析一下I方法 /** * 获取输入参数 支持过滤和默认值 * 使用方法: * <code> * I('id',0); 获取id参数 自动判断get或者post * I('post ...
- HDU3874 /HDU3333 树状数组 区间求不重复数和
Necklace Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...