2016-07-05 4 views
0
내 코드에서 무엇을 가지고

:Browsermob 프록시가 셀렌 그리드에서 작동하게 만드는 방법은 무엇입니까? [자바]

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

또는 당신이 시도하고 로컬 프록시를 노출 (하지만 그것에 할당 된 실제 주소로 필요합니다) 수있는 외부 : REST API를 섹션에 설명 된대로 간단한 GET/POST가/PUT 요청을 사용하여 원격 인스턴스를 관리 할 수 ​​있습니다 일어날 일을 보아라.

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); 
관련 문제