أفضل 100 أسئلة وأجوبة لمقابلة السيلينيوم لعام 2024

التاليwing يغطي دليل أسئلة مقابلة Java Selenium 100 من أهم أسئلة مقابلة أتمتة السيلينيوم بما في ذلك أسئلة مقابلة Java Selenium البسيطة بالإضافة إلى أسئلة مقابلة اختبار أتمتة السيلينيوم مع الإجابات.

يحتوي هذا الدليل على جميع أسئلة المقابلة الأساسية الخاصة بالسيلينيوم للطلاب الجدد وأسئلة وأجوبة مقابلة السيلينيوم للمرشحين ذوي الخبرة للمساعدة في الاستعداد للمقابلة.

أسئلة المقابلة الأساسية للسيلينيوم للطلاب الجدد


1) ما هو السيلينيوم ومما يتكون؟

السيلينيوم عبارة عن مجموعة من الأدوات لاختبار الويب الآلي. انه يتكون من

  • السيلينيوم IDE (بيئة التطوير المتكاملة): إنها أداة للتسجيل والتشغيل. إنها firefox المساعد
  • برنامج تشغيل الويب وRC: فهو يوفر واجهات برمجة التطبيقات لمجموعة متنوعة من اللغات مثل Java و.NET وPHP وما إلى ذلك. ويعمل Webdriver وRC مع معظم المتصفحات.
  • جريد: بمساعدة Grid، يمكنك توزيع الاختبارات على أجهزة متعددة بحيث يمكن تشغيل هذا الاختبار بالتوازي مما يساعد في تقليل الوقت المطلوب للتشغيل في مجموعات اختبار المتصفح

👉 تنزيل مجاني بصيغة PDF: أسئلة وأجوبة مقابلة السيلينيوم


2) ما هو السيلينيوم 2.0؟

شبكة الاختبار تم دمج أدوات Selenium RC وWebDriver في أداة واحدة في Selenium 2.0

ما هو السيلينيوم 2.0

ما هو السيلينيوم 2.0



3) اذكر ما هو السيلينيوم 3.0؟

السيلينيوم 3.0 هو أحدث إصدار من السيلينيوم. لقد أصدرت نسختين تجريبيتين من السيلينيوم 2 مع بعض التغييرات التالية:

فيما يلي بعض الميزات الجديدة المضافة إلى السيلينيوم 3.0

تحديثات بيتا 1 تحديثات بيتا 2 (فقط لجافا)
الحد الأدنى جافا الإصدار الآن 8+ خاصية النظام webdriver.gecko.driver تفرض الآن على الخادم صورة دمية متحركة أو قديمة firefox وضع السائق، متجاهلاً أي قدرة مرغوبة ذات صلة
وسوف تدعم ل Firefox عبر geckodriver من موزيلا تقوم الشبكة بإصلاح NPE عند التسجيل عندما لا يتم تحديد -browser
  • يتم توفير الدعم لـ Edge بواسطة MS
  • وهو الآن يدعم تشغيل Safari MacOS عبر برنامج تشغيل Safari الخاص بشركة Apple
قم بتحديث وسيطة GeckoDriver –port في كافة الارتباطات

4) كيف يمكنك العثور على عنصر باستخدام السيلينيوم؟

في السيلينيوم، تتم الإشارة إلى كل كائن أو عنصر تحكم في صفحة الويب على أنه عناصر، وهناك طرق مختلفة للعثور على عنصر في صفحة الويب

  • ID
  • الاسم
  • بطاقة
  • السمة
  • CSS
  • نص الرابط
  • نص الارتباط الجزئي
  • اكس باث الخ

5) اذكر أنواع الاختبارات التي يدعمها السيلينيوم؟

لاختبار التطبيقات على شبكة الإنترنت يمكن استخدام السيلينيوم

أنواع الاختبار التي يمكن دعمها هي

أ) وظيفية، تعرف على المزيد عنها الاختبار الوظيفي.

ب) الانحدار

للتحقق من صحة ما بعد الإصدار مع التكامل المستمر أداة الأتمتة يمكن ان تستعمل

أ) جنكينز

ب) هدسون

ج) البناء السريع

د) رحلة بحرية


6) وضح ما هو التوكيد في السيلينيوم وما هي أنواع التوكيد؟

يتم استخدام التأكيد كنقطة تحقق. يتحقق من أن حالة التطبيق تتوافق مع ما هو متوقع. أنواع التأكيد هي "التأكيد" و"التحقق" و"الانتظار".


7) اذكر ما فائدة X-path؟

يتم استخدام X-Path للعثور على WebElement في صفحات الويب. كما أنه مفيد في تحديد العناصر الديناميكية.

راجع الدليل الكامل على كسباث


8) اشرح الفرق بين المفرد و double شرطة مائلة في مسار X؟

شرطة مائلة واحدة '/'

  • شرطة مائلة واحدة ( /) تبدأ التحديد من عقدة المستند
  • يسمح لك بإنشاء تعبيرات المسار "المطلقة".

Double شرطة مائلة "//"

  • Double الشرطة المائلة ( // ) تبدأ مطابقة التحديد في أي مكان في المستند
  • أنها تمكن من إنشاء تعبيرات المسار "نسبي".

9) اذكر التحديات التقنية المتعلقة بالسيلينيوم؟

التحديات التقنية مع السيلينيوم هي

  • يدعم السيلينيوم التطبيقات المستندة إلى الويب فقط
  • لا يدعم مقارنة الصور النقطية
  • بالنسبة لأية إمكانات متعلقة بإعداد التقارير، يجب أن تعتمد على أدوات الطرف الثالث
  • لا يوجد دعم من البائع للأداة مقارنة بالأدوات التجارية مثل HP UFT
  • نظرًا لعدم وجود مفهوم مستودع الكائنات في السيلينيوم، تصبح إمكانية صيانة الكائنات صعبة

10) ما الفرق بين مفاتيح الكتابة وأوامر الكتابة؟

سيتم تشغيل TypeKeys() جافا سكريبت حدث في معظم الحالات بينما لن يحدث ذلك .type(). يقوم مفتاح الكتابة بملء سمة القيمة باستخدام JavaScript بينما يحاكي ‎.typekeys() مثل الكتابة الفعلية للمستخدم


11) ما الفرق بين أوامر التحقق والتأكيد؟

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

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


12) ما هي التعليقات التوضيحية JUnit وما هي أنواع التعليقات التوضيحية المختلفة المفيدة؟

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

  • اختبار
  • قبل
  • بعد
  • تجاهل
  • قبل الفصل
  • بعد الحصة
  • إركض مع

13) أثناء استخدام أمر النقر، هل يمكنك استخدام تنسيق الشاشة؟

للنقر على جزء معين من العنصر، ستحتاج إلى استخدام أمر clickAT. يقبل أمر ClickAt محدد موقع العناصر وإحداثيات x وy كوسيطات-

clickAt (locator, cordString)


14) ما هي فوائد السيلينيوم؟

  • وهو يدعم C#، PHP، Java، Perl، Phython
  • وهو يدعم أنظمة تشغيل مختلفة مثل Windows, لينكس و Mac OS
  • لديه أساليب قوية لتحديد العناصر (Xpath، DOM، CSS)
  • لديها مجتمع مطورين مدعوم جدًا من Google

15) لماذا يجب على المختبرين اختيار السيلينيوم وليس QTP؟

السيلينيوم أكثر شعبية من كيو تي بي as

  • السيلينيوم مصدر مفتوح بينما QTP أداة تجارية
  • يتم استخدام السيلينيوم خصيصًا لاختبار التطبيقات المستندة إلى الويب بينما يمكن استخدام QTP لاختبار تطبيق خادم العميل أيضًا
  • يدعم السيلينيوم Firefox، IE، Opera، Safari على أنظمة التشغيل مثل WindowsوMac وLinux وما إلى ذلك، إلا أن QTP يقتصر على Internet Explorer Windows.
  • يدعم السيلينيوم العديد من لغات البرمجة مثل Ruby، Perl، بايثون بينما يدعم QTP البرنامج النصي VB فقط

أسئلة المقابلة الشخصية لاختبار أتمتة السيلينيوم المتقدمة لمدة 3/5/10 سنوات من الخبرة

فولوwing هي أهم أسئلة مقابلة السيلينيوم للمرشحين ذوي الخبرة:


16) ما هي العوامل الأربعة التي يجب عليك اجتيازها في السيلينيوم؟

أربعة معلمات عليك تمريرها في السيلينيوم هي

  • مضيف
  • منفذ رقم
  • المتصفح
  • URL

17) ما الفرق بين طريقتي setSpeed() وsleep()؟

كلاهما سوف يؤخر سرعة التنفيذ.

Thread.sleep () :

سيوقف مؤشر الترابط (Java) الحالي لفترة زمنية محددة. يتم ذلك مرة واحدة فقط

  • يستغرق وسيطة واحدة بتنسيق عدد صحيح

على سبيل المثال: thread.sleep(2000)- سينتظر لمدة ثانيتين

  • ينتظر مرة واحدة فقط عند تنفيذ الأمر المعطى أثناء النوم
SetSpeed () :

لفترة محددة من الوقت سيتم إيقاف تنفيذ كل أمر السيلينيوم.

  • يستغرق وسيطة واحدة بتنسيق عدد صحيح

على سبيل المثال: selenium.setSpeed("2000")- سينتظر لمدة ثانيتين

  • يقوم بتشغيل كل أمر بعد تأخير setSpeed ​​بعدد المللي ثانية المذكورة في السرعة المحددة

يعد هذا الأمر مفيدًا لأغراض العرض التوضيحي أو إذا كنت تستخدم تطبيق ويب بطيئًا


18) ما هي نفس سياسة المنشأ؟ كيف يمكنك تجنب نفس سياسة المنشأ؟

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

لتجنب استخدام طريقة حقن الوكيل "نفس سياسة الأصل"، في وضع حقن الوكيل، يعمل خادم السيلينيوم كعميل تم تكوينه وكيل HTTP ، والذي يقع بين المتصفح والتطبيق قيد الاختبار ثم يقوم بإخفاء AUT تحت عنوان URL وهمي


19) ما هي الامتيازات العالية للمتصفحات؟

الغرض من الامتيازات المتزايدة مشابه لـ Proxy حقن، حيث يسمح لمواقع الويب بالقيام بشيء غير مسموح به بشكل عام. والفرق الرئيسي هو أن المتصفحات يتم تشغيلها في وضع خاص يسمى الامتيازات المرتفعة. باستخدام وضع المتصفح هذا، يمكن لـ Selenium core فتح AUT مباشرة وكذلك قراءة/كتابة محتواه دون تمرير AUT بالكامل عبر خادم Selenium RC.


20) كيف يمكنك استخدام "إرسال" نموذج باستخدام السيلينيوم؟

يمكنك استخدام طريقة "إرسال" على العنصر لإرسال النموذج-

element.submit () ;

وبدلاً من ذلك، يمكنك استخدام طريقة النقر على العنصر الذي يقوم بإرسال النموذج


21) ما هي ميزات TestNG وسرد بعض الوظائف في TestNG مما يجعلها أكثر فعالية؟

TestNG هو إطار اختبار يعتمد على JUnit وNUnit لتبسيط مجموعة واسعة من احتياجات الاختبار، بدءًا من وحدة التجارب إلى اختبار التكامل. والوظيفة التي تجعله إطار اختبار فعال هي

  • دعم التعليقات التوضيحية
  • دعم الاختبار المبني على البيانات
  • تكوين اختبار مرن
  • القدرة على إعادة تنفيذ حالات الاختبار الفاشلة

22) اذكر ما الفرق بين الانتظار الضمني والانتظار الصريح؟

الانتظار الضمني: يضبط المهلة لجميع عمليات البحث المتعاقبة عن عناصر الويب. خلال الفترة الزمنية المحددة، سيحاول البحث عن العنصر مرارًا وتكرارًا قبل ذلكwing NoSuchElementException. وينتظر ظهور العناصر.

الانتظار الصريح: يتم استخدامه لمرة واحدة لإجراء بحث معين.


23) ما هي السمة التي يجب مراعاتها خلال البرنامج النصي في الإطار "إذا لم يكن هناك معرف إطار بالإضافة إلى عدم وجود اسم إطار"؟

يمكنك استخدام…..driver.findElements(By.xpath(“//iframe”))….

سيعود هذا قائمة الإطارات.

سوف تحتاج إلى التبديل إلى كل إطار والبحث عن محدد الموقع الذي نريده.

ثم كسر الحلقة


24) اشرح ما الفرق بين عناصر البحث () وعناصر البحث ()؟

find element ():

يقوم بالبحث عن العنصر الأول داخل الصفحة الحالية باستخدام "آلية تحديد الموقع" المحددة. تقوم بإرجاع WebElement واحد

findElements (): باستخدام "آلية تحديد الموقع" المحددة، يمكنك العثور على جميع العناصر الموجودة في الصفحة الحالية. تقوم بإرجاع قائمة بعناصر الويب.


25) اشرح ما هي التعليقات التوضيحية JUnits المرتبطة بالسيلينيوم؟

التعليقات التوضيحية JUnits المرتبطة بالسيلينيوم هي

  • @قبل طريقة الفراغ العام () - سيتم تنفيذ الطريقة () قبل كل اختبار، ويمكن لهذه الطريقة إعداد الاختبار
  • @Test طريقة الفراغ العامة () - التعليقات التوضيحية @Test تحدد أن هذه الطريقة هي بيئة طريقة اختبار
  • @After public void way()- لتنفيذ طريقة قبل استخدام هذا التعليق التوضيحي، يجب أن تبدأ طريقة الاختبار بـ test@Before

26) اشرح ما هو إطار العمل المعتمد على البيانات والكلمات الرئيسية؟

إطار يعتمد على البيانات: في هذا الإطار، يتم فصل بيانات الاختبار وحفظها خارج نصوص الاختبار، بينما حالة الاختبار المنطق موجود في البرامج النصية للاختبار. تتم قراءة بيانات الاختبار من الملفات الخارجية (ملفات Excel) ويتم تحميلها في المتغيرات داخل البرنامج النصي للاختبار. يتم استخدام المتغيرات لكل من قيم الإدخال وقيم التحقق.

إطار يحركه الكلمات الرئيسية: تتطلب الأطر المعتمدة على الكلمات الرئيسية تطوير جداول البيانات والكلمات الرئيسية، بشكل مستقل عن أتمتة الاختبار. في الاختبار المبني على الكلمات الرئيسية، يتم توثيق وظيفة التطبيق قيد الاختبار في جدول بالإضافة إلى إرشادات خطوة بخطوة لكل اختبار.


27) شرح كيفية الدخول إلى أي موقع إذا كان showing أي نافذة منبثقة للمصادقة لكلمة المرور واسم المستخدم؟

قم بتمرير اسم المستخدم وكلمة المرور باستخدام url

  • بناء الجملة-http://اسم المستخدم:password@url
  • على سبيل المثال- http://creyate:tom@www.gmailكوم

28) اشرح كيفية تأكيد نص صفحة الويب باستخدام السيلينيوم 2.0؟

WebElement el = driver.findElement(By.id(“ElementID”))

// احصل على اختبار من العنصر وقم بتخزينه في متغير النص

String text = el.getText();

// تأكيد النص من المتوقع

Assert.assertEquals(“Element Text”, text);

29) اشرح ما هو الفرق بين بورلاند سيلك والسيلينيوم؟

أداة اختبار الحرير أداة اختبار السيلينيوم
اختبار بورلاند سيلك ليس أداة اختبار مجانية السيلينيوم هو أداة أتمتة اختبار مجانية تمامًا
يدعم اختبار الحرير Internet Explorer و Firefox يدعم السيلينيوم العديد من المتصفحات مثل Internet Explorer، Firefoxوسفاري وأوبرا وما إلى ذلك
يستخدم اختبار الحرير لغة البرمجة النصية للاختبار تتمتع مجموعة السيلينيوم بالمرونة اللازمة لاستخدام العديد من اللغات مثل Java وRuby وPerl وما إلى ذلك
يمكن استخدام اختبار الحرير لتطبيقات خادم العميل يمكن استخدام السيلينيوم لتطبيقات الويب فقط

30) ما هو مستودع الكائنات؟

يعد مستودع الكائنات كيانًا أساسيًا في أي عمليات أتمتة لواجهة المستخدم والتي تسمح للمختبر بتخزين كل الكائنات التي سيتم استخدامها في البرامج النصية في واحد أو أكثر من المواقع المركزية بدلاً من نشرها في جميع أنحاء البرامج النصية للاختبار.


31) اشرح كيف تعمل شبكة السيلينيوم؟

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


32) هل يمكننا استخدام شبكة السيلينيوم لاختبار الأداء؟

نعم. ولكن ليس بنفس فعالية مخصصة اختبار أداء أداة مثل Loadrunner.


33) اذكر مزايا Webdriver مقارنة بخادم السيلينيوم؟

  • إذا كنت تستخدم Selenium-WebDriver، فلن تحتاج إلى خادم Selenium لأنه يستخدم تقنية مختلفة تمامًا
  • يوفر خادم السيلينيوم وظيفة Selenium RC التي يتم استخدامها للتوافق مع الإصدارات السابقة من Selenium 1.0
  • يقوم برنامج تشغيل الويب Selenium بإجراء مكالمات مباشرة إلى المتصفح باستخدام الدعم الأصلي لكل متصفح للأتمتة، بينما يتطلب Selenium RC خادم السيلينيوم لإدخال Javascript في المتصفح

34) اذكر ما هي إمكانيات Selenium WebDriver أو Selenium 2.0؟

يجب استخدام WebDriver عند الحاجة إلى دعم التحسين

  • التعامل مع إطارات متعددة، والنوافذ المنبثقة، ومتصفح متعدد windows والتنبيهات
  • التنقل في الصفحة والسحب والإفلات
  • عناصر واجهة المستخدم المستندة إلى Ajax
  • اختبار المتصفحات المتعددة بما في ذلك الوظائف المحسنة للمتصفح غير المدعومة بشكل جيد بواسطة السيلينيوم 1.0

35) أثناء إدخال الإمكانيات في برنامج تشغيل الويب لإجراء اختبارات على متصفح لا يدعمه برنامج تشغيل الويب، ما هو القيد الذي يمكن أن يواجهه المرء؟

يتمثل أحد القيود الرئيسية لإمكانيات الحقن في أن الأمر "findElement" قد لا يعمل كما هو متوقع.


36) اشرح كيف يمكنك العثور على الصور المكسورة في الصفحة باستخدام برنامج تشغيل الويب السيلينيوم؟

للعثور على الصور المكسورة في الصفحة باستخدام برنامج تشغيل الويب السيلينيوم

  • احصل على XPath واحصل على جميع الروابط الموجودة في الصفحة باستخدام اسم العلامة
  • في الصفحة، انقر على كل رابط
  • ابحث عن 404/500 في عنوان الصفحة المستهدفة

37) اشرح كيف يمكنك التعامل مع الألوان في برنامج تشغيل الويب؟

للتعامل مع الألوان في برنامج تشغيل الويب يمكنك استخدامه

استخدم الدالة getCssValue(arg0) للحصول على الألوان عن طريق إرسال سلسلة "اللون" كوسيطة


38) باستخدام برنامج تشغيل الويب كيف يمكنك تخزين قيمة نصية box?

يمكنك استخدام فولوwing أمر لتخزين القيمة التي هي النص box باستخدام برنامج تشغيل الويب

driver.findElement(By.id(“your Textbox”)).sendKeys(“your keyword”);


39) اشرح كيف يمكنك التبديل بين الإطارات؟

للتبديل بين إطارات برامج تشغيل الويب [ driver.switchTo().frame() ] تأخذ الطريقة واحدة من الوسائط الثلاث المحتملة

  • رقم: يتم اختيار الرقم من خلال فهرسه (صفر).
  • اسم أو معرف: حدد إطارًا حسب اسمه أو معرفه
  • تم العثور على WebElement مسبقًا: باستخدام WebElement الموجود مسبقًا، حدد إطارًا

40) اذكر 5 استثناءات مختلفة لديك في برنامج تشغيل الويب السيلينيوم؟

الاستثناءات الخمسة المختلفة التي كانت لديك في برامج تشغيل الويب السيلينيوم هي

  • WebDriverException
  • NoAlertPresentException
  • NoSuchWindowException
  • NoSuchElementException
  • TimeoutException

41) اشرح باستخدام Webdriver كيف يمكنك الأداء double انقر؟

يمكنك أداء double انقر باستخدام

  • Syntax- Actions act = إجراءات جديدة (سائق)؛
  • فعل.doubleانقر(webelement);

42) كيف ستستخدم السيلينيوم لتحميل ملف؟

يمكنك استخدام الأمر "type" لكتابة إدخال ملف box من تحميل الملف. بعد ذلك، يجب عليك استخدام فئة "Robot" في JAVA لتفعيل عملية تحميل الملفات.


43) ما هو تطبيق برنامج تشغيل الويب الأسرع؟

يعد تنفيذ برنامج تشغيل HTMLUnit هو الأسرع، ولا يقوم HTMLUnitDriver بتنفيذ الاختبارات على المتصفح ولكن طلب http عادي، وهو أسرع بكثير من تشغيل المتصفح وتنفيذ الاختبارات


44) اشرح كيف يمكنك التعامل مع الإطارات باستخدام السيلينيوم 2.0؟

للتحكم في إطار HTML، يمكنك استخدام طريقة الإطار "SwitchTo"-

driver.switchTo().frame(“frameName”);

لتحديد إطار يمكنك استخدام رقم الفهرس

driver.switchTo().frame(“parentFrame.4.frameName”);

سيؤدي هذا إلى التحكم في الإطار المسمى- "frameName" للـ 4th أسماء الإطارات الفرعية "parentFrame"


45) ما هو الفرق بين getWindowhandles() و getwindowhandle()؟

getwindowhandles(): يتم استخدامه للحصول على عنوان جميع المتصفحات المفتوحة ونوع الإرجاع الخاص به هو Set

getwindowhandle(): يتم استخدامه للحصول على عنوان المتصفح الحالي حيث يكون عنصر التحكم ونوع الإرجاع عبارة عن سلسلة


46) اشرح كيف يمكنك التبديل مرة أخرى من الإطار؟

للتبديل مرة أخرى من طريقة استخدام الإطار defaultContent()

Syntax-driver.switchTo().defaultContent();


47) اذكر الأنواع المختلفة من محددات المواقع؟

هناك أنواع مختلفة من محددات المواقع

  • بواسطة.id()
  • بالاسم()
  • بواسطة.tagName()
  • بواسطة.className()
  • بواسطة.linkText()
  • بواسطة.partialLinkText()
  • بواسطة.xpath
  • بواسطة.cssSelector()

48) ما هو الأمر المستخدم لعرض قيم المتغير في وحدة التحكم أو السجل؟

  • من أجل عرض سلسلة ثابتة، يمكن استخدام الأمر echo
  • إذا أردت عرض قيمة متغير، يمكنك استخدام أمر مثل echo ${variable name>>

أعلاه يستخدم PHP. إذا كنت تستخدم Java، فاستبدل echo بـ System.out.println


49) اشرح كيف يمكنك استخدام سيناريو الاسترداد مع السيلينيوم؟

تعتمد سيناريوهات الاسترداد على لغة البرمجة التي تستخدمها. إذا كنت تستخدم Java، فيمكنك استخدام معالجة الاستثناءات للتغلب عليها. باستخدام "Try Catch Block" ضمن اختبارات Java الخاصة بـ Selenium WebDriver


50) اشرح كيفية التكرار من خلال الخيارات في البرنامج النصي للاختبار؟

للتكرار عبر الخيارات في البرنامج النصي للاختبار، يمكنك تكرار ميزات لغة البرمجة، على سبيل المثال لكتابة بيانات اختبار مختلفة في النص box يمكنك استخدام حلقة "for" في Java

// اختبار جمع البيانات في المصفوفة

String[ ] testData = { “test1” , “test2” , “test3” } ;

// التكرار من خلال كل بيانات الاختبار

For  (string s: test data) { selenium.type ( “elementLocator”, testData) ; }

51) كيف يمكنك إعداد تقرير HTML مخصص باستخدام TestNG في إطار عمل مختلط؟

هناك ثلاث طرق

  • جونيت: بمساعدة ANT
  • TestNG: استخدام default.html يحمل في ثناياه عوامل للحصول على تقرير HTML. أيضًا تقارير XST من ANT، السيلينيوم، تستنج تركيبات
  • استخدام تقاريرنا المخصصة باستخدام XSL jar لتحويل محتوى XML إلى HTML

52) من البرنامج النصي للاختبار الخاص بك كيف يمكنك إنشاء تقرير اختبار HTML؟

لإنشاء تقرير اختبار HTML هناك ثلاث طرق

  • TestNG: استخدام default.html يحمل في ثناياه عوامل للحصول على تقرير HTML. أيضًا تقارير XLST من مجموعة ANT وSelenium وTestNG
  • JUnit: بمساعدة ANT
  • استخدام تقاريرنا المخصصة باستخدام XSL jar لتحويل محتوى XML إلى HTML


53) اشرح كيف يمكنك إدراج نقطة توقف في السيلينيوم IDE؟

In السيلينيوم IDE لإدراج نقطة فاصل

  • حدد "تبديل نقطة التوقف" بالنقر بزر الماوس الأيمن على الأمر في Selenium IDE
  • اضغط على "B" على لوحة المفاتيح وحدد الأمر في Selenium IDE
  • يمكن تعيين نقاط توقف متعددة في Selenium IDE

54) اشرح في Selenium IDE كيف يمكنك تصحيح الاختبارات؟

  • أدخل نقطة فاصل من الموقع الذي تريد تنفيذ الاختبار منه خطوة بخطوة
  • تشغيل حالة الاختبار
  • عند نقطة التوقف المحددة، سيتم إيقاف التنفيذ مؤقتًا
  • لمتابعة البيان التالي انقر على الزر الأزرق
  • انقر فوق الزر "تشغيل" لمواصلة تنفيذ جميع الأوامر في وقت واحد

55) ما هو السيليني وما هي أنواع السيليني؟

السيلينيز عبارة عن مجموعة أوامر من السيلينيوم تُستخدم لإجراء الاختبار

هناك ثلاثة أنواع من السيلينيين

  • الإجراءات: تستخدم في تنفيذ العمليات والتفاعلات مع العناصر المستهدفة
  • التأكيدات: يتم استخدامه كنقاط تفتيش
  • Accessors: يتم استخدامه لتخزين القيم في متغير

56) اشرح ما هي حدود السيلينيوم IDE؟

القيود المفروضة على السيلينيوم IDE

  • التعامل الاستثنائي غير موجود
  • يستخدم Selenium IDE لغات HTML فقط
  • قراءة قواعد البيانات الخارجية غير ممكنة مع IDE
  • القراءة من الملفات الخارجية مثل .txt، .xls غير ممكنة
  • تنفيذ العبارات الشرطية أو المتفرعة مثل عبارات التحديد غير ممكنة

57) ما هو وضعي وجهات النظر في السيلينيوم IDE؟

يمكن فتح إما Selenium IDE كنافذة منبثقة أو في شريط جانبي


58) في بيئة تطوير متكاملة السيلينيوم ما هي محددات العناصر التي يمكن استخدامها لتحديد العناصر على صفحة الويب؟

يوجد في السيلينيوم بشكل أساسي 4 محددات يتم استخدامها

  • محددات مسار X
  • محددات المواقع CSS
  • معرف أتش تي أم أل
  • اسم أتش تي أم أل

59) في بيئة تطوير متكاملة السيلينيوم كيف يمكنك توليد أرقام وتواريخ عشوائية لبيانات الاختبار؟

في Selenium IDE يمكنك إنشاء أرقام عشوائية باستخدام Java Script

type
css=input#s
javascript{Math.random()}

ولل

type
css=input#s
javascript{new Date()}

60) كيف يمكنك تحويل أي اختبارات السيلينيوم IDE من السيلينيزية إلى لغة أخرى؟

يمكنك استخدام خيار التنسيق الخاص بـ Selenium IDE لتحويل الاختبارات إلى لغة برمجة أخرى


61) باستخدام السيلينيوم IDE هل من الممكن الحصول على البيانات من خلية جدول HTML معينة؟

يمكنك استخدام الأمر "storeTable".

مثال لتخزين النص من الخلية 0,2،XNUMX من جدول html

storeTable
Css=#table 0.2
textFromCell

62) اشرح ما الذي يمكن أن يتسبب في فشل اختبار السيلينيوم IDE؟

  • عندما يتغير محدد الموقع ولا يتمكن Selenium IDE من تحديد موقع العنصر
  • عندما لم يظهر عنصر السيلينيوم IDE الذي ينتظر الوصول إليه على صفحة الويب وانتهت مهلة العملية
  • عندما لم يتم إنشاء عنصر السيلينيوم IDE الذي كان يحاول الوصول إليه

63) اشرح كيف يمكنك تصحيح اختبارات السيلينيوم IDE؟

  • قم بإدراج نقطة فاصل من الموقع الذي تريد تنفيذه خطوة بخطوة
  • تشغيل حالة الاختبار
  • عند نقطة التوقف المحددة، سيتم إيقاف التنفيذ مؤقتًا
  • لمتابعة الخطوة التالية، انقر على الزر الأزرق
  • لتشغيل الأوامر في وقت واحد انقر على زر التشغيل

64) من السيلينيوم IDE كيف يمكنك تنفيذ سطر واحد؟

يمكن تنفيذ أمر سطر واحد من Selenium IDE بطريقتين

  • حدد "تنفيذ هذا الأمر" بالنقر بزر الماوس الأيمن على الأمر في Selenium IDE
  • اضغط على مفتاح "X" على لوحة المفاتيح بعد تحديد الأمر في Selenium IDE

65) ما هو التنسيق الذي يعرض به العرض المصدر البرنامج النصي الخاص بك في Selenium IDE؟

في عرض مصدر Selenium IDE يُظهر البرنامج النصي الخاص بك بتنسيق XML


66) اشرح كيف يمكنك إدراج نقطة بداية في بيئة تطوير السيلينيوم؟

يمكن ضبط IDE السيلينيوم بطريقتين

  • اضغط على المفتاح "S" على لوحة المفاتيح وحدد الأمر في Selenium IDE
  • في Seleniun IDE، انقر بزر الماوس الأيمن على الأمر وحدد "Set / Clear Start Point"

67) ماذا لو كنت قد كتبت محدد موقع العناصر الخاص بك وكيف يمكنك اختباره؟

لاختبار محدد المواقع، يمكن للمرء استخدام "زر البحث" الخاص بـ Selenium IDE، وعند النقر عليه، سترى على الشاشة عنصرًا يتم تمييزه بشرط أن يكون محدد موقع العنصر الخاص بك صحيحًا وإلا سيتم عرض رسالة خطأ


68) ما هي التعبيرات العادية؟ كيف يمكنك استخدام التعبيرات العادية في السيلينيوم؟

التعبير العادي عبارة عن سلسلة نصية خاصة تستخدم لوصف نمط البحث. في Selenium IDE يمكن استخدام التعبير العادي مع الكلمة الأساسية- التعبير العادي: كبادئة للقيمة والأنماط يجب تضمينها للقيم المتوقعة.


69) ما هي الامتدادات الأساسية؟

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


70) كيف ستتعامل مع العمل مع متعددين windows في السيلينيوم؟

يمكننا استخدام الأمر حدد نافذة للتبديل بين windows. يستخدم هذا الأمر عنوان Windows لتحديد النافذة التي سيتم التبديل إليها.


71) كيف سيتم التحقق من الموضع المحدد لعنصر الويب

يمكنك استخدام VereElementPositionLeft وvereElementPositionTop. يقوم بإجراء مقارنة بكسل لموضع العنصر من يسار وأعلى الصفحة على التوالي


72) كيف يمكنك استرجاع الرسالة في حالة تنبيه box?

يمكنك استخدام الأمر storeAlert الذي سيجلب رسالة التنبيه المنبثقة ويخزنها في متغير.


73) ما هو السيلينيوم RC (جهاز التحكم عن بعد)؟

يحتوي Selenium IDE على قيود من حيث دعم المتصفح ودعم اللغة. باستخدام الحد من السيلينيوم RC يمكن أن يتضاءل.

  • على منصات مختلفة ومتصفحات ويب مختلفة لأتمتة تطبيق الويب، يتم استخدام السيلينيوم RC مع لغات مثل Java وC# وPerl وPython.
  • يعتمد Selenium RC على لغة Java ويستخدم أي لغة يمكنه التفاعل مع تطبيق الويب
  • باستخدام الخادم، يمكنك تجاوز التقييد وتشغيل البرنامج النصي للأتمتة الخاص بك والذي يعمل على أي تطبيق ويب

74) لماذا يستخدم السيلينيوم RC؟

لا يدعم Selenium IDE العديد من الوظائف بشكل مباشر مثل بيانات الحالة والتكرار والتسجيل والإبلاغ عن نتائج الاختبار ومعالجة الأخطاء غير المتوقعة وما إلى ذلك حيث يدعم IDE لغة HTML فقط. للتعامل مع مثل هذه المشكلات، يتم استخدام السيلينيوم RC وهو يدعم لغات مثل Perl، وRuby، وPython، PHP باستخدام هذه اللغات يمكننا كتابة البرنامج لتحقيق مشاكل IDE.


75) اشرح ما هو الفرق الرئيسي بين برنامج تشغيل الويب وRC؟

يتمثل الاختلاف الرئيسي بين Selenium RC وWebdriver في أن السيلينيوم RC يقوم بإدخال وظيفة جافا سكريبت في المتصفحات عند تحميل الصفحة. من ناحية أخرى، يقوم Selenium Webdriver بتشغيل المتصفح باستخدام المتصفحات المضمنة في الدعم


76) ما هي مميزات RC؟

مزايا RC هي

  • يمكن قراءة أو كتابة البيانات من/ إلى .xls، .txt، إلخ
  • يمكنه التعامل مع الكائنات الديناميكية وعناصر واجهة المستخدم المستندة إلى Ajax
  • يمكن استخدام الحلقات والشروط لتحسين الأداء والمرونة
  • دعم العديد من لغات البرمجة وأنظمة التشغيل
  • بالنسبة لأي متصفح يدعم برنامج Java script، يمكن استخدام Selenium RC

77) اشرح ما هو الإطار وما هي الأطر المتوفرة في RC؟

تُعرف مجموعة المكتبات والفصول الدراسية باسم Framework وهي مفيدة عندما يتعين على المختبرين أتمتة حالات الاختبار. NUnit، JUnit، TestNG، Bromine، RSpec، Unittest هي بعض من الأطر المتوفرة في RC .


78) كيف يمكننا التعامل مع النوافذ المنبثقة في RC؟

للتعامل مع النوافذ المنبثقة في RC، باستخدام طريقة SelectWindow، سيتم تحديد نافذة منبثقة وستسمح طريقة windowFocus بالتحكم من النافذة الحالية إلى النافذة المنبثقة windows وتنفيذ الإجراءات وفقا للبرنامج النصي


79) ما هي القيود الفنية أثناء استخدام السيلينيوم RC؟

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


80) هل يمكننا استخدام Selenium RC لإجراء الاختبارات على متصفحين مختلفين على نظام تشغيل واحد بدون شبكة السيلينيوم؟

نعم، من الممكن ذلك عندما لا تستخدم إطار اختبار JAVA. بدلاً من استخدام إطار عمل اختبار Java إذا كنت تستخدم برنامج تشغيل عميل Java الخاص بالسيلينيوم، فإن TestNG يسمح لك بالقيام بذلك. باستخدام سمة "parallel=test" يمكنك ضبط الاختبارات ليتم تنفيذها بالتوازي، كما يمكنك تحديد اختبارين مختلفين، يستخدم كل منهما متصفحًا مختلفًا.


81) لماذا يجب استخدام TestNG مع السيلينيوم RC؟

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


82) اشرح كيف يمكنك التقاط سجل خادم السيلينيوم من جانب الخادم؟

لالتقاط السجل من جانب الخادم في خادم السيلينيوم، يمكنك استخدام الأمر

java –jar .jar –log selenium.log


83) بخلاف المنفذ الافتراضي 4444 كيف يمكنك تشغيل خادم السيلينيوم؟

يمكنك تشغيل خادم السيلينيوم على java-jar selenium-server.jar-port بخلاف المنفذ الافتراضي الخاص به


84) كيف يظل محور شبكة السيلينيوم على اتصال مع آلة الرقيق RC؟

في الوقت المحدد مسبقًا، يستمر محور شبكة السيلينيوم في استطلاع جميع عبيد RC للتأكد من أنه متاح للاختبار. تسمى المعلمة الحاسمة "remoteControlPollingIntervalSeconds" ويتم تعريفها في ملف "grid_configuration.yml"


85) باستخدام السيلينيوم كيف يمكنك التعامل مع زمن الوصول للشبكة؟

للتعامل مع زمن استجابة الشبكة، يمكنك استخدام driver.manage.pageloadingtime لزمن وصول الشبكة


86) لإدخال القيم على النص boxما هو الأمر الذي يمكن استخدامه؟

لإدخال القيم على النص boxيمكننا استخدام الأمر مفاتيح الإرسال ()


87) كيف يمكنك التعرف على جسم باستخدام السيلينيوم؟

لتحديد كائن باستخدام السيلينيوم يمكنك استخدامه

isElementPresent(String locator)

يأخذ isElementPresent محدد المواقع كوسيطة وإذا تم العثور عليه فإنه يُرجع قيمة منطقية


88) في السيلينيوم ما هي نقاط التوقف ونقاط البداية؟

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

89) أذكر لماذا تختار بايثون على جافا في السيلينيوم؟

بعض النقاط التي تفضل بايثون عبر Java لاستخدامه مع السيلينيوم،

  • تميل برامج Java إلى العمل بشكل أبطأ مقارنة ببرامج Python.
  • تستخدم Java الأقواس التقليدية لبدء الكتل وإنهائها، بينما تستخدم Python المسافة البادئة.
  • تستخدم Java الكتابة الثابتة، بينما تتم كتابة Python ديناميكيًا.
  • بايثون أبسط وأكثر إحكاما مقارنة بجافا.

90) أذكر ما هي التحديات في التعامل مع Ajax Call في Selenium Webdriver؟

التحديات التي تواجه التعامل مع Ajax Call في Selenium Webdriver هي

  • إن استخدام أمر "الإيقاف المؤقت" للتعامل مع مكالمات Ajax ليس موثوقًا تمامًا. وقت التوقف الطويل يجعل الاختبار بطيئًا بشكل غير مقبول ويزيد من وقت الاختبار. بدلًا من ذلك، سيكون الأمر "waitforcondition" أكثر فائدة في اختبار تطبيقات Ajax.
  • من الصعب تقييم المخاطر المرتبطة بتطبيقات Ajax معينة
  • إن منح الحرية الكاملة للمطورين لتعديل تطبيق Ajax يجعل عملية الاختبار صعبة
  • قد يكون إنشاء طلب اختبار آلي أمرًا صعبًا بالنسبة لأدوات الاختبار لأن تطبيق AJAX غالبًا ما يستخدم تقنية تشفير أو تسلسل مختلفة لإرسال بيانات POST.

91) اذكر ما هو IntelliJ؟

Intellij هو IDE يساعدك على كتابة تعليمات برمجية أفضل وأسرع للسيلينيوم. يمكن استخدام Intellij في خيار Java Bean و Eclipse.


92) اذكر ما هي الطرق التي يمكنك من خلالها تخصيص تقرير TestNG؟

يمكنك تخصيص تقرير TestNG بطريقتين،

  • باستخدام واجهة ITestListener
  • باستخدام واجهة IReporter

93) لإنشاء تقارير بصيغة pdf، أذكر ما هو Java API المطلوب؟

لإنشاء تقارير بصيغة pdf، تحتاج إلى Java API IText.


94) اذكر ما هو المستمعون في برنامج Selenium WebDriver؟

في Selenium WebDriver، "يستمع" المستمعون إلى الحدث المحدد في نص السيلينيوم ويتصرفون وفقًا لذلك. يسمح بتخصيص تقارير أو سجلات TestNG. هناك نوعان من المستمعين الرئيسيين، أي مستمعي WebDriver ومستمعي TestNG.


95) اذكر ما هي أنواعها المستمعين في TestNG?

أنواع المستمعين في TestNG هي،

  • I التعليقات التوضيحية
  • IAnnotationTransformer2
  • قابل للتكوين
  • IConfigurationListener
  • IExecutionListener
  • IHookable
  • IInvocedMethodListener
  • IInvocedMethodListener2
  • المعترض
  • ايريبورتير
  • ISuiteListener
  • ITestListener

96) اذكر ما هي القدرة المطلوبة؟ كيف هو مفيد من حيث السيلينيوم؟

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

للسيلينيوم ،

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

97) لاختبار قاعدة البيانات في السيلينيوم Webdriver ما هي واجهة برمجة التطبيقات المطلوبة؟

في حالة اختبار قاعدة البيانات في Selenium Webdriver، تحتاج إلى واجهة برمجة تطبيقات JDBC (اتصال قاعدة بيانات Java). انها تسمح لك بالتنفيذ SQL صياغات.


98) اذكر متى يجب استخدام AutoIT؟

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


99) اذكر لماذا تحتاج إلى Session Handling أثناء العمل مع السيلينيوم؟

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


100) أذكر ما هي مميزات استخدام Git Hub للسيلينيوم؟

مزايا استخدام Git Hub للسيلينيوم هي

  • عندما يعمل العديد من الأشخاص في نفس المشروع، يمكنهم تحديث المشروع details وإبلاغ أعضاء الفريق الآخرين في نفس الوقتneoعادة.
  • يستطيع Jenkins مساعدتك في بناء المشروع من المستودع البعيد بشكل منتظم. يساعدك هذا على تتبع عمليات الإنشاء الفاشلة.

الاستعداد لمقابلة العمل الخاصة بك !!! اذهب عبر دروس السيلينيوم لنكون مستعدين بشكل أفضل.
اختبر معلوماتك مع مسابقة السيلينيوم

تنزيل PDF مجاني: أسئلة وأجوبة مقابلة السيلينيوم

سيساعدك ملف PDF التفصيلي لأسئلة المقابلة الخاصة بالسيلينيوم مع جافا على إزالة الشكوك حول أسئلة المقابلة الخاصة باختبار السيلينيوم وسيساعدك أيضًا على اجتياز المقابلة.