BrowserMob מתעד רק תעבורה שעוברת בפועל דרך ה-listener שלו. הפעלת ה-proxy לצד דפדפן Selenium אינה מציבה את הדפדפן הזה בנתיב.

עבור ה-API המוטמע 2.1.5 המתועד של BrowserMob, הגדרת 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 בונה את הגדרת ה-proxy של Selenium מה-listener הזה. הלכידה מתחילה לפני הניווט ונאספת בזמן שה-proxy עדיין זמין.

הקטע מניח שסוגי BrowserMob, HAR ו-Selenium של הפרויקט כבר זמינים. לכידה מפורטת של גוף בקשה או תגובה היא בחירה נוספת של CaptureType. יירוט HTTPS צריך גם את סידור אמון האישור המיועד שלו.

עבור דפדפן Grid מרוחק, הכריזו על כתובת שנגישה מהמכונה של אותו דפדפן. כתובת loopback במריץ הבדיקות מצביעה שם על ה-loopback של מכונה אחרת.

זה לוכד את נתיב ה-HTTP המוגדר של הדפדפן. הוא אינו קובע כלל מערכת הפעלה שחוסם כל חיבור יוצא אחר.

מאמרים קשורים