C# RemoteWebDriver har en proxy til sine kommandoer
Angiv System.Net.WebProxy på HttpCommandExecutor, før den eksterne Selenium-session oprettes.
Når C#-testprocessen har brug for en videresendelsesproxy for at nå en ekstern Selenium-tjeneste, skal du knytte en System.Net.WebProxy til dens HTTP-kommandoeksekutor:
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 er den tilsigtede proxykonto, remoteWebDriverUri er den konfigurerede URI for den eksterne tjeneste, og browserOptions indeholder de eksisterende browser- og udbyderfunktioner. Udelad Credentials, når mellemleddet ikke kræver godkendelse. I så fald leverer HTTP-proxylisten kandidater, hvis den eksterne WebDriver-tjeneste er offentlig, og adgang via offentlige proxyer er tilladt.
Angiv eksekutorens egenskab, før RemoteWebDriver oprettes. Oprettelse af driveren starter udvekslingen af den eksterne session; eksekutoren opretter sin underliggende HTTP-klient, når den først er nødvendig. En senere ændring af egenskaben er ikke en pålidelig måde at erstatte den handler, som klienten allerede bruger.
Denne rute transporterer WebDriver-kommandoer fra køreren til den eksterne tjeneste. Browserens egen websteds trafik er en separat forbindelse. Hvis den også har brug for en proxy, skal du konfigurere det via browserfunktioner med et endpoint, der kan nås fra browserens maskine.
Proxy-legitimationsoplysningerne godkendes hos mellemleddet. Legitimationsoplysningerne til den eksterne tjeneste hører stadig til udbyderens understøttede login- eller funktionskonfiguration.