Khi tiến trình kiểm thử C# cần một proxy chuyển tiếp để đến dịch vụ Selenium từ xa, hãy gắn System.Net.WebProxy vào trình thực thi lệnh HTTP của nó:

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 là tài khoản proxy dự định, remoteWebDriverUri là URI dịch vụ từ xa đã cấu hình, và browserOptions chứa các khả năng hiện có của trình duyệt và nhà cung cấp. Bỏ qua Credentials khi bên trung gian không yêu cầu xác thực. Trong trường hợp đó, danh sách proxy HTTP cung cấp các ứng viên nếu dịch vụ WebDriver từ xa là công khai và cho phép truy cập qua proxy công cộng.

Đặt thuộc tính của trình thực thi trước khi dựng RemoteWebDriver. Việc tạo trình điều khiển bắt đầu quá trình trao đổi phiên từ xa; trình thực thi tạo máy khách HTTP bên dưới khi lần đầu cần đến. Thay đổi thuộc tính sau đó không phải là cách đáng tin cậy để thay thế trình xử lý mà máy khách đó đã sử dụng.

Tuyến này vận chuyển lệnh WebDriver từ trình chạy đến dịch vụ từ xa. Lưu lượng trang web của chính trình duyệt là một kết nối riêng. Nếu nó cũng cần proxy, hãy cấu hình qua các khả năng của trình duyệt bằng một điểm cuối có thể truy cập từ máy của trình duyệt.

Thông tin đăng nhập proxy xác thực với bên trung gian. Thông tin đăng nhập của dịch vụ từ xa vẫn thuộc cấu hình đăng nhập hoặc khả năng mà nhà cung cấp hỗ trợ.

Bài viết liên quan