كيفية التعامل مع مصادقة الوكيل في Selenium برنامج تشغيل الويب
⚡ ملخص ذكي
مصادقة الوكيل في Selenium يتولى WebDriver معالجة نافذة بيانات الاعتماد المنبثقة التي تظهر عند اتصال المتصفح عبر خادم وكيل آمن. لأن Selenium لا يمكن تشغيل الحوارات الأصلية مباشرة، وهناك طريقتان تستخدمان أداة AutoIt والتنبيهات المدمجة.
ما هو البروكسي؟
يعمل الوكيل كوسيط بين العملاء الذين يرسلون الطلبات ويستجيب الخادم. الاستخدام الأساسي للوكيل هو الحفاظ على الخصوصية والتغليف بين الأنظمة التفاعلية المتعددة.
يمكن للوكيل أيضًا إضافة طبقة أخرى من الأمان على الويب من خلال العمل كجدار حماية بين العميل وخوادم الويب. يُستخدم هذا بشكل خاص عندما يتعين تصنيف مواقع الويب التي يستخدمها العملاء على أنها مسموح بها أو محظورة بناءً على محتوى موقع الويب.
تُعرف هذه العملية باسم "تصفية المحتوى" وهي شائعة الاستخدام في المؤسسات التعليمية ومكاتب الشركات وما إلى ذلك. ويمكن إنجاز تصفية المحتوى بسهولة بمساعدة الوكيل. فيما يتعلق بالإنترنت، يمكن تنفيذ الوكيل كخادم منفصل يقف بين الأجهزة العميلة وخوادم الويب أو خوادم قواعد البيانات الفعلية المستجيبة.
الفرق بين SOCKS وHTTP Proxy
| SOCKS | الموقع الوكيل |
|---|---|
| SOCKS تعني المقابس الآمنة. يتم استخدامه بشكل عام كجدار حماية بين العميل والخادم | يمكن أيضًا استخدام وكيل HTTP كجدار حماية بين العميل والخادم ولكن يمكن استخدامه فقط لطلبات HTTP |
| لا تقوم SOCKS بتفسير البيانات التي يتم تبادلها | يقوم وكيل HTTP بتفسير البيانات التي يتم تبادلها بين العميل والخادم |
| أبطأ من حيث الأداء | أداء أفضل مقارنة بالجوارب |
كيفية التعامل مع الوكيل في Selenium برنامج تشغيل الويب في كروم
مصادقة وكيل HTTP مع Selenium يمكن التعامل مع Chrome باستخدام الأساليب التالية
- استخدام أداة AutoIt
- استخدام التنبيهات
استخدام أداة AutoIt
AutoIt هي أداة خارجية تُستخدم لأتمتة سطح مكتب ويندوز. Selenium يتعامل فقط مع النوافذ المنبثقة والنوافذ المستندة إلى الويب، ولا يمكن التعامل مع عناصر التحكم في نظام التشغيل باستخدام Selenium.
يتطلب ذلك استخدام أدوات خارجية تابعة لجهات خارجية مثل AutoIt ليتم دمجها مع Seleniumلذلك، يُستخدم AutoIt بشكل شائع للتعامل مع عمليات تحميل الملفات وتنزيلها على مواقع الويب.
لاستخدام AutoIt، تحتاج إلى تنزيل وتثبيت برنامج AutoIt على أجهزتنا المحلية.
يتم شرح كيفية تنزيل وتثبيت برنامج AutoIt في البند.
افتح البرامج - أداة Autoit - SciTE Script Editor وأضف نص AutoIt المذكور أدناه في محرر Autoit واحفظه باسم "ProxyAuthentication.au3" في نظامك
قم بتجميع الملف وتحويله كـ "ProxyAuthentication.exe".
In Eclipseأضف ملف AutoIt إلى Selenium البرنامج النصي والتشغيل
فيما يلي نص برمجي لـ AutoIt لمصادقة وكيل HTTP
Send("guru99{ENTER}") Send("guru99{ENTER}")
يجب عليك تمرير ملف AutoIt لتنفيذه Selenium برنامج تشغيل الويب باستخدام الكود أدناه
مصدر 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 باستخدام ملف نصي AutoIt
Code الإخراج:

استخدام التنبيهات
التنبيهات هي ميزة بسيطة تحمل في ثناياه عوامل مقدمة من 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("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()
- Once Spa URL بعد فتح النافذة، تنتقل إلى تنبيه اسم المستخدم وترسل اسم المستخدم - guru99. ثم تنقر على زر "موافق" في التنبيه باستخدام دالة alert.accept.
- بعد ذلك، تقوم بالتبديل إلى تنبيه كلمة المرور وإرسال كلمة المرور – guru99. تقوم بعد ذلك بالنقر فوق الزر "موافق" في التنبيه باستخدام طريقة التنبيه.قبول

