



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、工具选择:在我们开发测试脚本的过程中各个浏览器给我们也提供了方便定位元素的工具,我比较喜欢使用firefox的firebug工具,也是目前很多开发测试人 员比较热衷的选择,原因是firefox是唯一能够集成selenium IDE的浏览器,并且firebug给用户提供了丰富的扩展组件,我们可以根据自己的需要来选择,一般情况下,使用firebug+firefinder 就足够使用了,firefinder支持xpath以及css选择器定位元素的功能,很方便帮助我们调试测试脚本 2、元素定位的方法:findElement() 与 findElements() findElement() 该方法返回基于指定查询条件的webElement对象,或抛出不符合条件的异常 eg:driver.findElement(By.id(userID); findElements() 该方法返回指定查询条件的WebElement的对象集合,或返回null 3、WebElement对象提供的各种定位元素策略 ID:driver.findElement(By.id()Name:driver.findElement(B()className:driver.findElement(By.className()tagName:driver.findElement(By.tagName()linkText:driver.findElement(By.linkText()partialLinkText:driver.findElement(By.partialLinkText()css:driver.findElement(By.cssSelector()xpath:driver.findElement(By.xpath()4、webelement类提供了诸多方法,在我们开发脚本过程中如何选择最可靠,效率最高的方法,使用id,name是首选,因为他们在html标签中是唯一的,所以是最可靠的 ID定位:driver.findElement(By.id(username) name定位:driver.findElement(B(username) class定位:driver.findElement(By.className(username) 多学一招:WebElement类支持查询子类元素,如果页面中存在重复元素,但在不同div中,我们可以先定位到其父元素,然后定位其子元素,方法如下: WebElement hello = driver.findElement(By.id(div1).findElement(By.lindText(hello); 5、使用WebElements定位多个相似的元素,比如页面中存在五个单选按钮,他们有相同的class属性,值为:myRadio,我们想对五个按钮循环操作,我们可以把它们全部取出来放到集合中,然后做循环操作,如下: List radios = driver.findElements(By.className(myRadio);for(int i = 0;iinput) 该方法中“div#logininput” 首先通过相对路径定位到id为login的div元素,然后查找其子元素input(绝对路径) 二、使用xpath定位元素,相比cssSelector,xpath是我比较常用的一种定位元素的方式,因为它很方便,缺点是,消耗系统性能 1、使用绝对路径定位元素 driver.findElement(By.xpath(/html/body/div/form/input) 2、使用相对路径定位元素 driver.findElement(By.xpath(/input) 返回查找到的第一个符合条件的元素 3、使用索引定位元素,索引的初始值为1,注意与数组等区分开 driver.findElement(By.xpath(/input2) 返回查找到的第二个符合条件的元素 4、结合属性值来定位元素 driver.findElement(By.xpath(/inputid=username); driver.findElement(By.xpath(/imgalt=flowr); 5、使用逻辑运算符,结合属性值定位元素,and与or driver.findElement(By.xpath(/inputid=username and name=userID); 6、使用属性名来定位元素 driver.findElement(By.xpath(/inputbutton) 7、类似于cssSlector,使用部分属性值匹配元素 starts-with() driver.findElement(By.xpath(/inputstars-with(id,user)ends-with driver.findElement(By.xpath(/inputends-with(id,name)contains() driver.findElement(By.xpath(/inputcontains(id,ernam)8、使用任意属性值匹配元素 driver.findElement(By.xpath(/input*=username) 9、使用xpath轴来定位元素 这里略了,详见 三、使用innerText定位元素 1、使用cssSelector查找innerText定位元素 driver.findElement(By.cssSelector(spantextContent=新闻); 2、使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 氢能产业园绿色氢能供应链建设方案
- 机电设备安装电气系统接线方案
- 水稻病害课件
- 机电设备安装智能控制系统方案
- 影视片段赏析王璐2022年10月15课件
- 窒息的急救处理96课件
- 2025版城市更新项目房屋联建合作协议
- 二零二五年度污水处理厂清包工程合同范本
- 2025版养老院地砖墙砖铺设劳务分包合同
- 2025版电商平台独家运营权转让合同书
- 闭店协议如何签订合同模板
- 2025医疗机构租赁合同模板
- 2025年肇庆社区专职工作人员招聘真题
- 兄妹房屋协议书
- 微量泵输液泵使用技术
- epg信息管理制度
- 产品开发项目管理制度
- 液氧站安全管理制度
- 2025至2030年中国汽车空调过滤器行业市场现状分析及前景战略研判报告
- 【课件】《合并同类项》说课课件++2024-2025学年人教版数学七年级上册
- 2021年12月大学英语四级考试真题及答案(第1套)
评论
0/150
提交评论