我想从我的 Java 应用程序更改 selenium 服务器的代理。当我以常见方式设置代理时,Selenium 服务器不使用此设置。
我的意思是,当我启动 selenium 浏览器并访问 IP 检查服务(在 google 中搜索“我的 ip 是什么”)时,我希望显示代理 IP,而不是我的 IP 地址。
如果您正在使用WebDriver
Selenium 2.0 中的 API,要控制浏览器,您可以将浏览器配置为使用代理,使用org.openqa.selenium.Proxy http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/Proxy.html定义代理的类,以及将其指定为Capability http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/remote/CapabilityType.html#PROXY当开始时WebDriver
实例。这Selenium FAQ 在一个问题中解决了这个问题 http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions#Q:_I_need_to_use_a_proxy._How_do_I_configure_that?:
问:我需要使用代理。我该如何配置呢?
A:代理配置是通过 org.openqa.selenium.Proxy 类完成的
像这样:
Proxy proxy = new Proxy();
proxy.setProxyAutoconfigUrl("http://youdomain/config");
// We use firefox as an example here.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(CapabilityType.PROXY, proxy);
// You could use any webdriver implementation here
WebDriver driver = new FirefoxDriver(capabilities);
如果您使用 Selenium RC(Selenium 1;该 API 在 Selenium 2 中可用以实现向后兼容性),那么您将需要配置 Selenium Server 以使用代理。这是因为 Selenium Server 本身被配置为浏览器的代理,因此 Selenium Server 必须通过代理将 HTTP 请求转发到 Web 应用程序。代理详细信息可以提供为Selenium Server 的 JVM 启动标志,如 Selenium 文档中所述 http://seleniumhq.org/docs/05_selenium_rc.html#proxy-configuration:
代理配置
如果您的 AUT 位于需要身份验证的 HTTP 代理后面
你应该配置http.proxyHost,http.proxyPort,http.proxyUser
和 http.proxyPassword 使用以下命令。
$ java -jar selenium-server-standalone-<version-number>.jar -Dhttp.proxyHost=proxy.com -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)