Kai C# testavimo procesui reikia persiuntimo tarpinio serverio, kad pasiektų nuotolinę Selenium paslaugą, prijunkite System.Net.WebProxy prie jo HTTP komandų vykdyklės:

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 yra numatytoji tarpinio serverio paskyra, remoteWebDriverUri yra sukonfigūruotas nuotolinės paslaugos URI, o browserOptions turi esamas naršyklės ir teikėjo galimybes. Praleiskite Credentials, kai tarpininkas nereikalauja autentifikavimo. Tokiu atveju HTTP tarpinių serverių sąrašas pateikia kandidatus, jei nuotolinė WebDriver paslauga yra vieša ir leidžiama prieiga per viešus tarpinius serverius.

Nustatykite vykdyklės savybę prieš kurdami RemoteWebDriver. Tvarkyklės kūrimas pradeda nuotolinės sesijos mainus; vykdyklė sukuria savo pagrindinį HTTP klientą, kai jo prireikia pirmą kartą. Vėlesnis savybės keitimas nėra patikimas būdas pakeisti apdorojimo programą, kurią tas klientas jau naudoja.

Šis maršrutas perduoda WebDriver komandas iš vykdyklės į nuotolinę paslaugą. Pačios naršyklės svetainių srautas yra atskiras ryšys. Jei jam taip pat reikia tarpinio serverio, sukonfigūruokite jį per naršyklės galimybes naudodami galinį tašką, pasiekiamą iš naršyklės kompiuterio.

Tarpinio serverio kredencialai autentifikuojami tarpininkui. Nuotolinės paslaugos kredencialai vis dar priklauso teikėjo palaikomai prisijungimo arba galimybių konfigūracijai.

Susiję straipsniai