Cando o proceso de proba de C# necesita un proxy de reenvío para chegar a un servizo remoto de Selenium, conecte un System.Net.WebProxy ao seu executador de comandos HTTP:

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 é a conta de proxy prevista, remoteWebDriverUri é o URI configurado do servizo remoto e browserOptions contén as capacidades existentes do navegador e do provedor. Omita Credentials cando o intermediario non requira autenticación. Nese caso, a lista de proxies HTTP fornece candidatos se o servizo WebDriver remoto é público e se permite o acceso mediante proxies públicos.

Estableza a propiedade do executador antes de construír RemoteWebDriver. A creación do controlador inicia o intercambio da sesión remota; o executador crea o seu cliente HTTP subxacente cando se necesita por primeira vez. Un cambio posterior da propiedade non é unha forma fiable de substituír o manexador que ese cliente xa utiliza.

Esta ruta transporta os comandos de WebDriver desde o executador ata o servizo remoto. O tráfico web propio do navegador é unha conexión aparte. Se tamén necesita un proxy, configúreo mediante as capacidades do navegador usando un extremo accesible desde a máquina do navegador.

As credenciais do proxy autentícanse ante o intermediario. As credenciais do servizo remoto seguen pertencendo á configuración de inicio de sesión ou de capacidades admitida polo provedor.

Artigos relacionados