2016-07-05 77 views
0

我有我的代碼是什麼:Browsermob代理如何使它與硒網格工作? 【JAVA]

public BrowserMobProxy getProxy() throws UnknownHostException { 
    if (proxy == null) { 
     proxy = new BrowserMobProxyServer(); 
     proxy.start(0); 
    } 
    return proxy; 

seleniumProxy = ClientUtil.createSeleniumProxy(getProxy()); 
caps.setCapability(CapabilityType.PROXY, seleniumProxy); 

問題是對當地的優良運行,但對電網運行它(擁有或browserstack)它不工作。有沒有辦法讓它工作 - 在本地運行代理並收聽遠程驅動程序?

我想:

proxy.start(0, InetAddress.getLocalHost()); 

但沒有成功。

回答

0

我已經設法通過使用獨立的browsermob實例並通過REST API連接到它來解決這個問題。 https://github.com/lightbody/browsermob-proxy

OR你可以嘗試暴露你的本地代理(但有必要分配真實地址給它)外部:您可以使用簡單的GET/POST/PUT請求,如REST API部分中描述管理遠程實例並看看會發生什麼。

0

我陷入了同樣的問題。 我用下面的堆棧:

我得到它的下面的代碼工作(我敢大膽的關鍵代碼):

proxy = new BrowserMobProxyServer(); 
    proxy.start(0); 
    Proxy seleniumProxy = null;  
seleniumProxy = ClientUtil.createSeleniumProxy(proxy); 
    String ipAddress = new NetworkUtils().getIp4NonLoopbackAddressOfThisMachine().getHostAddress(); 
    int port = proxy.getPort(); 
    seleniumProxy.setHttpProxy(ipAddress + ":" + port); 
    DesiredCapabilities capability = DesiredCapabilities.chrome(); 
        capability.setCapability(CapabilityType.PROXY, seleniumProxy); 
        driver = new RemoteWebDriver(new URL("your_selnium_hub_ip:4444/wd/hub"), capability);