Robot Framework+Selenium执行自动化脚本遇认证错误求助
问题描述
- 环境配置:Python 3.11、Selenium 4.9、Robot Framework 6.1、robotframework-pythonlibcore 4.2.0、robotframework-seleniumlibrary 6.1.0,IDE为PyCharm
- 异常现象:此前脚本运行正常,近期执行时浏览器无法打开,抛出认证错误:
Access Denied (authentication_failed)
Your credentials could not be authenticated: "Credentials are missing."...
- 排查动作:已重装框架最新版本,无效;怀疑是代理导致,需禁用代理的解决方法
- 测试脚本:
*** Test Cases *** LoginTest Open Browser https://www.google.com chrome Sleep 15 *** Keywords ***
解决方法
1. 在Robot Framework脚本中配置Chrome无代理模式
修改Open Browser关键字,通过ChromeOptions强制禁用代理:
*** Test Cases *** LoginTest ${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys # 添加无代理相关参数 Call Method ${options} add_argument --no-proxy-server Call Method ${options} add_argument --proxy-server='direct://' Call Method ${options} add_argument --proxy-bypass-list=* # 使用配置好的options打开浏览器 Open Browser https://www.google.com chrome chrome_options=${options} Sleep 15
2. 临时禁用系统级代理
- Windows:打开「设置」→「网络和Internet」→「代理」,关闭所有自动/手动代理开关
- macOS:打开「系统设置」→「网络」→ 选中当前联网设备 →「代理」,取消所有代理选项的勾选
- Linux:终端执行以下命令临时清空代理环境变量:
unset HTTP_PROXY HTTPS_PROXY FTP_PROXY http_proxy https_proxy ftp_proxy
3. 禁用PyCharm内置代理
打开PyCharm:「File」→「Settings」→「Appearance & Behavior」→「System Settings」→「HTTP Proxy」,选择「No proxy」,点击「Apply」「OK」后重启IDE。
4. 远程节点代理排查(如果使用Selenium Grid)
若脚本连接远程Selenium节点,需确认节点未配置强制代理,或在DesiredCapabilities中明确禁用:
*** Test Cases *** LoginTest ${caps}= Create Dictionary proxy=${None} Open Browser https://www.google.com chrome desired_capabilities=${caps} Sleep 15
内容的提问来源于stack exchange,提问作者Gayathri Yashas
相关产品推荐
相关产品推荐

