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

Web自动化测试高级定位xpath

高级定位-xpath

目录

  • xpath 基本概念
  • xpath 使用场景
  • xpath 语法与实战

xpath基本概念

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

xpath 定位场景

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

xpath 相对定位的优点

  • 可维护性更强
  • 语法更加简洁
  • 相比于css可以支持更多的方式
# 复制的绝对定位
$x('//*[@id="ember75"]/td[1]/span/a')
# 编写的相对行为
$x("//*[text()='技术分享 | SeleniumIDE用例录制']")

xpath 定位的调试方法

  • 浏览器-console

    • $x("xpath表达式")
  • 浏览器-elements

    • ctrl+f 输入xpath或者css

xpath 基础语法(包含关系)

# 整个页面
$x("/")
# 页面中的所有的子元素
$x("/*")
# 整个页面中的所有元素
$x("//*")
# 查找页面上面所有的div标签节点
$x("//div")
# 查找id属性为site-logo的节点
$x('//*[@id="site-logo"]')
# 查找节点的父节点
$x('//*[@id="site-logo"]/..')

 

xpath 顺序关系(索引)

  • xpath通过索引直接获取对应元素
# 获取此节点下的所有的li元素
$x("//*[@id='ember21']//li")
# 获取此节点下【所有的节点的】第一个li元素
$x("//*[@id='ember21']//li[1]")

xpath 高级用法

  • [last()]: 选取最后一个
  • [@属性名='属性值' and @属性名='属性值']: 与关系
  • [@属性名='属性值' or @属性名='属性值']: 或关系
  • [text()='文本信息']: 根据文本信息定位
  • [contains(text(),'文本信息')]: 根据文本信息包含定位
  • 注意:所有的表达式需要和[]结合
# 选取最后一个input标签
//input[last()]
# 选取属性name的值为passward并且属性pwd的值为123456的input标签
//input[@name='passward' and @pwd='123456']
# 选取属性name的值为passward或属性pwd的值为123456的input标签
//input[@name='passward' or @pwd='123456']
# 选取所有文本信息为'华测教育测试开发'的元素
//*[text()='华测教育测试开发']
# 选取所有文本信息包'华测教育'的元素
//*[contains(text(),'华测教育')]

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

 全套资料获取方式:点击下方小卡片自行领取即可

 

相关文章:

Web自动化测试高级定位xpath

高级定位-xpath 目录 xpath 基本概念xpath 使用场景xpath 语法与实战 xpath基本概念 XPath 是一门在 XML 文档中查找信息的语言XPath 使用路径表达式在 XML 文档中进行导航XPath 的应用非常广泛XPath 可以应用在UI自动化测试 xpath 定位场景 web自动化测试app自动化测试 …...

2023河南萌新联赛第(二)场:河南工业大学 F - 最短距离

2023河南萌新联赛第(二)场:河南工业大学 F - 最短距离 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给定一棵包含 n n n 个顶点的树…...

前端文件上传实践与后端处理——文件分块上传

文件上传是现代Web应用程序中常见的功能之一。在这篇博客中,我们将探讨一个简单但完整的前端文件上传实践,同时提供一个后端示例,演示如何处理上传的文件。我们将使用JavaScript作为前端语言,并结合Node.js作为后端环境。让我们开…...

SFP6012A-ASEMI代理海矽美快恢复二极管参数、尺寸、规格

编辑:ll SFP6012A-ASEMI代理海矽美快恢复二极管参数、尺寸、规格 型号:SFP6012A 品牌:ASEMI 封装:TO-247AC 恢复时间:100ns 正向电流:60A 反向耐压:1200V 芯片大小:102MIL*2…...

githack的安装步骤+一次错误体验

一.githack的安装步骤 1.要在Kali Linux上安装GitHack工具,您可以按照以下步骤操作: 打开终端并使用以下命令克隆GitHack存储库: git clone https://github.com/lijiejie/GitHack.git2.进入GitHack目录: cd GitHack3.安装依赖项…...

【Spring框架】SpringBoot创建和使用

目录 什么是SpringBoot?SpringBoot优点创建SpringBootSpringBoot使用 什么是SpringBoot? Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发的。 SpringBoot优点 1.起步依赖(创建的时候就可以方…...

【C语言项目】多臂井径电子测井成像项目(一)

目录 1、目的和意义2、本章概述3、串口R2324、OpenGL5、开发环境6、环境配置6.1、VS安装OpenGL6.2、虚拟串口生成工具 7、成品速览参考文献 1、目的和意义 本项目为获取矿藏地层的油气当量和及时精确地测量含油、含气层的压力及温度值的需求,辅助生产管理人员完成对…...

力扣 56. 合并区间

题目来源&#xff1a;https://leetcode.cn/problems/merge-intervals/description/ C题解&#xff1a;根据左区间排序&#xff0c;更新每一段的右区间最大值&#xff0c;直到间断。 class Solution { public:static bool cmp(vector<int> & a, vector<int> &a…...

前端开发Vue3.0 标签setup语法『UI组件库』之『模态框』【业务提升必备】

封装模态框需要定义的参数 title //弹窗标题 show // 是否显示弹窗 width // 弹窗宽度 height // 弹窗高度 borderRadius // 弹窗圆角 headerColor // 弹窗顶部颜色 contentText // 内容文本 contentTextCorder //内容文本颜色 position // 标题的位置 …...

在CSDN学Golang云原生(Kubernetes二开)

一&#xff0c;通过client-go管理集群资源 Kubernetes提供了client-go库&#xff0c;该库可以让开发人员使用Golang编写的应用程序与Kubernetes API进行交互。通过client-go&#xff0c;你可以创建、更新和删除Kubernetes资源&#xff0c;并查询集群状态等信息。 以下是一个示…...

chatglm-6b量化推理指标记录

chatglm量化推理指标对比&#xff0c;单卡显存32G, 保持batchsize为64不变。通过不同的量化可以节省显存进而提升提升batch size&#xff0c;加快全量数据的推理速度。当然通过量化可以降低大模型的显存使用门槛。...

Android kotlin系列讲解之最佳的UI体验 - Material Design 实战

目录 一、什么是Material Design二、Toolbar三、滑动菜单1、DrawerLayout2、NavigationView 四、悬浮按钮和可交互提示1、FloatingActionButton2、Snackbar3、CoordinatorLayout 五、卡片式布局1、MaterialCardView2、AppBarLayout 六、可折叠式标题栏1、CollapsingToolbarLayo…...

链表基础知识

一、什么是链表 链表是一种物理存储结构上非连续&#xff0c;非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表的结构是多式多样的&#xff0c;当时通常用的也就是两种&#xff1a; &#xff08;1&#xff09;第一种是无头非循环单向…...

process.env.npm_config_argv的值3个参数remain、cooked、original什么含义

在使用Webpack进行打包时&#xff0c;判断process.env.npm_config_argv的值通常是为了根据命令行参数来决定打包的行为。process.env.npm_config_argv是一个环境变量&#xff0c;保存了当前运行的npm命令和其参数。 具体而言&#xff0c;process.env.npm_config_argv的值是一个…...

【飞书】飞书导出md文档 | 飞书markdown文档导出 | 解决飞书只能导出pdf word

一、飞书导出markdown github地址&#xff1a;https://github.com/Wsine/feishu2md 这是一个下载飞书文档为 Markdown 文件的工具&#xff0c;使用 Go 语言实现。 请看这里&#xff1a;招募有需求和有兴趣的开发者&#xff0c;共同探讨开发维护&#xff0c;有兴趣请联系。 二、…...

零信任网络架构与实现技术的研究与思考

目前&#xff0c;国外已有较多有关零信任网络的研究与实践&#xff0c;包括谷歌的 BeyondCorp、BeyondProd&#xff0c;软件定义边界&#xff08;Software Defined Perimeter&#xff0c;SDP&#xff09; 及盖特提出的“持续自适应风险与信任评估”等。国内也有不少安全厂商积极…...

Unity 性能优化二:内存问题

目录 策略导致的内存问题 GFX内存 纹理资源 压缩格式 Mipmap 网格资源 Read/Write 顶点数据 骨骼 静态合批 Shader资源 Reserved Memory RenderTexture 动画资源 音频资源 字体资源 粒子系统资源 Mono堆内存 策略导致的内存问题 1. Assetbundle 打包的时候…...

JavaScript与TypeScript的区别

JavaScript和TypeScript是两种不同的编程语言&#xff0c;在一些方面有一些区别。 1. 类型系统&#xff1a;JavaScript是一种动态类型语言&#xff0c;变量的类型是在运行时确定的&#xff0c;并且可以随时更改。而TypeScript引入了静态类型系统&#xff0c;可以在编译时检查代…...

【NetCore】05-使用Autofac增强容器能力

文章目录 1.什么情况下需要引入第三方容器组件2.如何集成Autoface 1.什么情况下需要引入第三方容器组件 基于名称的注入属性注入子容器基于动态代理的AOP 核心扩展点&#xff1a;IServiceProviderFactory 第三方注入容器均使用这个类作为扩展点&#xff0c;将其注入到框架中…...

sparksql参数

Spark参数场景配置 参数类型 参数 参数说明 平台默认值 场景与建议 资源申请 spark.executor.memory Executor Java进程的堆内存大小 即Executor Java进程的Xmx值 2g 默认设置,或者同时等比例增大,最高不超过默认值的3倍,超过的单独拿出来看下 (注意作业是否数据倾斜&…...

终极Windows驱动管理指南:如何用DriverStore Explorer快速释放30GB磁盘空间

终极Windows驱动管理指南&#xff1a;如何用DriverStore Explorer快速释放30GB磁盘空间 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer DriverStore Explorer&#xff08;简称RAPR&…...

近期 GitHub 上爆火的 34 个极具潜力的开源项目

Coasts GitHub 链接&#xff1a;https://github.com/coast-guard/coasts 一款为 Git 工作区打造的本地主机服务隔离与编排工具&#xff0c;由前 Y Combinator 创始人开发。将自主智能体的主机全访问权限这一安全风险规避&#xff0c;智能体可在容器化主机内创建环境、运行服务…...

FlowState Lab 日志分析与性能调优实战

FlowState Lab 日志分析与性能调优实战 1. 为什么需要关注模型服务性能 当你把FlowState Lab模型部署上线后&#xff0c;可能会遇到这样的情况&#xff1a;请求量一大&#xff0c;响应就开始变慢&#xff0c;甚至出现超时。这时候就需要关注服务的性能表现。性能调优不是玄学…...

告别GitHub下载卡顿:手把手教你配置Electron国内镜像(npmrc文件详解)

告别Electron下载困境&#xff1a;深度解析.npmrc配置与国内镜像实战指南 每次执行npm install electron时&#xff0c;看着进度条卡在node install.js阶段一动不动&#xff0c;或是突然蹦出RequestError: connect ETIMEDOUT的红色报错——这种体验对于国内开发者来说再熟悉不过…...

Pixel Aurora Engine实战应用:像素游戏道具图标(武器/药水/装备)批量生成

Pixel Aurora Engine实战应用&#xff1a;像素游戏道具图标&#xff08;武器/药水/装备&#xff09;批量生成 1. 像素游戏道具生成的痛点与解决方案 独立游戏开发者经常面临一个共同挑战&#xff1a;如何高效制作大量风格统一的像素艺术道具图标。传统手工绘制方式存在三个主…...

PyTorch 2.8镜像实操手册:Git+vim+htop+screen开发运维一体化工作流

PyTorch 2.8镜像实操手册&#xff1a;Gitvimhtopscreen开发运维一体化工作流 1. 镜像概述与环境准备 PyTorch 2.8深度学习镜像是一个为专业开发者打造的全功能工作环境&#xff0c;基于RTX 4090D 24GB显卡和CUDA 12.4进行了深度优化。这个镜像不仅预装了最新版的PyTorch框架&…...

seo 站群的优缺点是什么

SEO 站群的优缺点解析 在现代的互联网营销中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;站群是一个重要的概念。SEO 站群是指由多个主题相关的网站组成的集合&#xff0c;这些网站通过某种联系形式运作在一起&#xff0c;以提升整体的搜索引擎排名和流量。虽然 SEO …...

告别PX4,试试APM!用ArduPilot+Gazebo搭建你的第一个无人机仿真环境(附QGC地面站连接)

从PX4到APM&#xff1a;ArduPilot无人机仿真环境全攻略 如果你已经熟悉PX4生态&#xff0c;却对ArduPilot&#xff08;APM&#xff09;固件在仿真领域的表现充满好奇&#xff0c;这篇文章将为你打开一扇新的大门。不同于市面上大量聚焦PX4的教程&#xff0c;我们将深入探讨APM在…...

松下Panasonic伺服调试软件 适配MINAS-A/A3/A4/B/E/S及MDDA/MH...

松下Panasonic 伺服调试 软件 支持MINAS-A A3 A4 B E S 英文版 MDDA、MHDA、MSMA、MSDA、MDMA、可以修改参数、JOG点动调试、参数拷贝、复制等 松下 伺服 软件刚拿到台新拆箱的MHDA-MA3A1A伺服驱动器&#xff1f;或者翻出实验室积灰好几年的MSMA电机搭MDDA A1板子练手&#xff…...

Wan 3D Causal VAE:一篇讲清视觉 token、时间压缩、3D Causal 卷积

从 Emu3.5、Show-o2、Show-o、Chameleon,到 Wan 3D Causal VAE:一篇讲清视觉 token、时间压缩、3D Causal 卷积和数据量估算的入门分析 0. 先说这篇文章要解决什么问题 这篇文章想回答 6 个问题: Emu3.5、Show-o2、Show-o、Chameleon 这几类 UMM,到底是怎么表示图像和视频…...