如何在UFT One 2021中处理Chrome身份验证登录弹窗?
解决UFT One 2021中Chrome身份验证弹窗拦截的方案
针对Chrome浏览器的原生身份验证弹窗(非网页自定义弹窗),可以尝试以下几种可行方案:
1. URL嵌入凭证直接登录
将用户名和密码直接拼接在目标URL中,格式如下:
http://用户名:密码@目标网站域名
Chrome会自动解析凭证并完成认证,无需手动处理弹窗。注意:部分新版本Chrome会弹出安全提示,且该方式不适用于启用了HTTPS且禁止明文凭证的网站。
2. 利用UFT Desktop对象模拟键盘操作
通过UFT的Desktop对象捕获Chrome的认证弹窗,模拟键盘输入完成登录:
' 等待弹窗加载完成,可根据实际弹窗标题调整参数 Desktop.WaitWindow("Chrome_WidgetWin_1", "身份验证", 10).Activate ' 输入用户名 Desktop.SendKeys "your_username" ' 切换到密码输入框 Desktop.SendKeys "{TAB}" ' 输入密码 Desktop.SendKeys "your_password" ' 提交登录 Desktop.SendKeys "{ENTER}"
注意:Chrome弹窗的窗口标题可能因语言环境不同变化(英文环境为"Authentication Required"),需用UFT对象间谍确认准确的窗口属性。
3. 配置Chrome启动参数跳过认证
在UFT的Chrome浏览器配置中添加启动参数,让Chrome自动信任目标服务器并使用系统凭证:
- 打开UFT的"Record and Run Settings"
- 选择Chrome浏览器,点击"Advanced"
- 在"Command line arguments"中添加:
--auth-server-whitelist="*.your-domain.com" --auth-negotiate-delegate-whitelist="*.your-domain.com"
该方案适用于域环境下的Windows凭证自动认证,无需手动输入账号密码。
4. 调整UI Automation插件适配Chrome
若Edge下UI Automation插件可用,可尝试以下步骤让其在Chrome中生效:
- 确保UFT One 2021安装了最新的Chrome扩展和UI Automation插件
- 启用Chrome的UI Automation支持:在Chrome地址栏输入
chrome://flags/#enable-ui-automation,将该选项设置为"Enabled"并重启浏览器 - 使用UI Automation对象捕获弹窗元素,示例代码:
Set uiAuto = CreateObject("Mercury.UIUtil") ' 定位用户名输入框(属性需根据实际弹窗调整) Set userNameElem = uiAuto.FindElement("Type=Edit;AutomationId=UserName", 10) userNameElem.Set "your_username" ' 定位密码输入框 Set passwordElem = uiAuto.FindElement("Type=Edit;AutomationId=Password", 10) passwordElem.Set "your_password" ' 定位登录按钮 Set loginBtn = uiAuto.FindElement("Type=Button;Name=登录", 10) loginBtn.Click
需用UFT的UI Automation Spy工具确认弹窗元素的准确属性。
内容的提问来源于stack exchange,提问作者mrjyyyy
相关产品推荐
相关产品推荐

