Démarrer la capture HAR de BrowserMob avant la navigation Selenium
Placez BrowserMob dans la route du navigateur, lancez la capture HAR avant la navigation et récupérez la capture avant d'arrêter le proxy.
BrowserMob n'enregistre que le trafic qui passe réellement par son listener. Démarrer le proxy à côté d'un navigateur Selenium ne place pas ce navigateur sur la route.
Pour l'API embarquée 2.1.5 documentée de BrowserMob, une configuration Java Selenium existante peut suivre cet ordre :
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();
}Le port 0 demande un port disponible. ClientUtil construit le réglage de proxy Selenium à partir de ce listener. La capture commence avant la navigation et est récupérée tant que le proxy est encore disponible.
L'extrait suppose que les types BrowserMob, HAR et Selenium du projet sont déjà disponibles. La capture détaillée du corps de requête ou de réponse est un choix CaptureType supplémentaire. L'interception HTTPS a aussi besoin de sa disposition prévue de confiance dans le certificat.
Pour un navigateur Grid distant, annoncez une adresse joignable depuis la machine de ce navigateur. Une adresse loopback sur le lanceur de tests y désigne le loopback d'une autre machine.
Ceci capture la route HTTP configurée du navigateur. Cela n'établit pas de règle du système d'exploitation bloquant toute autre connexion sortante.