RobotFramework自动化如何设置浏览器的下载路径
robotframework测试框架开发时,遇到一个问题,需要将浏览器的下载路径配置成我想要的,查询各种资料发现,网上的办法都会在脚本运行时再打开一个窗口去配置,但是这样达不到testcase层被更改的需求,后通过查看源码发现,case脚本和配置下载路径脚本会产生2个driver,这样肯定不会达到我的目的的,所以继续通过查看源码发现解决办法。
1.robotframe自动化框架的整个项目的setup是这么写的
打开chrome浏览器并将浏览器最大化,所以我去看了open browser函数的源码
2.通过阅读源码了解browsermanagement.py文件中open_browser函数入参中有options参数,options是浏览器的配置项并且是按照字典的格式存储的
3.于是我便写了一个python函数将添加配置项到options中
from selenium import webdriver
def set_options(download_path=get_download_path()):
options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups':0,'download.default_directory':download_path}
options.add_experimental_option('prefs',prefs)
return options
4.最后一步,将函数返回的options赋值给${options},并在open browser函数中添加options=${options},这样在打开chrome浏览器的时候会自动变更下载路径
参考资料 chrome浏览器的options参数:https://blog.csdn.net/c26890/article/details/124287952