كيفية التعامل مع مصادقة الوكيل في Selenium برنامج تشغيل الويب

ما هو البروكسي؟

يعمل الوكيل كوسيط بين العملاء الذين يرسلون الطلبات ويستجيب الخادم. الاستخدام الأساسي للوكيل هو الحفاظ على الخصوصية والتغليف بين الأنظمة التفاعلية المتعددة.

يمكن للوكيل أيضًا إضافة طبقة أخرى من الأمان على الويب من خلال العمل كجدار حماية بين العميل وخوادم الويب. يُستخدم هذا بشكل خاص عندما يتعين تصنيف مواقع الويب التي يستخدمها العملاء على أنها مسموح بها أو محظورة بناءً على محتوى موقع الويب.

تُعرف هذه العملية باسم "تصفية المحتوى" وهي شائعة الاستخدام في المؤسسات التعليمية ومكاتب الشركات وما إلى ذلك. ويمكن إنجاز تصفية المحتوى بسهولة بمساعدة الوكيل. فيما يتعلق بالإنترنت، يمكن تنفيذ الوكيل كخادم منفصل يقف بين الأجهزة العميلة وخوادم الويب أو خوادم قواعد البيانات الفعلية المستجيبة.

الفرق بين SOCKS وHTTP Proxy

SOCKS الموقع الوكيل
SOCKS تعني المقابس الآمنة. يتم استخدامه بشكل عام كجدار حماية بين العميل والخادم يمكن أيضًا استخدام وكيل HTTP كجدار حماية بين العميل والخادم ولكن يمكن استخدامه فقط لطلبات HTTP
لا تقوم SOCKS بتفسير البيانات التي يتم تبادلها يقوم وكيل HTTP بتفسير البيانات التي يتم تبادلها بين العميل والخادم
أبطأ من حيث الأداء أداء أفضل مقارنة بالجوارب

كيفية التعامل مع الوكيل في Selenium برنامج تشغيل الويب في كروم

مصادقة وكيل HTTP مع Selenium يمكن التعامل مع Chrome باستخدام الأساليب التالية

  • باستخدام أداة AutoIT
  • استخدام التنبيهات

باستخدام أداة AutoIT

Auto IT هي أداة تابعة لجهة خارجية تُستخدم لأتمتة سطح مكتب Windows. منذ Selenium يتعامل فقط مع النوافذ المنبثقة والنوافذ المستندة إلى الويب، ولا يمكن التعامل مع عناصر التحكم في نظام التشغيل باستخدام Selenium.

ويتطلب ذلك استخدام أدوات خارجية مثل Auto IT للتكامل معها Selenium. ولهذا السبب، يتم استخدام Auto IT بشكل شائع للتعامل مع تحميلات الملفات وتنزيلات الملفات على مواقع الويب.

لاستخدام AutoIT، تحتاج إلى تنزيل برنامج AutoIT وتثبيته على أجهزتنا المحلية.

يتم تغطية تنزيل تثبيت AutoIT في ملف البند.

افتح البرامج - أداة Autoit - SciTE Script Editor وأضف نص AutoIt المذكور أدناه في محرر Autoit واحفظه باسم "ProxyAuthentication.au3" في نظامك

قم بتجميع الملف وتحويله كـ "ProxyAuthentication.exe".

In Eclipse، أضف ملف Auto IT إلى Selenium البرنامج النصي والتشغيل

يوجد أدناه البرنامج النصي AutoIT لمصادقة وكيل HTTP

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

تحتاج إلى تمرير ملف Auto IT للتنفيذ Selenium برنامج تشغيل الويب باستخدام الكود أدناه

كود المصدر:

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("http://demo.guru99.com/test/basic_auth.php");
        //Passing the AutoIt Script to Selenium	
        Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe");
    }
}

شرح الكود:

  • في الخطوة الأولى، تقوم بتهيئة مثيل لبرنامج تشغيل Chrome عن طريق تعيين خاصية النظام للإشارة إلى ملف chromedriver.exe
  • في الخطوة الثانية، تقوم بعد ذلك بتهيئة كائن برنامج تشغيل الويب وتمرير عنوان URL لموقع الويب باستخدام طريقة get
  • أخيرًا، أنت تقوم بتمرير اسم المستخدم وكلمة المرور إلى النافذة المنبثقة لمصادقة وكيل HTTP باستخدام ملف البرنامج النصي AutoIT

إخراج الكود:

التعامل مع تنبيه اسم المستخدم باستخدام AutoIT
التعامل مع تنبيه اسم المستخدم باستخدام AutoIT
التعامل مع تنبيه كلمة المرور باستخدام AutoIT

التعامل مع تنبيه كلمة المرور باستخدام AutoIT
شاشة نجاح مصادقة الوكيل

شاشة نجاح مصادقة الوكيل

استخدام التنبيهات

التنبيهات هي ميزة بسيطة تحمل في ثناياه عوامل مقدمة من Selenium سائق الويب. يمكنك التعامل مع النوافذ المنبثقة لمصادقة الوكيل باستخدام Selenium برنامج تشغيل الويب عن طريق التبديل إلى تنبيه مصادقة وكيل HTTP وتمرير اسم المستخدم وكلمة المرور مباشرةً إلى التنبيه. بمساعدة طريقة إرسال المفاتيح.

مثال:

سيناريو الاختبار:

تعامل مع النافذة المنبثقة لمصادقة HTTP Proxy على موقع الويب: https://demo.guru99.com/test/basic_auth.php باستخدام التنبيهات في Selenium سائق الويب.

مثال كود المصدر:

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("http://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();
    }
}

إخراج الكود

تمت مصادقة الوكيل بنجاح.

شرح الكود:

  • في البداية، أنت تقوم بإنشاء مثيل لبرنامج تشغيل Chrome عن طريق تعيين خاصية webdriver للإشارة إلى موقع ملف chromedriver.exe
  • بعد ذلك، تقوم بفتح عنوان URL لموقع الويب المطلوب عن طريق تمرير عنوان URL كمعلمة إلى طريقة driver.get()
  • بمجرد فتح عنوان URL، فإنك تقوم بالتبديل إلى تنبيه اسم المستخدم وإرسال اسم المستخدم – guru99. تقوم بعد ذلك بالنقر فوق الزر "موافق" في التنبيه باستخدام طريقة التنبيه.قبول
  • بعد ذلك، تقوم بالتبديل إلى تنبيه كلمة المرور وإرسال كلمة المرور – guru99. تقوم بعد ذلك بالنقر فوق الزر "موافق" في التنبيه باستخدام طريقة التنبيه.قبول

الملخص

  • يعمل الوكيل كوسيط بين العملاء الذين يرسلون الطلبات ويستجيب الخادم. الاستخدام الأساسي للوكيل هو الحفاظ على الخصوصية و التغليف بين الأنظمة التفاعلية المتعددة.
  • مصادقة وكيل HTTP مع Selenium يمكن التعامل مع Chrome باستخدام الأساليب التالية
  • تمرير اسم المستخدم وكلمة المرور في عنوان URL لموقع الويب
  • باستخدام أداة AutoIT
  • استخدام التنبيهات
  • من بين الأساليب الثلاثة المذكورة أعلاه، يعد استخدام التنبيهات الطريقة الأكثر فعالية للتعامل مع مصادقة وكيل HTTP Selenium محرك الويب