Πώς να χειριστείτε τον έλεγχο ταυτότητας διακομιστή μεσολάβησης Selenium Πρόγραμμα οδήγησης Web

⚡ Έξυπνη Σύνοψη

Έλεγχος ταυτότητας μέσω proxy σε Selenium Το WebDriver χειρίζεται το αναδυόμενο παράθυρο διαπιστευτηρίων που εμφανίζεται όταν ένα πρόγραμμα περιήγησης συνδέεται μέσω ενός ασφαλούς διακομιστή μεσολάβησης. Επειδή Selenium Δεν είναι δυνατή η άμεση λειτουργία εγγενών παραθύρων διαλόγου, δύο προσεγγίσεις χρησιμοποιούν το εργαλείο AutoIt και ενσωματωμένες ειδοποιήσεις.

  • Ρόλος πληρεξουσίου: Ένας proxy είναι ένας ενδιάμεσος που προσθέτει προστασία απορρήτου, ασφάλεια και φιλτράρισμα περιεχομένου.
  • 🔀 SOCKS εναντίον HTTP: Το SOCKS δεν ερμηνεύει δεδομένα. Ένας διακομιστής μεσολάβησης HTTP διαβάζει μόνο αιτήματα HTTP.
  • 🪟 Εγγενή αναδυόμενα παράθυρα: Selenium Δεν μπορεί να χειριστεί παράθυρα διαλόγου του λειτουργικού συστήματος, επομένως απαιτείται εξωτερική βοήθεια.
  • Μέθοδος AutoIt: Ένα μεταγλωττισμένο σενάριο AutoIt στέλνει το όνομα χρήστη και τον κωδικό πρόσβασης στο αναδυόμενο παράθυρο.
  • 🚨 Μέθοδος ειδοποιήσεων: Μεταβείτε στην ειδοποίηση και στείλτε διαπιστευτήρια με το sendKeys και, στη συνέχεια, αποδεχτείτε τα.

Χειρισμός ελέγχου ταυτότητας διακομιστή μεσολάβησης σε Selenium Πρόγραμμα οδήγησης Web

Τι είναι ο διακομιστής μεσολάβησης;

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

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

Αυτή η διαδικασία είναι γνωστή ως «Φιλτράρισμα περιεχομένου» και χρησιμοποιείται πιο συχνά σε Εκπαιδευτικά Ιδρύματα, Εταιρικά Γραφεία κ.λπ. Το Φιλτράρισμα Περιεχομένου μπορεί να επιτευχθεί εύκολα με τη βοήθεια ενός διακομιστή μεσολάβησης. Όσον αφορά το Διαδίκτυο, ένας διακομιστής μεσολάβησης μπορεί να υλοποιηθεί ως ξεχωριστός διακομιστής που βρίσκεται ανάμεσα σε μηχανές-πελάτες και πραγματικούς διακομιστές ιστού ή βάσεων δεδομένων που ανταποκρίνονται.

Διαφορά μεταξύ SOCKS και διακομιστή μεσολάβησης HTTP

ΚΑΛΤΣΕΣ HTTP Proxy
SOCKS σημαίνει ασφαλείς πρίζες. Γενικά χρησιμοποιείται ως τείχος προστασίας μεταξύ του πελάτη και του διακομιστή Ο διακομιστής μεσολάβησης HTTP μπορεί επίσης να χρησιμοποιηθεί ως τείχος προστασίας μεταξύ του πελάτη και του διακομιστή, αλλά μπορεί να χρησιμοποιηθεί μόνο για αιτήματα HTTP
Η SOCKS δεν ερμηνεύει τα δεδομένα που ανταλλάσσονται Ο διακομιστής μεσολάβησης HTTP ερμηνεύει τα δεδομένα που ανταλλάσσονται μεταξύ του πελάτη και του διακομιστή
Πιο αργό όσον αφορά την απόδοση Καλύτερη απόδοση σε σύγκριση με ΚΑΛΤΣΕΣ

Πώς να χειριστείτε το Proxy in Selenium Webdriver στο Chrome

Έλεγχος ταυτότητας διακομιστή μεσολάβησης HTTP με Selenium στο Chrome μπορεί να αντιμετωπιστεί χρησιμοποιώντας τις ακόλουθες προσεγγίσεις

  • Χρήση του εργαλείου AutoIt
  • Χρήση ειδοποιήσεων

Χρήση του εργαλείου AutoIt

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

Αυτό απαιτεί τη χρήση εξωτερικών εργαλείων τρίτων, όπως το AutoIt, για ενσωμάτωση με SeleniumΓια αυτόν τον λόγο, το AutoIt χρησιμοποιείται συνήθως για τη διαχείριση μεταφορτώσεων και λήψεων αρχείων σε ιστότοπους.

Για να χρησιμοποιήσετε το AutoIt, πρέπει να κατεβάσετε και να εγκαταστήσετε το λογισμικό AutoIt στους τοπικούς μας υπολογιστές.

Λήψη εγκατάστασης του AutoIt καλύπτεται στο άρθρο.

Ανοίξτε Προγράμματα – Εργαλείο Autoit – SciTE Script Editor και προσθέστε το παρακάτω σενάριο AutoIt στο πρόγραμμα επεξεργασίας Autoit και αποθηκεύστε το ως «ProxyAuthentication.au3» στο σύστημά σας

Μεταγλωττίστε το αρχείο και μετατρέψτε το ως "ProxyAuthentication.exe".

In Eclipse, προσθέστε το αρχείο AutoIt στο Selenium Κάντε σενάριο και εκτελέστε

Παρακάτω είναι το σενάριο AutoIt για έλεγχο ταυτότητας HTTP Proxy

Send("guru99{ENTER}")
Send("guru99{ENTER}")

Πρέπει να περάσετε το αρχείο AutoIt για εκτέλεση στο Selenium webdriver χρησιμοποιώντας τον παρακάτω κώδικα

Πηγή Code:

package Guru99Demo;
import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class AutoItDemo {
    public static void main(String[] args) throws IOException {
        System.setProperty("webdriver.chrome.driver", "D:\\ chromedriver.exe");;
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/basic_auth.php");
        //Passing the AutoIt Script to Selenium	
        Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe");
    }
}

Code Επεξήγηση:

  • Στο πρώτο βήμα, προετοιμάζετε μια παρουσία του προγράμματος οδήγησης Chrome, ρυθμίζοντας την ιδιότητα συστήματος να οδηγεί στο αρχείο chromedriver.exe
  • Στο δεύτερο βήμα, αρχικοποιείτε ένα αντικείμενο του προγράμματος οδήγησης ιστού και μεταβιβάζετε τον ιστότοπο URL χρησιμοποιώντας τη μέθοδο get
  • Τέλος, μεταβιβάζετε όνομα χρήστη και κωδικό πρόσβασης στο αναδυόμενο παράθυρο ελέγχου ταυτότητας HTTP Proxy χρησιμοποιώντας ένα αρχείο δέσμης ενεργειών AutoIt

Code Παραγωγή:

Χειρισμός ειδοποιήσεων ονόματος χρήστη χρησιμοποιώντας το AutoIt
Χειρισμός ειδοποιήσεων ονόματος χρήστη χρησιμοποιώντας το AutoIt
Χειρισμός Ειδοποιήσεων Κωδικού Πρόσβασης με Χρήση AutoIt

Χειρισμός Ειδοποιήσεων Κωδικού Πρόσβασης με Χρήση AutoIt
Οθόνη επιτυχίας ελέγχου ταυτότητας διακομιστή μεσολάβησης

Οθόνη επιτυχίας ελέγχου ταυτότητας διακομιστή μεσολάβησης

Χρήση ειδοποιήσεων

Οι ειδοποιήσεις είναι απλές, ενσωματωμένες δυνατότητες που παρέχονται από Selenium πρόγραμμα οδήγησης web. Μπορείτε να χειριστείτε τα αναδυόμενα παράθυρα ελέγχου ταυτότητας διακομιστή μεσολάβησης χρησιμοποιώντας Selenium πρόγραμμα οδήγησης web μεταβαίνοντας στην ειδοποίηση ελέγχου ταυτότητας διακομιστή μεσολάβησης HTTP και μεταβιβάζοντας το όνομα χρήστη και τον κωδικό πρόσβασης απευθείας στην ειδοποίηση. Με τη βοήθεια της μεθόδου αποστολής κλειδιών.

Παράδειγμα:

Σενάριο δοκιμής:

Χειριστείτε το αναδυόμενο παράθυρο ελέγχου ταυτότητας διακομιστή μεσολάβησης HTTP στον ιστότοπο: https://demo.guru99.com/test/basic_auth.php χρησιμοποιώντας Ειδοποιήσεις σε Selenium πρόγραμμα οδήγησης web.

Παράδειγμα πηγαίου κώδικα:

package Guru99Demo;
import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class AlertsDemo {
    public static void main(String args[]) throws IOException {
        System.setProperty("webdriver.chrome.driver", "D:\\Data_Personal\\Software\\chromedriver_win32\\chromedriver.exe");;
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/basic_auth.php");
        // Handling Username alert
        driver.switchTo().alert().sendKeys("guru99");
        driver.switchTo().alert().accept();
        // Handling Password alert
        driver.switchTo().alert().sendKeys("guru99");
        driver.switchTo().alert().accept();
    }
}

Code Παραγωγή

Ο έλεγχος ταυτότητας διακομιστή μεσολάβησης ολοκληρώθηκε με επιτυχία.

Code Επεξήγηση:

  • Αρχικά, δημιουργείτε μια παρουσία του προγράμματος οδήγησης Chrome ρυθμίζοντας την ιδιότητα webdriver ώστε να επισημαίνει τη θέση του αρχείου chromedriver.exe
  • Στη συνέχεια, ανοίγετε το URL του απαιτούμενου ιστότοπου περνώντας το URL ως παράμετρος στη μέθοδο driver.get()
  • Μια φορά URL ανοίγει, μεταβαίνετε στην ειδοποίηση ονόματος χρήστη και στέλνετε το όνομα χρήστη – guru99. Στη συνέχεια, κάνετε κλικ στο κουμπί OK στην ειδοποίηση χρησιμοποιώντας τη μέθοδο alert.accept
  • Στη συνέχεια, μεταβαίνετε στην ειδοποίηση κωδικού πρόσβασης και στέλνετε τον κωδικό πρόσβασης – guru99. Στη συνέχεια, κάνετε κλικ στο κουμπί OK στην ειδοποίηση χρησιμοποιώντας τη μέθοδο alert.accept

Συχνές Ερωτήσεις

Μπορείτε να ενσωματώσετε διαπιστευτήρια ως https://user:pass@site.com, αλλά τα σύγχρονα Chrome και Firefox Αποκλείστε αυτό για λόγους ασφαλείας. Οι ειδοποιήσεις ή οι επεκτάσεις του προγράμματος περιήγησης είναι πλέον πιο αξιόπιστες για τον έλεγχο ταυτότητας μέσω proxy.

Το AutoIt αυτοματοποιεί Windows στοιχεία ελέγχου επιφάνειας εργασίας που Selenium δεν μπορεί να φτάσει, όπως τα εγγενή αναδυόμενα παράθυρα ελέγχου ταυτότητας και τα παράθυρα διαλόγου μεταφόρτωσης αρχείων. Μεταγλωττίζετε ένα σενάριο AutoIt σε ένα εκτελέσιμο αρχείο και το καλείτε από Selenium κώδικας.

Ένας διακομιστής μεσολάβησης ανακατευθύνει την κίνηση για συγκεκριμένες εφαρμογές ή προγράμματα περιήγησης, κυρίως αποκρύπτοντας διευθύνσεις IP ή φιλτράροντας περιεχόμενο. Ένα VPN κρυπτογραφεί όλη την κίνηση της συσκευής σε ολόκληρο το σύστημα, παρέχοντας ισχυρότερο απόρρητο από έναν τυπικό διακομιστή μεσολάβησης.

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

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

Ναί. Selenium Το 4 πρόσθεσε την υποστήριξη του πρωτοκόλλου Chrome DevTools, επιτρέποντάς σας να ορίσετε διαπιστευτήρια HTTP μέσω προγραμματισμού και να χειριστείτε τον βασικό έλεγχο ταυτότητας, αποφεύγοντας το AutoIt για πολλά σενάρια proxy.

Συνοψίστε αυτήν την ανάρτηση με: