1

我在为 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>

但没有成功 - 似乎硒完全忽略了。设置不同的配置文件也不起作用。

那么如何让firefox使用我的特殊代理设置呢?(我也试过没有网格,用本地火狐运行测试 - 同样的问题)

通过这里的技巧,我可以看到活动配置文件:“anonymous3433195750899294958webdriver-profile”可以让 webdriver 不使用它吗?

更新:似乎唯一可行的方法是在 java 中设置代理:

DesiredCapabilities FF = DesiredCapabilities.firefox();
Proxy proxy = new Proxy();
proxy.setProxyType(ProxyType.DIRECT);
FF.setCapability(CapabilityType.PROXY, proxy);

但是从长远来看,这种硬​​编码的解决方案是没有选择的,我需要独立于环境的代码,除此之外我想知道发生了什么。

4

1 回答 1

5

您可以为每个 Selenium 网格 2 节点分配一个特定的 firefox 配置文件,只需设置 webdriver.firefox.profile属性:

java -jar selenium-server-standalone-2.37.0.jar -Dwebdriver.firefox.profile=my-profile -role node -hub http://mydomain.com:4444/grid/register

  • webdriver.firefox.profile 的值必须是 firefox 配置文件名称,而不是位置或文件夹名称

http://automatictester.wordpress.com/2013/04/07/selenium-running-custom-firefox-profile/

于 2013-11-21T14:07:18.453 回答