Wanneer het C#-testproces een doorgaande proxy nodig heeft om een externe Selenium-service te bereiken, koppelt u een System.Net.WebProxy aan de HTTP-opdrachtuitvoerder:

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 is het bedoelde proxyaccount, remoteWebDriverUri is de geconfigureerde URI van de externe service en browserOptions bevat de bestaande browsermogelijkheden en die van de provider. Laat Credentials weg wanneer de tussenpersoon geen verificatie vereist. In dat geval levert de HTTP-proxylijst kandidaten als de externe WebDriver-service openbaar is en toegang via openbare proxies is toegestaan.

Stel de eigenschap van de uitvoerder in voordat u RemoteWebDriver maakt. Het aanmaken van de driver start de uitwisseling van de externe sessie; de uitvoerder maakt zijn onderliggende HTTP-client wanneer die voor het eerst nodig is. Een latere wijziging van de eigenschap is geen betrouwbare manier om de handler te vervangen die die client al gebruikt.

Deze route vervoert WebDriver-opdrachten van de runner naar de externe service. Het eigen websiteverkeer van de browser is een aparte verbinding. Als dat ook een proxy nodig heeft, configureert u dit via de browsermogelijkheden met een eindpunt dat bereikbaar is vanaf de machine van de browser.

De proxyaanmeldgegevens verifiëren bij de tussenpersoon. De aanmeldgegevens van de externe service horen nog steeds bij de door de provider ondersteunde inlog- of mogelijkhedenconfiguratie.

Gerelateerde artikelen