Selenium 탐색 전에 BrowserMob HAR 캡처 시작하기
BrowserMob을 브라우저 경로에 두고, 탐색 전에 HAR 캡처를 시작하며, 프록시를 멈추기 전에 캡처를 가져옵니다.
BrowserMob은 실제로 자신의 리스너를 통과한 트래픽만 기록합니다. Selenium 브라우저 옆에서 프록시를 시작한다고 해서 그 브라우저가 경로에 놓이는 것은 아닙니다.
BrowserMob이 문서화한 2.1.5 내장 API에서는 기존 Java Selenium 구성이 다음 순서를 쓸 수 있습니다.
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();
}포트 0은 사용 가능한 포트를 요청합니다. ClientUtil은 그 리스너에서 Selenium 프록시 설정을 만듭니다. 캡처는 탐색 전에 시작되고 프록시가 아직 사용 가능할 때 가져옵니다.
이 단편은 프로젝트의 BrowserMob, HAR, Selenium 타입이 이미 사용 가능하다고 가정합니다. 요청 또는 응답 본문의 세부 캡처는 추가적인 CaptureType 선택입니다. HTTPS 가로채기에는 의도한 인증서 신뢰 구성도 필요합니다.
원격 Grid 브라우저의 경우 그 브라우저의 머신에서 도달할 수 있는 주소를 알려야 합니다. 테스트 러너의 loopback 주소는 거기서 다른 머신의 loopback을 가리킵니다.
이것은 구성된 브라우저 HTTP 경로를 캡처합니다. 다른 모든 아웃바운드 연결을 막는 운영체제 규칙을 세우지는 않습니다.