Selenium JavaScript: δρομολόγηση της σύνδεσης εντολών του απομακρυσμένου WebDriver μέσω διακομιστή μεσολάβησης
Χρησιμοποιήστε το usingWebDriverProxy για εντολές JavaScript WebDriver που αποστέλλονται σε απομακρυσμένο τελικό σημείο Selenium.
Ένα σενάριο Selenium σε JavaScript στέλνει εντολές WebDriver στον απομακρυσμένο διακομιστή πριν ο περιηγητής αυτού του διακομιστή μπορέσει να πλοηγηθεί οπουδήποτε. Αν η σύνδεση εντολών πρέπει να περάσει από διακομιστή μεσολάβησης HTTP, ρυθμίστε τον μεσολαβητή WebDriver του Builder:
const { Builder, Browser } = require("selenium-webdriver");
const driver = await new Builder()
.forBrowser(Browser.CHROME)
.usingServer(gridUrl)
.usingWebDriverProxy("http://proxy.example.net:8080")
.build();Το gridUrl είναι ο πραγματικός διακομιστής Selenium ή το φιλοξενούμενο τελικό σημείο WebDriver. Για ένα δημόσια προσβάσιμο τελικό σημείο όπου επιτρέπεται αυτή η διαδρομή, η λίστα μεσολαβητών HTTP παρέχει υποψηφίους για το usingWebDriverProxy. Εκτελέστε το απόσπασμα μέσα σε συνάρτηση async του CommonJS. Τερματίστε το πρόγραμμα οδήγησης όταν τελειώσει η συνεδρία δοκιμής.
Το usingWebDriverProxy ελέγχει τις συνδέσεις HTTP της σύνδεσης JavaScript. Δεν ορίζει τη δυνατότητα μεσολαβητή του Chrome ούτε όρισμα εκκίνησης του Chrome.
Αν και η κίνηση του περιηγητή χρειάζεται μεσολαβητή, δώστε τις επιθυμητές επιλογές Chrome ξεχωριστά. Αυτός ο περιηγητής εκτελείται στο απομακρυσμένο μηχάνημα, άρα το τελικό σημείο μεσολαβητή του πρέπει να είναι προσβάσιμο εκεί. Μια διεύθυνση loopback στο μηχάνημα του σεναρίου δεν είναι αυτόματα υπηρεσία loopback διαθέσιμη στον απομακρυσμένο περιηγητή.
Προσδιορίστε αν η αποτυχία συμβαίνει κατά τη δημιουργία της συνεδρίας WebDriver ή κατά την πλοήγηση σε ιστότοπο. Οι δύο αποτυχίες μπορεί να αφορούν διαφορετικούς πελάτες δικτύου και διαφορετικές πολιτικές μεσολαβητή.