BrowserMob chỉ ghi lại lưu lượng thực sự đi qua listener của nó. Khởi động proxy bên cạnh trình duyệt Selenium không đặt trình duyệt đó vào tuyến.

Với API nhúng 2.1.5 được BrowserMob ghi tài liệu, một thiết lập Java Selenium hiện có có thể dùng thứ tự này:

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();
}

Cổng 0 yêu cầu một cổng trống. ClientUtil dựng thiết lập proxy Selenium từ listener đó. Bản ghi bắt đầu trước khi điều hướng và được lấy khi proxy vẫn còn khả dụng.

Đoạn này giả định các kiểu BrowserMob, HAR và Selenium của dự án đã có sẵn. Việc ghi chi tiết phần thân yêu cầu hoặc phản hồi là một lựa chọn CaptureType bổ sung. Việc chặn HTTPS cũng cần cách bố trí tin cậy chứng chỉ dự định của nó.

Với trình duyệt Grid từ xa, hãy công bố địa chỉ có thể truy cập từ máy của trình duyệt đó. Địa chỉ loopback trên trình chạy kiểm thử chỉ ra loopback của máy khác ở đó.

Việc này ghi lại tuyến HTTP đã cấu hình của trình duyệt. Nó không thiết lập quy tắc hệ điều hành chặn mọi kết nối ra khác.

Bài viết liên quan