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

posted @ 2022-05-16 16:05  永远抱着学徒的心  阅读(498)  评论(0编辑  收藏  举报