I have been trying to pass BrowserMob proxy to Sauce Labs with no luck.
Here's what I have tried:
Start proxy server
sh browsermob-proxy -port 9090
Start proxy
curl -X POST http://localhost:9090/proxy
{"port":9091}
Start sauce connect, and pass proxy server information
java -jar Sauce-Connect.jar myname xxxxxx -p localhost:9091
Run Java Client
ProxyServer proxyServer = new ProxyServer(9091);
proxyServer.start();
Proxy proxy = proxyServer.seleniumProxy();
DesiredCapabilities capabillities = DesiredCapabilities.firefox();
capabillities.setCapability(CapabilityType.PROXY, proxy);
capabillities.setCapability("version", "5");
capabillities.setCapability("platform", Platform.XP);
this.driver = new RemoteWebDriver(
new URL("http://myname:[email protected]:80/wd/hub"),
capabillities);
The following post provides a general guide line regarding how to make it work, but I keep getting "The proxy server is refusing connections" error.
I figured out the answer.
Start Sauce Connect, and pass proxy server information
java -jar Sauce-Connect.jar myname xxxxxx -p localhost:9091
Running the above command will pass all requests to localhost 9091 port, and you may use netcat
to confirm.
nc -l 9091
Run Java Client
ProxyServer proxyServer = new ProxyServer(9091);
proxyServer.start();
Proxy proxy = proxyServer.seleniumProxy();
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
// DO NOT set proxy for RemoteWebDriver
// capabilities.setCapability(CapabilityType.PROXY, proxy);
capabilities.setCapability("version", "5");
capabilities.setCapability("platform", Platform.XP);
this.driver = new RemoteWebDriver(
new URL("http://myname:[email protected]:80/wd/hub"),
capabillities);
The Java Client should starts a proxy at Port 9091. Unlike using FirefoxDriver
directly, proxy should not be set in capabilities.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With