UFT自动启动Chrome后识别为WinObject的问题如何修复
UFT自动启动Chrome被识别为WinObject问题排查修复方案
该问题核心触发原因是UFT自动拉起Chrome进程时,内置的Web测试支持扩展未完成注入/加载,UFT无法获取浏览器DOM层对象信息,只能识别为顶层通用窗口对象WinObject;手动启动Chrome时扩展随浏览器正常初始化挂载,因此可以正常识别为Browser对象,可按以下顺序排查修复:
- 校验UFT Chrome扩展权限配置
打开Chrome扩展管理页chrome://extensions/,找到Micro Focus UFT Agent扩展,确认扩展处于启用状态,同时手动开启「允许在无痕模式下运行」「允许访问文件网址」两个权限,权限缺失会导致扩展在UFT拉起进程的场景下被系统拦截加载。 - 修正Chrome启动调用逻辑
不要使用带扩展屏蔽参数的命令启动Chrome,禁止在启动参数里添加--disable-extensions、--no-extensions这类会直接阻止扩展加载的参数;优先使用UFT内置的浏览器拉起方法,不要直接调用Win32进程启动接口硬拉Chrome进程,参考启动代码:' 推荐写法:指定浏览器类型拉起,UFT会自动完成扩展注入等待 SystemUtil.Run "chrome", "https://测试目标地址", , , 3 ' 备用写法:通过Browser对象触发启动 Dim brw Set brw = Browser("creationtime:=0") brw.Launch "chrome" brw.Navigate "https://测试目标地址" - 调整浏览器启动超时等待配置
打开UFT菜单依次进入「工具→选项→GUI测试→Web→高级」,找到「浏览器启动超时」配置项,默认配置通常为10秒,机器性能较差、Chrome冷启动加载插件耗时较长的场景下,将该值调整为20~30秒,给UFT Agent留足注入完成的时间,避免UFT在扩展未就绪时提前抓取对象。 - 排查系统/域策略对扩展的拦截
按Win+R输入gpedit.msc打开本地组策略编辑器,依次展开「计算机配置→管理模板→Google→Google Chrome→扩展程序」,确认没有开启「阻止所有扩展安装」策略,同时在「配置扩展安装白名单」中添加UFT Agent对应的扩展ID;如果是公司域管控设备,先确认域策略没有在进程拉起场景下强制禁用第三方扩展。 - 修复损坏的Chrome用户配置
先结束所有Chrome后台进程,打开资源管理器地址栏输入%LOCALAPPDATA%\Google\Chrome\User Data\回车,将Default文件夹重命名为Default_bak,重新通过UFT自动启动Chrome,让浏览器生成全新的干净配置文件后重新启用UFT Agent扩展,即可解决旧配置损坏导致的自动启动时扩展加载失败问题。 - 校验UFT与Chrome版本兼容性
确认当前安装的UFT版本支持已安装的Chrome大版本,例如UFT 15.0.1最高仅支持Chrome 108版本,若本地Chrome版本过高,会出现扩展注入失败的问题,该场景下要么升级UFT到匹配新版本Chrome的补丁版本,要么降级Chrome到UFT官方兼容列表内的版本。
快速验证技巧:UFT自动启动Chrome后如果初始识别为WinObject,等待3~5秒后调用
RefreshObject方法刷新对象,若刷新后可正常识别为Browser对象,即可确定根因为启动等待时长不足。
内容的提问来源于stack exchange,提问作者Jaime Garay
相关产品推荐
相关产品推荐

