当前位置: 首页 > news >正文

Web自动化测试——XAPTH高级定位

在这里插入图片描述


XAPTH高级定位

  • 一、xpath 基本概念
  • 二、xpath 使用场景
  • 三、xpath 相对定位的优点
  • 四、xpath 定位的调试方法
  • 五、xpath 基础语法(包含关系)
  • 六、xpath 顺序关系(索引)
  • 七、xpath 高级用法
    • 1、[last()]: 选取最后一个
    • 2、[@属性名='属性值' and @属性名='属性值']: 与关系
    • 3、[@属性名='属性值' or @属性名='属性值']: 或关系
    • 4、[text()='文本信息']: 根据文本信息定位
    • 5、[contains(text(),'文本信息')]: 根据文本信息包含定位
    • 6、[contains(属性名,'属性值')]: 根据属性值包含定位
    • 7、xpath:轴定位,轴运算
      • a、获取父亲
      • b、获取祖先
      • c、同级查找,该元素(input)下方的,妹妹/弟弟:
      • d、同级查找,该元素(input)上方的,哥哥/姐姐

一、xpath 基本概念

XPath 是一门在 XML 文档中查找信息的语言
XPath 使用路径表达式在 XML 文档中进行导航
XPath 的应用非常广泛
XPath 可以应用在UI自动化测试

二、xpath 使用场景

web自动化测试
app自动化测试

三、xpath 相对定位的优点

可维护性更强
语法更加简洁
相比于css可以支持更多的方式

四、xpath 定位的调试方法

浏览器-console
$x("xpath表达式")
浏览器-elements
ctrl+f 输入xpath表达式或者css表达式

五、xpath 基础语法(包含关系)

表达式结果
/从该节点的子元素选取
//从该节点的子孙元素选取
*通配符
nodename:标签名选取此节点的所有子节点
..选取当前节点的父节点
@选取属性

获取当前节点的父节点://input[@name="wd"]/..
获取当前节点的爷爷节点://input[@name="wd"]/../..

组合通过父亲找儿子关系(先找到上一级,再定位本级)://span[@id=“s_kw_wrap”]/input[@type=“text”]
组合通过祖先找儿子关系(只要是本级的上级就可以)://form[@id=‘form’]//input[@name=‘wd’]

通过兄弟姐妹找(比较麻烦)://input[@id='kw']/../[@class='soutu-btn']
在这里插入图片描述

六、xpath 顺序关系(索引)

xpath通过索引直接获取对应元素,xpath的索引是从1开始数的
//form[@name="f"]//input[3]

在这里插入图片描述

七、xpath 高级用法

1、[last()]: 选取最后一个

//form[@name="f"]/input[last()]

在这里插入图片描述

2、[@属性名=‘属性值’ and @属性名=‘属性值’]: 与关系

//form[@name="f" and contains(@class,"fm")]

在这里插入图片描述

3、[@属性名=‘属性值’ or @属性名=‘属性值’]: 或关系

//form[@name="f" or contains(@class,"fm")]
在这里插入图片描述

4、[text()=‘文本信息’]: 根据文本信息定位

//span[text()="按图片搜索"]
在这里插入图片描述

5、[contains(text(),‘文本信息’)]: 根据文本信息包含定位

//p[@class="lh"]//a[contains(text(),"京公网安备")]
在这里插入图片描述

6、[contains(属性名,‘属性值’)]: 根据属性值包含定位

//form[contains(@class,"fm")]

在这里插入图片描述

7、xpath:轴定位,轴运算

a、获取父亲

//input[@type="text"]//parent::span
在这里插入图片描述

b、获取祖先

//input[@type="text"]//ancestor::form

后面还可以加条件 //input[@type="text"]//ancestor::form[@id='form']

在这里插入图片描述

c、同级查找,该元素(input)下方的,妹妹/弟弟:

//input[@type="text"]/following-sibling::span

在这里插入图片描述

d、同级查找,该元素(input)上方的,哥哥/姐姐

//input[@type="text"]/following-sibling::span

在这里插入图片描述

注意:所有的表达式需要和[]结合

http://www.lryc.cn/news/65578.html

相关文章:

  • CentOS 7 安装 Nginx
  • Databend 开源周报第 91 期
  • 【Ubuntu18.04使用yolov5教程】
  • CocoaPods如何发布新版本的Pod Library
  • v4l2框架
  • vue项目中生成LICENSE文件
  • NewBing最新更新使用体验(无需等待人人可用)
  • 欧拉奔赴品牌2.0时代,女性汽车真实用户需求被定义?
  • 机器视觉工程师,听我一句劝,别去外包,干了三年,废了....对女人没了兴趣
  • PBDB Data Service:Special parameters(特殊参数)
  • 腾讯云轻量应用服务器使用限制说明(十大限制)
  • Python每日一练(20230507) 丑数I\II\III、超级丑数
  • K8S常见异常事件与解决方案
  • 测试5年从中兴 15K 跳槽去腾讯 32K+16,啃完这份笔记你也可以
  • CentOS 临时IP与永久IP配置
  • 集线器、网桥、交换机
  • api接口怎么用?
  • Bad minute in crontab?
  • 【二维矩阵如何存储在一维数组中(行优先和列优先)】
  • 使用Gradle7.6+SpringBoot 3.0+java17创建微服务项目
  • pandas使用教程:apply函数、聚合函数agg和transform
  • 使用rasterio裁剪遥感影像
  • BetaFlight统一硬件配置文件研读之set命令
  • QT+OpenGL高级数据和高级GLSL
  • 接口测试之Jmeter+Ant+Jenkins接口自动化测试平台
  • FPGA设计中锁存器产生、避免与消除
  • 一份标准的软件测试方案模板
  • 【C++】-对于自定义类型的输入输出运算符重载
  • (详解)js中什么是宏任务、微任务?宏任务、微任务有哪些?又是怎么执行的?
  • Okta 即代码:云原生时代的身份管理