【发布时间】:2012-07-19 12:08:53
【问题描述】:
我在为 Selenium 使用的 Firefox 设置代理时遇到问题。 firefox 安装是默认的(v 14.0.1,%programfiles%/mozilla firefox/)。 我使用默认配置文件启动了 firefox 并设置了代理(我不需要代理或手动代理,但有一个例外)。要测试的站点是可访问的。 (使用默认代理设置无法访问该站点)
我启动了默认的 selenium 节点
java -jar selenium-server-standalone-2.24.1.jar -role node -hub http://localhost:4444/grid/register
如果我开始 selenium 测试 ff 打开,输入 url 但现在我得到代理错误。如果我中断测试并检查设置:代理恢复默认。在“about:config”中,我可以看到并非所有设置都是默认设置,似乎 WebDriver 已经设置了一些东西(更新关闭等)。
所以我的下一个方法是设置节点:
-firefoxProfileTemplate <my default profile folder>
但没有成功 - 似乎 selenium 完全忽略了。设置不同的配置文件也不起作用。
那么如何让firefox使用我的特殊代理设置? (我也尝试过不使用网格,使用本地 firefox 运行测试 - 同样的问题)
借助here 的技巧,我可以看到活动配置文件:“anonymous3433195750899294958webdriver-profile” 可以让webdriver不使用这个吗?
更新:似乎唯一可行的方法是在 java 中设置代理:
DesiredCapabilities FF = DesiredCapabilities.firefox();
Proxy proxy = new Proxy();
proxy.setProxyType(ProxyType.DIRECT);
FF.setCapability(CapabilityType.PROXY, proxy);
但是从长远来看,这种硬编码的解决方案是没有选择的,我需要独立于环境的代码,除此之外我想知道发生了什么。
【问题讨论】: