متغيرات المتجر، الصدى، التنبيه، التعامل مع النوافذ المنبثقة في Selenium IDE

في هذا البرنامج التعليمي، سوف نتعلم أوامر المتجر وأوامر الصدى والتنبيهات والتعامل مع النوافذ المنبثقة.

متغيرات السيلينيوم IDE

متجر

لتخزين المتغيرات في Selenium IDE، نستخدم أمر "store". يخزن الرسم التوضيحي أدناه القيمة "البرنامج التعليمي" لمتغير يسمى "myVariable".

متغيرات السيلينيوم IDE

للوصول إلى المتغير، ما عليك سوى تضمينه بالرمز ${ … }. على سبيل المثال، لإدخال قيمة "myVariable" في نص "userName".box من Mercury Tours، أدخل ${myVariable} في حقل القيمة.

متغيرات السيلينيوم IDE

StoreElementPresent

يخزن هذا الأمر إما "صحيح" أو "خطأ" اعتمادًا على وجود العنصر المحدد. يخزن البرنامج النصي أدناه القيمة المنطقية "true" إلى "var1" و"false" إلى "var2". للتحقق، سنستخدم الأمر "echo" لعرض قيم var1 وvar2. تم تعيين عنوان URL الأساسي للرسم التوضيحي أدناه على الصفحة الرئيسية لـ Mercury Tours.

StoreElementPresent

نص المتجر

يستخدم هذا الأمر لتخزين النص الداخلي للعنصر في متغير. يخزن الرسم التوضيحي أدناه النص الداخلي للعلامة في Facebook على متغير يسمى "textVar".

نص المتجر

نظرًا لأنه العنصر الوحيد في الصفحة، فمن الآمن استخدام 'css=h1' كهدفنا. توضح الصورة أدناه أن Selenium IDE كان قادرًا على حفظ السلسلة "Sign Up" في المتغير "textVar" عن طريق طباعة قيمتها بشكل صحيح.

نص المتجر

التنبيهات والنوافذ المنبثقة والنوافذ المتعددة

ربما تكون التنبيهات هي أبسط أشكال النوافذ المنبثقة. أوامر Selenium IDE الأكثر شيوعًا المستخدمة في التعامل مع التنبيهات هي ما يليwing:

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

assertAlert

assertNotAlert

يسترد رسالة التنبيه ويؤكدها على قيمة السلسلة التي حددتها

AssurerAlertPresent

AssurerAlertNotPresent

يؤكد ما إذا كان التنبيه موجودًا أم لا
تنبيه المتجر يسترد رسالة التنبيه ويخزنها في متغير ستحدده أنت
storeAlertPresent إرجاع TRUE في حالة وجود تنبيه؛ خطأ إذا كان خلاف ذلك

التحقق من التنبيه

VerifyNotAlert

يسترد رسالة التنبيه ويتحقق مما إذا كانت تساوي قيمة السلسلة التي حددتها

checkAlertPresent

checkAlertNotPresent

التحقق من وجود تنبيه أم لا

تذكر هذين الأمرين عند التعامل مع التنبيهات:

  • سوف يقوم Selenium IDE تلقائيًا بالنقر فوق الزر "موافق" في نافذة التنبيه، وبالتالي لن تتمكن من رؤية التنبيه الفعلي.
  • لن يتمكن Selenium IDE من التعامل مع التنبيهات الموجودة ضمن وظيفة onload() الخاصة بالصفحة. ولن يتمكن من التعامل مع التنبيهات التي يتم إنشاؤها إلا بعد تحميل الصفحة بالكامل.

في هذا المثال، سوف نستخدم الأمر storeAlert لإظهار أنه على الرغم من أن Selenium IDE لم يُظهر التنبيه الفعلي، إلا أنه لا يزال قادرًا على استرداد رسالته.

الخطوة 1) في Selenium IDE، قم بتعيين عنوان URL الأساسي على http://jsbin.com. وعنوان URL الكامل هو: http://jsbin.com/usidix

الخطوة 2) قم بإنشاء البرنامج النصي كما هو موضح أدناه.

التنبيهات والنوافذ المنبثقة والنوافذ المتعددة

الخطوة 3) قم بتنفيذ البرنامج النصي ولا تتوقع أنك ستتمكن من رؤية التنبيه الفعلي.

التنبيهات والنوافذ المنبثقة والنوافذ المتعددة

تأكيدات

التأكيدات عبارة عن نوافذ منبثقة تمنحك زر "موافق" وزر "إلغاء"، على عكس التنبيهات التي تمنحك زر "موافق" فقط. الأوامر التي يمكنك استخدامها في معالجة التأكيدات مشابهة لتلك الموجودة في معالجة التنبيهات.

  • تأكيد التأكيد/تأكيد عدم التأكيد
  • assertConfirmationPresent/assertConfirmationNotPresent
  • تأكيد المتجر
  • تأكيد المتجر موجود
  • التحقق من التأكيد/التحقق من عدم التأكيد
  • التحقق من التأكيد الحالي/التحقق من التأكيد غير موجود

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

  • اخترOkOnNextConfirmation/اخترOkOnNextConfirmationAndWait
  • اختر إلغاء عند التأكيد التالي

يجب عليك استخدام هذه الأوامر قبل الأمر الذي يؤدي إلى التأكيد box حتى يعرف Selenium IDE مسبقًا الخيار الذي يجب اختياره. مرة أخرى، لن تتمكن من رؤية التأكيد الفعلي box أثناء تنفيذ البرنامج النصي.

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

الخطوة 1) في Selenium IDE، قم بتعيين عنوان URL الأساسي على http://jsbin.com

وعنوان URL الكامل هو: http://jsbin.com/enifaf

الخطوة 2) قم بإنشاء البرنامج النصي كما هو موضح أدناه. هذه المرة، سوف نضغط على زر موافق أولاً.

تأكيدات

الخطوة 3) قم بتنفيذ البرنامج النصي ولاحظ أنك لا ترى التأكيد الفعلي، ولكن صفحة الويب كانت قادرة على الإشارة إلى الزر الذي ضغط عليه Selenium IDE.

تأكيدات

الخطوة 4) استبدل الأمر "chooseOkOnNextConfirmation" بـ "chooseCancelOnNextConfirmation" وقم بتنفيذ البرنامج النصي مرة أخرى.

تأكيدات

نوافذ متعددة

إذا نقرت على رابط يؤدي إلى فتح نافذة منفصلة، ​​فيجب عليك أولاً توجيه Selenium IDE لتحديد تلك النافذة أولاً قبل أن تتمكن من الوصول إلى العناصر الموجودة بداخلها. للقيام بذلك، ستستخدم عنوان النافذة كمحدد موقع لها.

نستخدم الأمر SelectWindow للتبديل بين النوافذ.

سوف نستخدم الرابط http://jsbin.com/ocinaj/1 وعنوانه "النافذة الأولى". سيؤدي الارتباط التشعبي "هنا" الموجود في تلك الصفحة إلى فتح Facebook في نافذة جديدة، وبعد ذلك سنطلب من Selenium IDE القيام بما يليwing:

  • انقل التحكم من النافذة الرئيسية إلى نافذة Facebook التي تم إطلاقها حديثًا باستخدام أمر "selectWindow" وعنوانه كمحدد المواقع
  • التحقق من عنوان النافذة الجديدة
  • حدد النافذة الأصلية مرة أخرى باستخدام الأمر "selectWindow" و"null" كهدف لها.
  • تحقق من عنوان النافذة المحددة حاليًا

نوافذ متعددة

الخطوة 1) قم بتعيين عنوان URL الأساسي على http://jsbin.com.

الخطوة 2) قم بإنشاء البرنامج النصي كما هو موضح أدناه.

نوافذ متعددة

نحتاج إلى أمر "الإيقاف المؤقت" لانتظار تحميل النافذة التي تم إطلاقها حديثًا قبل أن نتمكن من الوصول إلى عنوانها.

الخطوة 3) تنفيذ البرنامج النصي. لاحظ أن حالة الاختبار تم اجتيازه، مما يعني أننا تمكنا من التبديل بين النوافذ والتحقق من عناوينها بنجاح.

نوافذ متعددة

تذكر دائمًا أن تعيين هدف SelectWindow على "null" سيؤدي تلقائيًا إلى تحديد النافذة الرئيسية (في هذه الحالة، النافذة التي يوجد بها العنصر "link=here").

ملحوظة: لقد قام Facebook بتغيير العنوان منذ إنشاء البرامج التعليمية. يرجى تعديل الكود وفقا لذلك

نبذة عامة

  • يتم استخدام أمر "store" (وجميع متغيراته) لتخزين المتغيرات في Selenium IDE
  • يتم استخدام الأمر "echo" لطباعة قيمة سلسلة أو متغير
  • يتم وضع المتغيرات داخل ${…} عند طباعتها أو استخدامها على العناصر
  • يضغط Selenium IDE تلقائيًا على الزر "موافق" عند التعامل مع التنبيهات
  • عند التعامل مع مربعات حوار التأكيد، يمكنك إرشاد Selenium IDE إلى الخيار الذي يجب استخدامه:
    • اخترOkOnNextConfirmation/اخترOkOnNextConfirmationAndWait
    • اختر إلغاء عند التأكيد التالي
  • يتم استخدام عناوين النوافذ كمحددات مواقع عند التبديل بين نوافذ المتصفح.
  • عند استخدام الأمر "selectWindow"، فإن تعيين الهدف على "null" سيؤدي تلقائيًا إلى توجيه Selenium IDE لتحديد النافذة الرئيسية.