Katalon Studio v11.1.3基础认证弹窗录制及脚本处理求助
解决Katalon Studio中基础认证弹窗无法自动登录的问题
你用WebUI.authenticate()没效果,主要是现代浏览器对基础认证的安全限制,或者该方法兼容性不足,试试下面几个方案:
- 直接在URL中嵌入认证信息
这是最简便的方法,基础认证支持把用户名密码直接拼在URL里:
WebUI.openBrowser('https://' + GlobalVariable.username + ':' + GlobalVariable.password + '@XXXXXXX.htm')
注意Chrome 80+默认禁用了这种格式,需要给浏览器加启动参数:
在Katalon的「项目设置」→「Desired Capabilities」→「Web UI」→「Chrome」中,添加参数:
名称:
args值:
--disable-features=OutOfBlinkCors用JavaScript注入绕过弹窗
通过JS发起带认证的请求,直接加载页面内容,跳过浏览器弹窗:
WebUI.openBrowser('https://XXXXXXX.htm') WebUI.executeJavaScript(""" var xhr = new XMLHttpRequest(); xhr.open('GET', window.location.href, false, '${GlobalVariable.username}', '${GlobalVariable.password}'); xhr.send(null); if (xhr.status === 200) { document.write(xhr.responseText); document.close(); } """, [])
- 借助AutoIT脚本处理(仅Windows)
如果前两种方法都失效,用AutoIT编写小脚本模拟键盘输入:
- 写AutoIT脚本(保存为
AuthPopup.au3):
WinWaitActive("Authentication Required") Send("你的用户名{TAB}") Send("你的密码{ENTER}")
- 编译成
AuthPopup.exe,放到Katalon项目的Drivers文件夹 - 在Katalon脚本里调用:
WebUI.openBrowser('https://XXXXXXX.htm') Runtime.getRuntime().exec('Drivers/AuthPopup.exe')
(建议把用户名密码换成全局变量,避免硬编码)
内容的提问来源于stack exchange,提问作者Meera
相关产品推荐
相关产品推荐

