Skrip JavaScript Selenium mengirim perintah WebDriver ke server jarak jauh sebelum peramban server itu dapat menavigasi ke mana pun. Jika koneksi perintah harus melewati proxy HTTP, konfigurasikan proxy WebDriver milik Builder:

const { Builder, Browser } = require("selenium-webdriver");

const driver = await new Builder()
  .forBrowser(Browser.CHROME)
  .usingServer(gridUrl)
  .usingWebDriverProxy("http://proxy.example.net:8080")
  .build();

gridUrl adalah server Selenium sebenarnya atau endpoint WebDriver yang dihosting. Untuk endpoint yang dapat dijangkau publik dan rute itu diizinkan, daftar proxy HTTP menyediakan kandidat untuk usingWebDriverProxy. Jalankan fragmen di dalam fungsi async CommonJS. Hentikan driver saat sesi pengujian berakhir.

usingWebDriverProxy mengendalikan koneksi HTTP dari pengikatan JavaScript. Ia tidak menyetel kemampuan proxy Chrome atau argumen peluncuran Chrome.

Jika lalu lintas peramban juga memerlukan perantara, sediakan opsi Chrome yang dimaksud secara terpisah. Peramban itu berjalan di mesin jarak jauh, jadi endpoint proxy-nya harus dapat dijangkau di sana. Alamat loopback di mesin skrip bukan otomatis layanan loopback yang tersedia bagi peramban jarak jauh.

Tentukan apakah kegagalan terjadi saat membuat sesi WebDriver atau saat menavigasi situs web. Kedua kegagalan itu dapat melibatkan klien jaringan dan kebijakan proxy yang berbeda.

Artikel terkait