【UI自动化测试】UI自动化报错解决方案

  1. test_all_change_buttons_clickable & test_full_config_flow --- Change 按钮点击失败

根因: force_close_all_overlays() 方法过于激进。它的第二策略(检测半透明背景的全屏 div)误删了整个配置器页面的根节点,导致所有按钮都不可见(body 文本从 4529

字符变为 0)。

修复:

force_close_all_overlays(): 改为更精准的策略 --- 只移除 z-1000 类全屏遮罩,对半透明背景检测增加 position: fixed

前置条件,并加入保护逻辑:若元素包含配置器核心文本(Model Version、Exterior 等)则绝不删除。

click_all_change_buttons(): 从"一次性获取所有按钮后遍历"改为"每次按索引重新查询",避免 DOM 更新后 locator 失效。断言改为接受 "skip" 状态(隐藏的按钮合理跳过)。

  1. 经销商搜索输入框超时

根因: 点击 "Save Build" 后会弹出一个带 z-1000 遮罩的面板,遮挡了经销商搜索输入框。force=True 虽然绕过 Playwright 的遮罩检查,但实际的 CSS 遮罩仍然拦截了鼠标事件。

修复:

search_dealer(): 在点击前先移除 z-1000 全屏遮罩,然后使用精确选择器定位输入框。

  1. base_url fixture 作用域冲突

修复:

  • conftest.py ---base_url fixture 从 function 改为 session 作用域,解决与 pytest-base-url 插件的作用域冲突。
相关推荐
考虑考虑2 小时前
数据库中的EXISTS
运维·数据库·后端
天远数科5 小时前
零信任架构实战:基于天远全能消金报告构建自动化信贷评估网关
运维·人工智能·架构·自动化
海宇AI7 小时前
微服务架构实战:基于海宇对外投资历史查询服务构建自动化合规审计网关
人工智能·微服务·架构·自动化
网硕互联的小客服7 小时前
各个版本的Linux系统如何修改远程端口ssh端口?
linux·运维·服务器·网络
Mr小林9 小时前
Docker 安装教程(在线 + 离线)
运维·docker·容器
JudithHuang10 小时前
把本地服务暴露到公网
运维
yt004yt11 小时前
### 越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
yt004yt11 小时前
越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
晚安日记wanna11 小时前
压测 TPS 卡在 800CPU 只跑四成六步定位法
运维·面试·测试
HwJack2012 小时前
【HarmonyOS开发小实践】ArkUI 应用级状态AppStorage 与跨页面共享、持久化
ui·华为·性能优化·harmonyos