BrowserMob-HAR-Aufzeichnung vor der Selenium-Navigation starten
BrowserMob in den Pfad des Browsers bringen, die HAR-Aufzeichnung vor der Navigation starten und die Aufzeichnung abrufen, bevor der Proxy gestoppt wird.
BrowserMob zeichnet nur Datenverkehr auf, der tatsächlich durch seinen Listener läuft. Den Proxy neben einem Selenium-Browser zu starten, bringt diesen Browser nicht auf den Pfad.
Für die dokumentierte eingebettete 2.1.5-API von BrowserMob kann ein bestehendes Java-Selenium-Setup diese Reihenfolge verwenden:
BrowserMobProxy proxy = new BrowserMobProxyServer();
proxy.start(0);
try {
ChromeOptions options = new ChromeOptions();
options.setProxy(ClientUtil.createSeleniumProxy(proxy));
WebDriver driver = new ChromeDriver(options);
try {
proxy.newHar("example-page");
driver.get("http://www.example.com/");
Har capture = proxy.getHar();
capture.writeTo(new java.io.File("page.har"));
} finally {
driver.quit();
}
} finally {
proxy.stop();
}Port 0 fragt nach einem freien Port. ClientUtil baut die Selenium-Proxy-Einstellung aus diesem Listener. Die Aufzeichnung beginnt vor der Navigation und wird abgerufen, solange der Proxy noch verfügbar ist.
Das Fragment setzt voraus, dass die BrowserMob-, HAR- und Selenium-Typen des Projekts bereits verfügbar sind. Die detaillierte Aufzeichnung von Anfrage- oder Antwortkörpern ist eine zusätzliche CaptureType-Wahl. HTTPS-Interception braucht außerdem ihre vorgesehene Zertifikatsvertrauensregelung.
Für einen entfernten Grid-Browser ist eine Adresse anzukündigen, die von der Maschine dieses Browsers erreichbar ist. Eine Loopback-Adresse auf dem Test-Runner benennt dort den Loopback einer anderen Maschine.
Dies zeichnet den konfigurierten HTTP-Pfad des Browsers auf. Es legt keine Betriebssystemregel an, die jede andere ausgehende Verbindung blockiert.