Robot Framework无头模式无法使用CA证书,如何与正常模式表现一致?
解决Service Now无头Chrome模式需手动登录的问题
问题原因
Chrome无头模式默认会启动全新的无用户配置浏览器实例,不会加载本地已安装的CA证书和保存的登录会话;而非无头模式使用默认用户配置文件,因此能自动完成登录。
解决方案
通过指定Chrome的用户配置文件路径,让无头模式复用本地用户配置,即可和非无头模式保持一致的登录状态。
具体实现步骤
找到Chrome用户配置文件路径
- Windows示例:
C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data - macOS示例:
/Users/<你的用户名>/Library/Application Support/Google/Chrome - Linux示例:
/home/<你的用户名>/.config/google-chrome
- Windows示例:
修改Robot Framework测试用例
在Open Browser关键字中添加Chrome选项,指定用户配置文件路径:
*** Settings *** Library SeleniumLibrary *** Test Cases *** Chrome Headless with Profile ${chrome_options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys Call Method ${chrome_options} add_argument --user-data-dir=<你的用户配置文件目录路径> Call Method ${chrome_options} add_argument --headless=new Call Method ${chrome_options} add_argument --disable-gpu Open Browser service-now-url chrome options=${chrome_options} Capture Page Screenshot Close Browser
注意事项
- 替换路径时不要包含最后的
Default文件夹,只需指向其上级目录(如Windows的User Data)。 - 运行测试前请关闭所有Chrome窗口,避免配置文件被占用。
- 确保测试进程有访问该配置文件目录的权限。
内容的提问来源于stack exchange,提问作者user3527785
相关产品推荐
相关产品推荐

