Όταν η διαδικασία δοκιμής σε 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 από τον εκτελεστή στην απομακρυσμένη υπηρεσία. Η δική του κίνηση ιστού του προγράμματος περιήγησης είναι ξεχωριστή σύνδεση. Αν χρειάζεται και αυτή διαμεσολαβητή, ρυθμίστε τον μέσω των δυνατοτήτων του προγράμματος περιήγησης χρησιμοποιώντας ένα τελικό σημείο προσβάσιμο από το μηχάνημα του προγράμματος περιήγησης.

Τα διαπιστευτήρια του διαμεσολαβητή επικυρώνονται στον ενδιάμεσο. Τα διαπιστευτήρια της απομακρυσμένης υπηρεσίας εξακολουθούν να ανήκουν στη υποστηριζόμενη διαμόρφωση σύνδεσης ή δυνατοτήτων του παρόχου.

Σχετικά άρθρα