我尝试将BrowserMob Proxy’s
与WebDriver
一起使用。我使用下一个代码:
public static void main(String[] args) throws Exception {
String strFilePath = "";
// start the proxy
ProxyServer server = new ProxyServer(4455);
server.start();
//captures the moouse movements and navigations
server.setCaptureHeaders(true);
server.setCaptureContent(true);
// get the Selenium proxy object
Proxy proxy = server.seleniumProxy();
// configure it as a desired capability
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
// start the browser up
WebDriver driver = new FirefoxDriver(capabilities);
// create a new HAR with the label "apple.com"
server.newHar("assertselenium.com");
// open yahoo.com
driver.get("http://assertselenium.com");
driver.get("http://assertselenium.com/2012/10/30/transformation-from-manual-tester-to-a-selenium-webdriver-automation-specialist/");
// get the HAR data
Har har = server.getHar();
FileOutputStream fos = new FileOutputStream(strFilePath);
har.writeTo(fos);
server.stop();
driver.quit();
}
我收到了下一个错误:The proxy server is refusing connections: Firefox is configured to use a proxy server that is refusing connections.
我还尝试使用端口browsermob-proxy.bat
运行4455
,然后在运行main
时出现下一个错误:
java.net.BindException: Address already in use: JVM_Bind
我如何使用BrowserMob Proxy?
答案 0 :(得分:1)
说明代理的代码似乎是正确的。对于BindException,显而易见的是某些东西已经在使用端口4455.您可以检查它(在Windows机器上,从内存中写入):
netstat -ano | find "4455"
Linux中的使用lsof -i:4455
获取PID并将其删除。
无论如何,对于拒绝连接的代理,请尝试明确设置代理,看看你是否有运气,比如
proxy.setHttpProxy("localhost:4455");
proxy.setSslProxy("localhost:4455");
另外,请确保您使用的是最新版本的FF和BMP。
答案 1 :(得分:0)
java.net.BindException:已在使用的地址:JVM_Bind 您收到此错误,因为在上述端口上已经有一台服务器在运行。可能是您再次运行代码而不停止在第一次启动它时启动的服务器。
答案 2 :(得分:0)
尝试在您的电脑上禁用Internet Explorer代理。