Min*_*gyu 6 java proxy selenium saucelabs browsermob
我一直试图将BrowserMob代理传递给Sauce Labs,但没有运气.
这是我尝试过的:
启动代理服务器
sh browsermob-proxy -port 9090
Run Code Online (Sandbox Code Playgroud)启动代理
curl -X POST http://localhost:9090/proxy
{"port":9091}
Run Code Online (Sandbox Code Playgroud)启动酱连接,并传递代理服务器信息
java -jar Sauce-Connect.jar myname xxxxxx -p localhost:9091
Run Code Online (Sandbox Code Playgroud)运行Java客户端
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:xxxxxx@ondemand.saucelabs.com:80/wd/hub"),
capabillities);
Run Code Online (Sandbox Code Playgroud)在下面的帖子提供了关于如何使它工作的一般指导线,但我不断收到"代理服务器拒绝连接"的错误.
我想出了答案.
启动Sauce Connect,并传递代理服务器信息
java -jar Sauce-Connect.jar myname xxxxxx -p localhost:9091
Run Code Online (Sandbox Code Playgroud)
运行上面的命令会将所有请求传递给localhost 9091端口,您可以使用netcat
确认.
nc -l 9091
Run Code Online (Sandbox Code Playgroud)运行Java客户端
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:xxxxxx@ondemand.saucelabs.com:80/wd/hub"),
capabillities);
Run Code Online (Sandbox Code Playgroud)
Java客户端应在端口9091启动代理.与直接使用FirefoxDriver
不同,不应在功能中设置代理.
归档时间: |
|
查看次数: |
2726 次 |
最近记录: |