0

HAR ファイルと Javascript の実行をキャプチャするために、BrowserMob Proxy (browsermob-proxy-2.0-beta-9) と共にヘッドレス ブラウザーのテストに PhantomJS (com.codeborne:phantomjsdriver:1.2.1) を使用しようとしています。

https(例:https://www.google.com)のURLで機能し、HARを取得します。
ただし、http (例: http://www.google.com ) の場合、BrowserMob ログに次のエラーが表示されます。

INFO 02/02 22:45:03 n.l.b.p.j.h.HttpSer~ - Version Jetty/5.1.x
INFO 02/02 22:45:03 n.l.b.p.j.u.Contain~ - Started HttpContext[/,/]
...
INFO 02/02 22:46:29 n.l.b.p.h.BrowserMo~ - java.net.UnknownHostException: www.google.com when requesting http://www.google.com/
INFO 02/02 22:46:54 n.l.b.p.j.u.Threade~ - Stopping Acceptor ServerSocket[addr=/0.0.0.0,localport=13000]
...

以下は、PhantomJSのセットアップ方法です

public RemoteWebDriver getDriverInstance() {
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setJavascriptEnabled(true);

    //code to get Proxy is below
    capabilities.setCapability(CapabilityType.PROXY, getProxyObject()); 

    capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "./bin/phantomjs");
    capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, new String[] {"--web-security=no", "--ssl-protocol=any", "--ignore-ssl-errors=yes"});

    WebDriver webDriver = new PhantomJSDriver(capabilities);
    return (RemoteWebDriver) webDriver;
}

public Proxy getProxyObject() {
    Proxy proxy = new Proxy();

    //publicIp is localhost for testing purposes.
    String proxyLocation = this.getPublicIp() + ":" + this.getBrowserMobProxyPort();

    proxy.setHttpProxy(proxyLocation);
    proxy.setFtpProxy(proxyLocation);
    proxy.setSslProxy(proxyLocation);
    return proxy;
}

まだ解決策を探しています。
BrowserMob からこのようなメッセージが表示されるのは正常ですか?

私は、おそらく何かを正しくセットアップしていないか、一部を見逃しています。この問題に直面したことがある人がいて、私を助けてくれたり、解決策を教えてくれたりしたら、素晴らしいことです。いくつかの検索を行いましたが、これを解決する解決策が見つかりませんでした。

また、追加情報が必要な場合はお知らせください。

4

1 に答える 1