Ketika proses pengujian C# membutuhkan proxy penerus untuk menjangkau layanan Selenium jarak jauh, lampirkan System.Net.WebProxy ke eksekutor perintah HTTP-nya:

using System;
using System.Net;
using OpenQA.Selenium.Remote;

var commandProxy = new WebProxy("http://proxy.example:8080")
{
    Credentials = proxyCredentials
};
var executor = new HttpCommandExecutor(
    remoteWebDriverUri, TimeSpan.FromSeconds(60))
{
    Proxy = commandProxy
};

using var driver = new RemoteWebDriver(
    executor, browserOptions.ToCapabilities());

proxyCredentials adalah akun proxy yang dimaksud, remoteWebDriverUri adalah URI layanan jarak jauh yang dikonfigurasi, dan browserOptions berisi kemampuan browser serta penyedia yang ada. Hapus Credentials ketika perantara tidak memerlukan autentikasi. Dalam kasus itu, daftar proxy HTTP menyediakan kandidat jika layanan WebDriver jarak jauh bersifat publik dan akses melalui proxy publik diizinkan.

Setel properti eksekutor sebelum membuat RemoteWebDriver. Membuat driver memulai pertukaran sesi jarak jauh; eksekutor membuat klien HTTP yang mendasarinya saat pertama kali dibutuhkan. Perubahan properti setelahnya bukan cara yang andal untuk mengganti handler yang sudah digunakan klien tersebut.

Rute ini membawa perintah WebDriver dari runner ke layanan jarak jauh. Lalu lintas situs web browser itu sendiri adalah koneksi terpisah. Jika itu juga membutuhkan proxy, konfigurasikan melalui kemampuan browser menggunakan titik akhir yang dapat dijangkau dari mesin browser.

Kredensial proxy mengautentikasi ke perantara. Kredensial layanan jarak jauh tetap berada dalam konfigurasi login atau kemampuan yang didukung penyedia.

Artikel terkait