【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 插件的作用域冲突。
相关推荐
网安蟹佬霸1 小时前
WAF绕过技术实战:从规则检测到编码绕过全指南(2026最新版,附Payload集与自动化脚本)
运维·安全·网络安全·架构·自动化·网安
Oll Correct1 小时前
Adobe illustrator 案例九:百宝箱图标绘制
笔记·ui·adobe·illustrator
小杨不想秃头1 小时前
信息安全工程师教程第二章密码学
运维·服务器·密码学
I'mChloe1 小时前
WGCLOUD怎么监控多台服务器?从Server、Agent 部署到监控面板实战
运维·服务器
Android系统攻城狮2 小时前
Linux PipeWire深度解析之pw_init调用流程与实战(八十三)
linux·运维·服务器·音频进阶·pipewire音频进阶
国科安芯2 小时前
轨道供电韧性:ASP4644四通道降压架构在低轨卫星平台电源管理中的适用性分析
运维·网络·数据库·嵌入式硬件·架构·状态模式·低轨卫星星座
Python自动化直播3 小时前
周末测试直播自动化时,发现一个棘手的并发问题
运维·自动化
zbyyd3 小时前
Linux 进程管理详解:从概念到实战
linux·运维·服务器
画中有画4 小时前
自动化脚本中系统事件和回调函数
运维·自动化