Quando o processo de teste em C# precisa de um proxy de encaminhamento para alcançar um serviço Selenium remoto, anexe um System.Net.WebProxy ao seu executor 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 pretendida, remoteWebDriverUri é o URI configurado do serviço remoto e browserOptions contém as capacidades existentes do navegador e do fornecedor. Omita Credentials quando o intermediário não exigir autenticação. Nesse caso, a lista de proxies HTTP fornece candidatos se o serviço WebDriver remoto for público e o acesso por proxies públicos for permitido.

Defina a propriedade do executor antes de construir o RemoteWebDriver. A criação do driver inicia a troca da sessão remota; o executor cria o seu cliente HTTP subjacente quando é necessário pela primeira vez. Uma alteração posterior da propriedade não é uma forma fiável de substituir o manipulador que esse cliente já utiliza.

Esta rota transporta comandos WebDriver do executor para o serviço remoto. O tráfego web do próprio navegador é uma ligação separada. Se também precisar de um proxy, configure-o através das capacidades do navegador usando um endpoint acessível a partir da máquina do navegador.

As credenciais do proxy autenticam-se no intermediário. As credenciais do serviço remoto continuam a pertencer à configuração de início de sessão ou de capacidades suportada pelo fornecedor.

Artigos relacionados