witam,
Mam za zadanie przechwycić ruch w sieci z przeglądarki Chrome. Używam do tego frameworka Webdriver i programu BrowserMob.
Mój kod wygląda tak:
using (IWebDriver driver = new ChromeDriver())
{
var server = new Server(@"C:\Users\Barp\Downloads\browsermob-proxy-2.1.4-bin\browsermob-proxy-2.1.4\bin\browsermob-proxy.bat");
server.Start();
Thread.Sleep(1000);
Client client = server.CreateProxy();
client.NewHar("google");
var chromeOptions = new ChromeOptions();
var seleniumProxy = new Proxy1 { HttpProxy = client.SeleniumProxy };
chromeOptions.Proxy = seleniumProxy;
Thread.Sleep(1500);
var dr = new ChromeDriver(chromeOptions);
dr.Navigate().GoToUrl("http://www.google.co.uk");
var harData = client.GetHar();
HarResult harDat = client.GetHar();
WebdriverTestGUI2.BrowserMob.Log log = harDat.Log;
WebdriverTestGUI2.BrowserMob.Entry[] entries = log.Entries;
foreach (var entry in entries)
{
WebdriverTestGUI2.BrowserMob.Request request = entry.Request;
var url = request.Url;
var time = entry.Time;
Console.WriteLine("Url: " + url + " - Time: " + time);
}
driver.Quit();
client.Close();
server.Stop()
}
}
Niestety w cmd otrzymuje błedy o następującej treści:
-Error FileManager (bmp.log) java.io.FileNotFound Exception bmp.log (Access is denied)
-Error Unable to inject fields into builder class for plugin type class org.apache.logging.log4j.core unable to create manager for bmp.log
-Error unable to invoke factory method in class class org.apache.logging.log4j.core.appender.FileAppender for element file java.lang.IllegalStateException: No factory method found
-Error NULL object return for file in appenders
-Error unable to locate appender "file " for logger config.
Czy ktoś wie gdzie jest błąd w kodzie lub może trzeba zedytować jakiś plik BrowserMob.