Коли тестовому процесу на C# потрібен прямий проксі для доступу до віддаленої служби Selenium, долучіть System.Net.WebProxy до його виконавця 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 — це призначений обліковий запис проксі, remoteWebDriverUri — налаштований URI віддаленої служби, а browserOptions містить наявні можливості браузера й постачальника. Не вказуйте Credentials, якщо посередник не вимагає автентифікації. У такому разі список HTTP-проксі надає кандидатів, якщо віддалена служба WebDriver загальнодоступна й доступ через публічні проксі дозволено.

Задайте властивість виконавця до створення RemoteWebDriver. Створення драйвера запускає обмін віддаленого сеансу; виконавець створює свій базовий HTTP-клієнт, коли це вперше потрібно. Пізніша зміна властивості не є надійним способом замінити обробник, який цей клієнт уже використовує.

Цей маршрут передає команди WebDriver від запускача до віддаленої служби. Власний веб-трафік браузера — це окреме з'єднання. Якщо йому теж потрібен проксі, налаштуйте його через можливості браузера, використовуючи кінцеву точку, доступну з машини браузера.

Облікові дані проксі автентифікуються в посередника. Облікові дані віддаленої служби й далі належать до підтримуваної постачальником конфігурації входу або можливостей.

Схожі статті