C# RemoteWebDriver har en proxy för sina kommandon
Ange System.Net.WebProxy på HttpCommandExecutor innan den externa Selenium-sessionen skapas.
När C#-testprocessen behöver en vidarebefordrande proxy för att nå en extern Selenium-tjänst, koppla en System.Net.WebProxy till dess HTTP-kommandoexekutor:
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 är det avsedda proxykontot, remoteWebDriverUri är den konfigurerade URI:n för den externa tjänsten och browserOptions innehåller de befintliga webbläsar- och leverantörsfunktionerna. Utelämna Credentials när mellanhanden inte kräver autentisering. I så fall tillhandahåller HTTP-proxylistan kandidater om den externa WebDriver-tjänsten är offentlig och åtkomst via offentliga proxyservrar är tillåten.
Ange exekutorns egenskap innan du skapar RemoteWebDriver. När drivrutinen skapas startar utbytet av den externa sessionen; exekutorn skapar sin underliggande HTTP-klient när den först behövs. En senare ändring av egenskapen är inte ett tillförlitligt sätt att ersätta den hanterare som klienten redan använder.
Den här vägen transporterar WebDriver-kommandon från köraren till den externa tjänsten. Webbläsarens egen webbplatstrafik är en separat anslutning. Om den också behöver en proxy konfigurerar du den via webbläsarens funktioner med en slutpunkt som kan nås från webbläsarens dator.
Proxyautentiseringsuppgifterna autentiseras mot mellanhanden. Autentiseringsuppgifterna för den externa tjänsten tillhör fortfarande leverantörens inloggnings- eller funktionskonfiguration.