Selenide 的 PROXY 下载需要在浏览器启动前配置代理
PROXY 文件下载模式取决于创建浏览器时安装的监听器和过滤器,而不只是下载文件夹。
在第一个浏览器启动之前应用该配置,包括共享测试设置中的任何隐式创建:
Configuration.proxyEnabled = true;
Configuration.fileDownload = FileDownloadMode.PROXY;
Configuration.downloadsFolder = "build/downloads";
open(applicationUrl);
File report = $("#download-report").download();proxyEnabled 会为该浏览器会话启用 Selenide 的内置监听器。之后再修改静态设置,无法把该监听器/下载过滤器加入已有会话。downloadsFolder 只选择文件存储位置。
Configuration.proxyHost/proxyPort 指定的是这个内置端点,而不是任意的企业上游代理。端口设为零时,Selenide 会自行选择一个空闲端口。
在 Grid 上,远程浏览器必须能访问测试机的监听器。它自己的 localhost 指向别处;当自动探测不适用时,请使用浏览器可访问的对外公布主机。
对于普通的 href 链接,默认的 HTTPGET 走另一条下载路径。PROXY 适用于由操作触发的下载,例如没有直接链接的表单提交。