一、几种网页定位方式

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. FL2440移植u-boot2011.09

    u-boot version:2011.09-rc1 /home/lucas/u-boot-2011.09-rc1 OS:debian 7.1 cross-compilation chain:arm- ...

  2. C# 多线程 方法,类的标记

    [MethodImplAttribute(MethodImplOptions.Synchronized)] 此标记可用于方法,将一个方法标记为单线程进入,但在多个实例的时候仍有可能导致问题,比较有共享 ...

  3. IGT一道笔试题

    1到n连续的n个数 输入m 得出m个有序序列 比如 输入为n=5 ,m=3 则输出 543 542 541 532 531 521  432 431 421 321 当前长度为i,每个位上的取之范围为 ...

  4. Jquery UI的datepicker插件使用方法

    原文链接;http://www.ido321.com/375.html Jquery UI是一个非常丰富的Jquery插件,并且UI的各部分插件可以独自分离出来使用,这是其他很多Jquery插件没有的 ...

  5. textarea使用注意事项

    问题现象: 意外的发现页面中 textarea 标签中的内容缩进了 猜测: CSS影响了? 过程:(辛酸得说说) 查了CSS,并没有发现,CSS是正常的 然后找了一个正常的,跟这个异常的进行了对比,代 ...

  6. SQL Server Cpu 100% 的常见原因及优化

    SQL Server Cpu 100% 的情况并不太常见,一般引起 SQL Server 产生性能问题的,都是 阻塞.连接数.IO 磁盘等.所以,一般SQL Server 的使用率都是比较低的.但是, ...

  7. CF390-E. Inna and Large Sweet Matrix(区间更新+区间查询)

    题意很好理解,不说了 题解就是每次把值压缩成一维,比如x上,这样就可以求出任意宽度的整个竖条的和. 如这张图,求的是s5-(s1+s3+s7+s9) 因为可以求出一整竖条和一整横条,我们可以求出是s2 ...

  8. Java & XML Tutorial

    Java comes with a set of tools to process XML. These Java XML tools are: SAX Parser StAX Parser DOM ...

  9. hdoj 1405 The Last Practice

    The Last Practice Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  10. Bugs及解决方案列表

    Bugs及解决方案列表(以下实例默认运行环境都为Standard mode): 如何在IE6及更早浏览器中定义小高度的容器? 方法: #test{overflow:hidden;height:1px; ...