一、几种网页定位方式

webdriver的页面定位很灵活,提供了8种定位方式;

其中,常见的有三种:id 、cssSelector 、xpath;

一个元素如果存在 id 属性,则这个 id 的值,在当前页面绝对是唯一的,测试代码根据id来查找元素,速度也是最快的,所以如果条件允许,当然用id最省事;

而很多时候,元素对象并不存在id、或者存在动态的id,那么选择xpath、或者 cssSelector,可以很好的解决定位困难的难题;他们可以定位到网页上90%以上的元素。

二、xpath定位法

xpath是一种选择器,有自己的语法,可以参考w3school,了解一下,有xpath基础的,可以跳过;

在Firefox浏览器中有firebug 和 firepath插件,可以帮助我们自动生成xpath 路径表达式,初学者不建议使用火狐浏览器来学习,路径表达式最好自己理解之后,自己写;

QQ图片20161116212247.png1292x787 152 KB

(1)xpath常用符号说明

QQ图片20161116212549.png742x341 43.8 KB

绝对路径:一般从很目录开始 /html/... 这种写法,很长很繁琐,不推荐使用;
相对路径:又称为 无限深度查询,表达式比较简洁;

(2)简单模式

QQ图片20161116214751.png1511x449 43.1 KB

(3)使用函数

常用的函数有:contains( , )、text(" ") 、starts-with( , )

QQ图片20161116220045.png1383x715 63.8 KB

(4)xpath的轴定位

轴的概念:

QQ图片20161116220241.png1362x691 133 KB

一个例子说明:

QQ图片20161116221635.png1367x773 173 KB

用xpath轴时应该注意的几个问题:
1. 调用轴,最好用 “ /”
2. 轴后边要加上符号“::”
3. "::" 后边可以接节点名称,也可以接" * "

做自动化测试,避免不了定位页面的元素,定位方式多种多样,如果自己擅长一种定位方式并熟练使用,将对工作非常有帮助;

     更多详情请关注公众号“软件测试部落”


史上第一个以“持续集成”方向为主的地址:www.hordehome.com

基于Selenium2+Java的UI自动化(3) - 页面元素定位的更多相关文章

  1. 基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍

    1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...

  2. 基于Selenium2+Java的UI自动化(8)- 显式等待和隐式等待

    一.隐式等待 package com.automation.waits; import java.util.concurrent.TimeUnit; import org.openqa.seleniu ...

  3. 基于Selenium2+Java的UI自动化(1) - 原理和环境搭建

    一.Selenium2的原理 Selenium1是thoughtworks公司的一个产品经理,为了解决重复烦躁的验收工作,写的一个自动化测试工具,其原理是用JS注入的方 式来模拟人工的操作,但是由于J ...

  4. 基于Selenium2+Java的UI自动化(6)-操作Alert、confirm、prompt弹出框

    alert.confirm.prompt这样的js对话框在selenium1 时代处理起来比价麻烦,常常要用autoit来帮助处理.而现在webdriver对这些弹出框做了专门的处理,使用seleni ...

  5. 基于Selenium2+Java的UI自动化(5) - 执行JavaScript脚本

    一.操作日期选择框 QQ图片20161118215530.png1336x545 22.6 KB 说明:日期选择框大部分是不支持前端输入的,因为这个对象是 readOnly,只读属性,selenium ...

  6. 基于Selenium2+Java的UI自动化(2) - 启动浏览器

    一.准备工作 我们常用的浏览器主要有三个:chrome.Firefox.IE:其中chrome 和 IE 需要下载驱动程序,才能启动浏览器,注意驱动程序有32位和64位两种. 另外:如何查看本机的浏览 ...

  7. java selenium webdriver第二讲 页面元素定位

    自动化测试实施过程中,测试程序中常用的页面操作有三个步骤 1.定位网页上的页面元素,并存储到一个变量中 2.对变量中存储的页面元素进行操作,单击,下拉或者输入文字等 3.设定页面元素的操作值,比如,选 ...

  8. java selenium webdriver实战 页面元素定位

    自动化测试实施过程中,测试程序中常用的页面操作有三个步骤 1.定位网页上的页面元素,并存储到一个变量中 2.对变量中存储的页面元素进行操作,单击,下拉或者输入文字等 3.设定页面元素的操作值,比如,选 ...

  9. appium自动化测试之UIautomatorviewer元素定位

    appium自动化测试之UIautomatorviewer元素定位 标签(空格分隔): uiautomatorviewer元素定位 前面的章节,已经总结了怎么搭建环境,怎样成功启动一个APP了,这里具 ...

随机推荐

  1. ruby 资料整理

    http://blog.csdn.net/maingalaxy/article/details/46013393 http://blog.csdn.net/dzl84394/article/detai ...

  2. 了解常见的 Azure 灾难

    以下内容涵盖多种不同类型的灾难情况.数据中心故障不是应用程序范围内发生故障的唯一原因.设计不良或管理错误也会导致中断.请在恢复计划的设计和测试阶段设想可能导致故障的原因,这样做很重要.一个好的计划可充 ...

  3. 教程-Supports判断接口(Instance)是否支持

    function TCommandEnabledController.GetCommandVisible(const ACommandName: string): Boolean; var I: In ...

  4. 转载ASP.NET MVC 和ASP.NET Web Form简单区别

    转载原地址 http://www.cnblogs.com/lei2007/p/3315431.html 概论: Asp.net  微软 提供web开发框架或者技术.分Web Form和ASP.NET  ...

  5. SQL Server中取两个表的交集,并集和差集

    在项目中遇到要取两个表差集的情况 假设有两个表tblNZPostCodes, NZPostcode  两个表中存储的都是新西兰的post code信息,字段一致,只是数据上有所差异. 1. Union ...

  6. 爬取知乎百万信息之UrlTask

    这个模块的作用是从nexturl队列获取用户的关注列表的url,获取关注列表.服务器返回的Json的数据 封装一个对象的序列化和反序列化的类 public class SerializeHelper ...

  7. Notes(一)

    Numerous experimental measurements in spatially complex systems have revealed anomalous diffusion in ...

  8. JNI-数据类型

    转载:http://blog.csdn.net/conowen/article/details/7523145 在Java中有两类数据类型:primitive types,如,int, float, ...

  9. ASP.net中的Cache使用介绍

    1.1.1 摘要(http://www.cnblogs.com/rush/archive/2012/06/30/2571438.html) 最近我们的系统面临着严峻性能瓶颈问题,这是由于访问量增加,客 ...

  10. 60款开源云应用【Part 2】(60 Open Source Apps You Can Use in the Cloud)

    60款开源云应用[Part 2](60 Open Source Apps You Can Use in the Cloud) 本篇翻译自http://www.datamation.com/open-s ...