تكنولوجيا المعلومات في Selenium البرنامج التعليمي: كيفية استخدامه؟

⚡ ملخص ذكي

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

  • 🤖 الغرض: AutoIt يمتد Selenium عن طريق التعامل Windowsعناصر التحكم المستندة إلى HTML، والحوارات الأصلية، والنوافذ المنبثقة غير HTML التي لا يمكن لمحددات مواقع WebDriver الوصول إليها.
  • 🪟 معرف العنصر: تقوم أداة Au3Info بفحص عناصر التحكم في النافذة وعرض سمات العنوان والفئة والمثيل المستخدمة لكتابة تفاعلات موثوقة.
  • ⚙️ الأساليب الأساسية: تشكل ControlFocus و ControlSetText و ControlClick الحد الأدنى من المجموعة المطلوبة لملء المسارات وإرسال مربعات حوار تحميل الملفات الأصلية.
  • ✅ التكامل: يتم تشغيل ملف FileUpload.exe المُجمّع من Selenium باستخدام Runtime.getRuntime().exec()، يتم تمرير التحكم إلى AutoIt والعودة بسلاسة.
  • 🧪 الاستخدام العملي: يقوم الدليل بتحميل السيرة الذاتية على Guruنموذج تجريبي رقم 99، للتحقق من صحة العملية من البداية إلى النهاية Selenium بالإضافة إلى تدفق الأتمتة في AutoIt.

تكنولوجيا المعلومات في Selenium

ما هو AutoIt في Selenium?

أوتويت هي لغة برمجة نصية مجانية مصممة لأتمتة Windows واجهة المستخدم الرسومية والبرمجة النصية العامة. يستخدم مزيجًا من حركة الماوس، وضغطات المفاتيح، والتحكم في النوافذ لأتمتة مهمة غير ممكنة بواسطة Selenium برنامج تشغيل الويب.

كيفية تنزيل وتثبيت AutoIt

الخطوة 1) اذهب إلى هذا الرابط.

الخطوة 2) مرر مؤشر الماوس فوق القائمة المنسدلة "AutoIt" ​​و "AutoIt Editor".

قم بتنزيل وتثبيت برنامج AutoIt

الخطوة 3) انقر على خيار التنزيلات "AutoIt".

قم بتنزيل وتثبيت برنامج AutoIt

الخطوة 4) قم بتنزيل برنامج "AutoIt" ​​بالنقر على زر "تنزيل AutoIt".

قم بتنزيل وتثبيت برنامج AutoIt

الخطوة 5) قم الآن بتنزيل "محرر AutoIt" ​​بالنقر على زر "التنزيلات".

قم بتنزيل وتثبيت برنامج AutoIt

الخطوة 6) اضغط على الرابط كما هو موضح أدناه.

قم بتنزيل وتثبيت برنامج AutoIt

بعد التنزيل، ستحصل على ملفي تثبيت كما هو موضح في الشاشة أدناه، الأول هو أوتو إت الإصدار 3 الإعداد والثاني هو سيتوتويت3.

قم بتنزيل وتثبيت برنامج AutoIt

الخطوة 7) لتثبيت AutoIt، انقر على كلا إعدادي AutoIt واحداً تلو الآخر.

الخطوة 8) بعد اكتمال التثبيت بنجاح، افتح برنامج AutoIt Editor.

انتقل إلى "C:\Program Files (x86)\AutoIt3\SciTE"

قم بتنزيل وتثبيت برنامج AutoIt

وبالنقر على ملف "SciTE.exe"، سيتم فتح محرر AutoIt كما هو موضح في الشاشة أدناه.

قم بتنزيل وتثبيت برنامج AutoIt

الخطوة 9) افتح الآن مُعرّف العنصر.

انتقل إلى 'C:\Program Files (x86)\AutoIt3'

قم بتنزيل وتثبيت برنامج AutoIt

وبالنقر على ملف "Au3Info.exe"، سيتم فتح مُعرّف العنصر كما هو موضح في الشاشة أدناه.

قم بتنزيل وتثبيت برنامج AutoIt

ملاحظة: بمجرد الانتهاء من استخدام مُعرّف العنصر هذا، ستحتاج إلى إغلاقه يدويًا؛ فلن يتم إغلاقه تلقائيًا.

كيفية استخدام AutoIt في Selenium

سنتعرف في هذا القسم على كيفية استخدام محرر AutoIt وكيفية العثور على عنصر في نافذة رفع الملفات باستخدام مُعرّف عناصر AutoIt (مُعرّف العناصر هو أداة مثل Selenium IDE؛ يحدد المعرف عنصر واجهة المستخدم الرسومية أو النوافذ المنبثقة غير HTML ويقدم سمة العنصر مثل الاسم, فئة, مثل) وكيفية كتابة برنامج نصي على محرر AutoIt باستخدام 3 طرق.

على سبيل المثال: سنستخدم صفحة "راسلنا" الخاصة بـ Guru99 لتحميل السيرة الذاتية (ملف Doc).

بعد النقر على زر "اختيار ملف" في صفحة "راسلنا"، نحتاج إلى استدعاء برنامج AutoIt النصي. يتم نقل التحكم مباشرةً إلى AutoIt بعد النقر على "اختيار ملف" بواسطة العبارة التالية، والتي تتولى عملية التحميل.

Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

وأخيرًا، عندما نقوم بتشغيل Selenium سيقوم البرنامج النصي بملء النموذج -> تحميل السيرة الذاتية -> إرسال النموذج.

استخدم AutoIt في Selenium

الخطوة 1) افتح الآن برنامج مُعرّف العنصر. انتقل إلى 'C:\Program Files (x86)\AutoIt3' وانقر على ملف 'Au3Info.exe'، ستفتح نافذة مُعرّف العنصر كما هو موضح في الصورة أدناه.

استخدم AutoIt في Selenium

الخطوة 2) افتح الآن نافذة رفع الملفات بالنقر على "اختيار ملف" وهو Windows النشاط.

استخدم AutoIt في Selenium

الخطوة 3) اسحب أداة البحث على عنصر مربع "اسم الملف" في نافذة تحميل الملفات للعثور على معلومات السمات الأساسية كما هو موضح في الشاشة أدناه مع السهم.

استخدم AutoIt في Selenium

يمكننا الحصول على قيمة السمات، أي العنوان='مفتوح', فئة='تحرير' و المثال='1' كما هو موضح أدناه. تُستخدم هذه القيم في كتابة مثال برنامج AutoIt النصي كما هو موضح في الخطوة 4 أدناه.

استخدم AutoIt في Selenium

الخطوة 4) افتح الآن محرر نصوص AutoIt، وانتقل إلى 'C:\Program Files (x86)\AutoIt3\SciTE' وانقر على 'SciTE.exe' كما هو موضح في الخطوة 7 من 1st الموضوع.

ابدأ في كتابة برنامج نصي لتحديد ملف للتحميل.

هناك العديد من الطرق المتاحة التي يمكننا استخدامها في البرنامج النصي وفقًا للمتطلبات، ولكننا سنركز الآن على الطرق التالية لأن هذه الطرق مطلوبة لكتابة برنامج تحميل الملفات:

  1. التركيز على التحكم("العنوان"،"النص"،معرف التحكم) // يضبط تركيز الإدخال على عنصر تحكم معين في النافذة.
  2. ControlSetText("العنوان "،" النص "،معرف التحكم،" مسار الملف الذي يجب تحميله ") // يعين نص عنصر التحكم.
  3. التحكم بالنقر("العنوان"،"النص"،معرف التحكم) // يرسل أمر النقر بالماوس إلى عنصر تحكم معين.

يمكنك رؤية عدد من الطرق المعروضة كما هو موضح في الشاشة أدناه. الميزة الجيدة في AutoIt هي أنها تشبه إلى حد ما Eclipse وهذا يشير إلى بعض الأساليب.

استخدم AutoIt في Selenium

هنا في محرر AutoIt، قمنا بتحديد "تركيز التحكم" طريقة. معرف العنصر مفتوح بالفعل ويتم تصغيره حيث تم تعريف العنصر بالفعل في الخطوة 3 أعلاه. يمكننا فتحه عن طريق تكبيره.

الآن، سنأخذ القيم من معرف العنصر لطريقتي 'ControlFocus' و 'ControlSetText' حيث تعمل هاتان الطريقتان على نفس العنصر، أي مربع نص 'اسم الملف'، ولكن بالنسبة لطريقة 'ControlClick' نحتاج إلى التقاط قيم عنصر مختلف، أي زر 'فتح'.

قيم المعلمات ل التركيز على التحكم الأسلوب:

تُركز هذه الطريقة على مربع نص "اسم الملف" في نافذة تحميل الملفات.

  • المعلمة الأولى الاسم مفتوح ".
  • نتجاهل المعامل الثاني، نص غير مطلوب.
  • المعلمة الثالثة معرف التحكم هو مزيج من class='Edit' و Instance='1'، أي 'Edit1'.
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

استخدم AutoIt في Selenium

قيم المعلمات ل ControlSetText الأسلوب:

تُستخدم هذه الطريقة لتحديد مسار الملف الذي نريد تحميله في مربع نص "اسم الملف". بعبارة أخرى، تُستخدم هذه الطريقة لتعيين النص لعنصر الإدخال.

  • المعلمة الأولى الاسم مفتوح ".
  • نتجاهل المعامل الثاني، نص غير مطلوب.
  • المعلمة الثالثة معرف التحكم هو مزيج من class='Edit' و Instance='1'، أي "Edit1".
  • المعلمة الرابعة نص جديدنقوم بتمرير مسار الملف الذي نحتاج إلى تحميله.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

استخدم AutoIt في Selenium

بعد اتباع الخطوة السابقة، لا تغلق نافذتي المحرر ومعرّف العنصر؛ بل أبقِهما مفتوحتين. ستحتاج مجددًا إلى فتح نافذة رفع الملفات للعثور على خصائص زر "فتح" كما هو موضح في الخطوة 5 أدناه.

الخطوة 5) الآن اسحب أداة البحث على عنصر زر "فتح" في نافذة تحميل الملفات للعثور على معلومات السمات الأساسية.

تُستبدل القيم السابقة (أي سمات مربع نص "اسم الملف") بالقيم الجديدة لزر "فتح". ستلاحظ أن سمة الفئة قد تغيرت إلى "زر" بدلاً من "تعديل" في نافذة مُعرّف عنصر AutoIt.

استخدم AutoIt في Selenium

يمكننا الحصول على قيمة السمات، أي العنوان='مفتوح', فئة = 'زر' و المثال='1' كما هو موضح أدناه. تُستخدم هذه القيم في كتابة برنامج AutoIt النصي كما هو موضح أدناه.

استخدم AutoIt في Selenium

قيم المعلمات ل التحكم بالنقر الأسلوب:

تعتمد هذه الطريقة على النقر على زر "فتح" في نافذة تحميل الملفات.

  • المعلمة الأولى الاسم مفتوح ".
  • نتجاهل المعامل الثاني؛ نص غير مطلوب.
  • المعلمة الثالثة معرف التحكم هو مزيج من الفئة والمثيل، أي " Button1".
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

استخدم AutoIt في Selenium

الخطوة 6) كما هو موضح في الشاشة أدناه، تم الانتهاء من كتابة سكربت AutoIt لمعالجة أداة رفع الملفات. الآن يمكنك إغلاق مُعرّف العنصر وحفظ السكربت باسم "FileUpload" في الموقع المحدد (E:\AutoIT).

استخدم AutoIt في Selenium

الآن لا يمكنك تنفيذ هذا البرنامج النصي مباشرة؛ أنت بحاجة إلى تجميع هذا البرنامج النصي.

لتجميع هذا النص البرمجي، لديك خياران "تجميع البرنامج النصي x64"و"تجميع البرنامج النصي x86"إذا كان لديك Windows ثم انتقل إلى جهاز 32 بت "تجميع البرنامج النصي x86"ولـ Windows جهاز 64 بت، استخدم "تجميع البرنامج النصي x64".

استخدم AutoIt في Selenium

الخطوة 7) 'FileUpload exe' يتم إنشاء الملف بعد عملية التجميع؛ يمكنك رؤيته في الشاشة أدناه. الآن يمكننا استخدام هذا الملف في Selenium برنامج WebDriver النصي.

استخدم AutoIt في Selenium

سنستخدم الآن هذا البرنامج النصي لـ AutoIt في Selenium WebDriver. راجع المخرجات أدناه.

تحميل الملف في Selenium استخدام Autoit

في باقة Selenium باستخدام البرنامج النصي، نحدد عناصر النموذج ونملأ البيانات في كل عنصر حسب الحاجة، ثم نرفع ملف "resume.doc" عن طريق تشغيل ملف AutoIt exe المُنشأ من البرنامج النصي، وبعد ذلك نسمح بإرسال النموذج. Selenium البرنامج النصي AutoIt.

  • ساعات العمل Eclipse والبدء في كتابة التعليمات البرمجية.
  • متى Selenium عند النقر على زر "اختيار ملف"، يتم فتح مربع تحميل الملفات.
  • ثم نحتاج إلى استدعاء برنامج AutoIt النصي؛ حيث يتم نقل التحكم فورًا إلى AutoIt لتحميل ملف، ثم يُعاد التحكم إلى Selenium كما هو مبين أدناه.

تحميل الملف في Selenium استخدام Autoit

الخطوة 1) تطوير Selenium النصي في Eclipse.

  • وقت التشغيل تسمح الفئة للبرنامج النصي بالتفاعل مع البيئة التي يعمل فيها البرنامج النصي.
  • getRuntime () يحصل على وقت التشغيل الحالي المرتبط بهذه العملية.
  • إكسيك () تقوم هذه الطريقة بتنفيذ برنامج AutoIt النصي (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

سيستدعي السطر أعلاه نص برمجي لـ AutoIt in Selenium وتحميل الملف.

تحميل الملف في Selenium استخدام Autoit

الخطوة 2) تنفيذ Selenium النصي في Eclipse.

importjava.io.IOException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FileUpload {
public static void main(String[] args) throws IOException {
    WebDriver driver=new FirefoxDriver();
    driver.get("https://demo.guru99.com/test/autoit.html");
    driver.findElement(By.id("postjob")).click();

    driver.findElement(By.id("input_3")).sendKeys("Gaurav");
    driver.findElement(By.id("id_4")).sendKeys("test.test@gmail.com");
    driver.findElement(By.id("input_4")).click();
    // below line execute the AutoIT script .
     Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
    driver.findElement(By.id("input_6")).sendKeys("AutoIT in Selenium");
    driver.findElement(By.id("input_2")).click();
    driver.close();
     }
}

الخطوة 3) تحقق من المخرجات؛ تم تحميل ملف resume.doc بنجاح وسيتم عرض رسالة شكر.

تحميل الملف في Selenium استخدام Autoit

لماذا استخدام أوتويت؟

Selenium AutoIt هي أداة مفتوحة المصدر مصممة لأتمتة تطبيقات الويب على متصفحات مختلفة، ولكن للتعامل مع واجهة المستخدم الرسومية للنوافذ والنوافذ المنبثقة غير HTML في التطبيق، AutoIt في Selenium هذا مطلوب لأن هذه الأنشطة التي تعتمد على النوافذ لا تتم معالجتها بواسطة Selenium.

استخدم أوتويت

سنتعلم في هذا الدرس التعليمي الخاص بـ AutoIt كيفية تحميل ملف في Selenium استخدام WebDriver مع AutoIt. نحتاج هنا إلى ثلاث أدوات للقيام بذلك.

  • Selenium ويب درايفر
  • محرر AutoIt ومعرّف العناصر
  • النافذة التي تريد تشغيلها تلقائيًا

الأسئلة الشائعة

Selenium يتحكم WebDriver فقط في عناصر المتصفح. أما AutoIt فيتعامل مع العناصر الأصلية. Windows مربعات الحوار مثل مربعات تحميل الملفات، ومطالبات التنزيل، ونوافذ المصادقة الأساسية التي لا يستطيع برنامج WebDriver التفاعل معها مباشرة.

تقوم أداة Au3Info بفحص أي شيء مرئي Windows يتحكم هذا الأمر في العنصر الموجود أسفل المؤشر، ويعيد عنوانه وفئته وقيم مثيله. وتُستخدم هذه السمات مباشرةً في استدعاءات ControlFocus وControlSetText وControlClick.

نعم. يجب تجميع ملف المصدر .au3 إلى ملف .exe باستخدام خيار x86 أو x64 المتوافق مع جهازك. Selenium ثم يستدعي الملف المُجمّع FileUpload.exe من خلال Runtime.getRuntime().exec().

AutoIt هو Windowsأداة خاصة فقط. لـ macOS أو مربعات حوار الملفات في نظام Linux، استخدم AppleScript أو xdotool أو sendKeys مع مسار الملف مباشرة، لأن أنظمة التشغيل هذه لا تدعم ملفات AutoIt التنفيذية.

الأدوات التي تعمل بالذكاء الاصطناعي مثل Testimتستخدم كل من Functionize وMabl تقنية رؤية الحاسوب للتعرف على الحوارات الأصلية من خلال التخطيط المرئي، ثم تقوم بإنشاء منطق تحديد المواقع تلقائيًا. هذا يقلل من الحاجة إلى نصوص AutoIt عند التعامل مع الحوارات غير المستقرة أو المتطورة. Windows تظهر ظهور مفاجئ.

نعم. يمكن لنماذج اللغة الكبيرة مثل ChatGPT و Claude إنشاء نصوص AutoIt من مطالبات اللغة الإنجليزية البسيطة التي تصف الحوار المستهدف ومعرفات التحكم ومسار التحميل، والتي يمكن للمختبرين بعد ذلك تحسينها وتجميعها.

تلخيص هذه التدوينة بـ: