解决 UI 自动化定位痛点 ! 我封装了这套Skill

简介: 做UI自动化测试的不少同学可能都有遇到过这种问题:脚本运行极其脆弱,前端稍微调整页面样式、DOM 结构、文案,整套定位代码直接大面积报错,后续维护成本翻倍。 目前稳定的元素定位优先级里, data-testid 是大家比较认可的,它和样式、页面结构解耦,只要标识不变,无论前端怎么重构页面,自动化脚本都无需改动,是保障用例长期稳定运行的最优解。 元素定位稳定的优先级如下: 理论上我们只需要让前端在交互元素上统一补充 data-testid 就能解决问题,但实际情况总是不理想: 1. 前端开发日常业务排期紧张,额外增加埋点属性会占用开发时间,普遍抵触; 2. 团队缺少统一规范,手动新增容易出现命名

做UI自动化测试的不少同学可能都有遇到过这种问题:脚本运行极其脆弱,前端稍微调整页面样式、DOM 结构、文案,整套定位代码直接大面积报错,后续维护成本翻倍。

目前稳定的元素定位优先级里,data-testid是大家比较认可的,它和样式、页面结构解耦,只要标识不变,无论前端怎么重构页面,自动化脚本都无需改动,是保障用例长期稳定运行的最优解。

元素定位稳定的优先级如下:

理论上我们只需要让前端在交互元素上统一补充data-testid就能解决问题,但实际情况总是不理想:

1. 前端开发日常业务排期紧张,额外增加埋点属性会占用开发时间,普遍抵触;

2. 团队缺少统一规范,手动新增容易出现命名混乱、重复 id;

3. 存量老项目页面量大,逐行手动添加工作量巨大,很难推进落地。

很多测试只能退而求其次使用 CSS、XPath 定位,最终陷入 “前端改页面→脚本批量崩→反复修改定位器” 的恶性循环。

针对这个痛点,我封装了一套自动化 Skill,能够扫描前端代码,生成清单,然后添加 data-testid,可以将该 skill 提供给前端,或者我们自己拿到代码去操作。

###

实战案例

1、拉取前端项目

让前端负责同学提供项目地址,以及开通权限,之后使用git clone 拉取项目

如:

git clone xxx

2、skill 导入

打开前端项目,将 skill 安装在前端项目中

这套 Skill 核心能力

1. 自动扫描前端项目所有交互组件(按钮、输入框、弹窗、自定义组件等);

2. 按照统一命名规则批量生成唯一data-testid,自动写入代码,不会覆盖已存在的测试标识;

3. 输出全页面元素清单,记录组件位置、生成的 testid,方便后续自动化脚本编写;

4. 适配 React、Vue 主流前端框架,存量项目、新项目均可直接使用。

3、执行 skill

输入下面的 skill

4、模块选择

执行 skill 之后,AI 会先进行代码的扫描,判断前端有什么模块,之后让你选择需要生成 data-testid 的模块

我这里先以一个模块作为案例,如:公寓管理、房间管理

在确认好模块之后,会输出两个 md 文件,分别是公寓管理和房间管理的 testid 清单

5、清单确认

md 中的内容如下,有涉及了哪些界面、路由,以及元素清单

我们需要重点关注的是元素清单,检查一下表中列出的元素是否都进行覆盖了,还有可以testid 的命名是否满足要求

在文档中还会有一些待确认的问题,可以进行回答

6、修改代码

在元素清单确认没问题之后,在对话框中输入“确认”

这个时候,AI 就会直接修改代码了

当然,这里我们修改之后,如果不确认或者担心会出现产生 bug,则可以提交代码让前端的同学进行确认,或者直接将这个 skill 提供给前端的同学进行执行也是可以的

7、效果演示

在添加完 data-testid 之后,相关的元素则会显示这个属性

后续这个属性就可以在 UI 自动化中被捕获和使用,例如

这个是我使用 playwright cli+playwright test skill 生成的 page object 代码,它获取到了 data-testid,之后在执行的时候,就能够比较稳定的找到相应的元素了

小结

这套 Skill 用于解决 UI 自动化最常见的元素不稳定痛点,一次性批量处理全项目页面,省去人工逐行添加的重复工作,从根源减少自动化脚本因页面重构失效,大幅降低长期维护成本。经常被元素定位不稳定困扰的测试同学可以去试试看。

以上是今天分享的内容,文中提到的Skill包,以及更多AI赋能测试的实战教程(含环境配置、Skill包、实操案例及排坑说明),已整理在知识星球,跟着步骤操作就可以上手,学习过程中有问题也可以提问。感兴趣的小伙伴可以了解一下哦~

目录
相关文章
|
云安全 安全 网络安全
|
5天前
|
JavaScript 安全 前端开发
Nodejs Brotli decoder 代码执行漏洞 (CVE-2026-111497)10629
Node.js发布安全更新修复Brotli解码器高危RCE漏洞(CVE-2026-111497),建议受影响版本用户立即升级。
1911 1
|
11天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
1845 38
|
8天前
|
Web App开发 人工智能 前端开发
2026 年 AI 浏览器怎么选?Ego Lite、Tabbit、Chrome DevTools MCP 深度对比,开发者到底该用哪个?
2026年AI浏览器选型指南:Ego Lite专注多Agent协同(Mac优先),Tabbit国产首选,原生支持Windows与Codex控制;Chrome DevTools MCP非浏览器而是开发者利器,深度集成Console/Network/Performance调试能力,让AI真正“看懂并验证”前端代码。
1195 3
|
5天前
|
安全 应用服务中间件 Go
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
PHP2Shell 双 RCE 已遭在野利用:WordPress、Drupal 全在射程内,nginx 其实另有洞。拆成因与修复顺序
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
|
12天前
|
JSON 程序员 数据格式
最新版Notepad++下载、安装、配置保姆级教程(附官网安装包)
Notepad++ 是一款免费开源、轻量快速的 Windows 文本编辑器,支持多标签、语法高亮、代码折叠与宏录制,体积小、启动快、资源占用低,兼容 x64/x32/ARM 架构,是程序员和文字工作者的高效利器。
1743 0
|
12天前
|
安全 Linux 芯片
【万字长文】Ollama下载、安装、配置、使用保姆级教程(2026最新图解)
Ollama 是一款免费开源的本地大模型运行工具,支持 DeepSeek、Qwen 等主流模型,一条命令即可下载运行。2026 最新版 v0.35.1 官方安装包(1.47GB)已提供国内直连下载,纯本地、离线可用、无广告、无隐私泄露风险。
1139 2
|
16天前
|
存储 人工智能 安全
千问办公官网入口网页版登录:qwenwork.cn 注册送2000积分、登录送100积分
阿里云千问办公(QwenWork)是AI智能工作平台,支持一句话生成PPT、表格、网页、视频及数据分析。个人免费版送2000积分+每日登录赠100分,含1GB存储、5个发布页;企业版198元/席/月起。阿里千问办公QwenWork官网:https://t.aliyun.com/U/0VCTGt 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
|
4天前
|
安全 程序员 应用服务中间件
PHP 被曝两大致命漏洞,请所有程序员抓紧做这件事!
PHP 官方发布了紧急安全更新,一口气修复了两个严重漏洞。如果网站和服务器用了 PHP 应该怎么处理?漏洞的原理是什么?本文给你讲清楚
503 0

热门文章

最新文章