Kada C# testnom procesu treba naprijed proxy da bi dosegao udaljenu Selenium uslugu, priložite System.Net.WebProxy njegovom izvršitelju HTTP komandi:

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 je predviđeni proxy račun, remoteWebDriverUri je konfigurisani URI udaljene usluge, a browserOptions sadrži postojeće mogućnosti preglednika i pružaoca. Izostavite Credentials kada posrednik ne zahtijeva autentifikaciju. U tom slučaju lista HTTP proxyja daje kandidate ako je udaljena WebDriver usluga javna i ako je dozvoljen pristup preko javnih proxyja.

Postavite svojstvo izvršitelja prije kreiranja RemoteWebDrivera. Kreiranje drajvera pokreće razmjenu udaljene sesije; izvršitelj stvara svoj osnovni HTTP klijent kada prvi put zatreba. Kasnija promjena svojstva nije pouzdan način da zamijenite rukovalac koji taj klijent već koristi.

Ova ruta prenosi WebDriver komande od pokretača do udaljene usluge. Vlastiti web-saobraćaj preglednika je zasebna veza. Ako i njemu treba proxy, konfigurirajte ga kroz mogućnosti preglednika koristeći krajnju tačku dostupnu s mašine preglednika.

Proxy akreditivi se autentifikuju kod posrednika. Akreditivi udaljene usluge i dalje pripadaju podržanoj konfiguraciji prijave ili mogućnosti pružaoca.

Povezani članci