C# RemoteWebDriver มีพร็อกซีสำหรับคำสั่งของมัน
ตั้งค่า System.Net.WebProxy บน HttpCommandExecutor ก่อนสร้างเซสชัน Selenium ระยะไกล
เมื่อกระบวนการทดสอบ 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 จากตัวรันไปยังบริการระยะไกล ทราฟฟิกเว็บไซต์ของเบราว์เซอร์เองเป็นการเชื่อมต่อแยกต่างหาก หากต้องการพร็อกซีด้วย ให้กำหนดค่าผ่านความสามารถของเบราว์เซอร์โดยใช้ปลายทางที่เข้าถึงได้จากเครื่องของเบราว์เซอร์
ข้อมูลรับรองพร็อกซีจะรับรองความถูกต้องกับตัวกลาง ข้อมูลรับรองของบริการระยะไกลยังคงอยู่ในคอนฟิกการเข้าสู่ระบบหรือความสามารถที่ผู้ให้บริการรองรับ