背景:
- 我正在使用Selenium WebDriver(C#)进行Web应用程序的自动化测试
- 应用程序需要一些文件(在客户端的后台运行),用户登录后即会自动下载该文件
以前的应用行为:
- 用户登录
- 主页显示在浏览器中
- 在相同的浏览器选项卡中自动开始下载所需文件(当然,chrome会根据用户偏好设置询问要保存文件的位置,或自动保存文件)
我的解决方案:
- 使用 ChromeOptions 设置默认的下载位置,并禁用所有弹出窗口(下载会自动开始,没有弹出窗口,仅保存文件)
新的应用行为:
- 用户登录
- 主页显示在浏览器中
- 会自动开始下载所需文件,但会在“新的chrome”标签中(并根据用户偏好自动保存或chrome询问存储文件的位置)
对于手动用户而言,没有太大区别。
使用新应用程序后,我的自动化解决方案无法正常工作-显示Chrome的“保存文件”弹出窗口。据我了解,因为下载是在新标签页中启动的,该标签页未配置为自动保存文件(新标签页不知道chromeOptions,因为实际上它是浏览器的新实例)。
我的理解正确吗?我的问题有解决方法吗?也许可以选择将ChromeOptions也传递给新标签页?