أسهل 6 طرق للعثور على المكونات في السيلينيوم

نشرت: 2022-05-19

العثور على مكونات في السيلينيوم

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

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

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

ولكن قبل النظر في الطرق المختلفة للعثور على مكونات السيلينيوم ، من الضروري فهم ماهية هذه المكونات وكيفية عملها.

مكونات السيلينيوم

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

إنه عملي لكل متصفح ويسمح لك بالعمل على كل نظام تشغيل أساسي. تتكون نصوصها من عدة لغات برمجة مثل Python و Java و C # وما إلى ذلك ، كما أنها تستخدم عدة لغات أخرى بجانب هذه اللغات ، وهنا سنستخدم لغة Python الشائعة جدًا لفهم بسيط.

يمتلك السيلينيوم أربعة عناصر أساسية - Selenium IDE و Selenium RC و Selenium Web Driver و Selenium GRID.

يوجد السيلينيوم في الأعمال التجارية منذ فترة من قبل مختبري الميكنة في جميع أنحاء العالم.

دعونا نفحص العناصر الأربعة الأساسية للسيلينيوم -

  • السيلينيوم IDE

يعد السيلينيوم IDE (المعروف أيضًا باسم بيئة التطوير المتكاملة) أحد المعدات الأساسية في مجموعة السيلينيوم. إنها بيئة تطوير متكاملة (IDE) لتجارب السيلينيوم. يتم فرضه كإضافة في Firefox بالإضافة إلى امتداد Chrome.

جانب آخر من Selenium IDE هو أنه يتيح التقاط التجارب العملية وإعادة كتابتها وتصحيحها. كان يُعرف سابقًا باسم مسجل السيلينيوم. تم إنشاء Selenium-IDE في البداية بواسطة Shinya Kasatani ومنحته لمشروع السيلينيوم في عام 2006.

لم تتم صيانة السيلينيوم IDE بشكل مناسب في وقت سابق وبدأت موجودة في 2018.

قد يتم التقاط الكتابات بمفردها وتعديلها يدويًا ، مما يوفر مساعدة الإكمال التلقائي والكفاءة في نقل الأوامر بسرعة. تم الإبلاغ عن البرامج النصية في Selenese ، وهي لغة برمجة نصية تجريبية خاصة للسيلينيوم.

يسلم Selenese أوامر لإجراء الأنشطة في المتصفح (اضغط على رابط ، اختر بديلاً) والحصول على البيانات من الصفحات التي تحدث.

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

Selenium Remote Control (المعروف أيضًا باسم RC) هو خادم ويب يتكون من لغة Java التي تصدق على الأوامر من خلال المتصفح من خلال HTTP. تعمل RC على تسهيل تكوين اختبارات محوسبة لتطبيقات الويب بعدة لغات تشفير ، مما يتيح التكامل اللائق للسيلينيوم في أطر اختبار المكونات السائدة.

يوفر برنامج السيلينيوم حاليًا برامج تشغيل للمستهلكين لعدة لغات مثل PHP و Python و Ruby و .NET و Perl و Java لتبسيط اختبارات الأطروحة. علاوة على ذلك ، يمكنك استخدام Java Driver مع JavaScript (من خلال محرك Rhino).

مطلوب مثال لخادم السيلينيوم RC لنشر تجربة اختبار HTML - وهذا يعني أن المرسى يجب أن يكون عدة لكل عملية تشابه. ومع ذلك ، بالنسبة لحالة اختبار Java / PHP ، يلزم وجود عينة واحدة فقط من السيلينيوم RC لتعمل إلى ما لا نهاية.

  • برنامج تشغيل الويب السيلينيوم

السيلينيوم WebDriver هو وراثة السيلينيوم RC. يلتزم Selenium WebDriver بالأوامر (يتم تسليمها في Selenese أو من خلال Client API) ويوفرها للمتصفح. يتم فرض ذلك عبر برنامج تشغيل متصفح خاص بالمتصفح يقدم أوامر للمستعرض ويحصل على النتائج.

من المؤكد أن جميع برامج تشغيل المستعرضات تقريبًا تفتح وتصل إلى تطبيقات المتصفح (مثل Mozilla Firefox أو Google Chrome أو Internet Explorer أو Safari أو حتى Microsoft Edge) ؛ علاوة على ذلك ، يحاكي برنامج تشغيل متصفح HtmlUnit متصفحًا عن طريق استخدام التطبيق بدون رأس HtmlUnit.

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

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

  • شبكة السيلينيوم

شبكة السيلينيوم هي خادم يمكّن التجارب من استخدام عينات متصفح الويب التي تعمل على أجهزة معزولة. يسجل المحور الخوادم التي تصل إلى عينات المتصفح (عقد WebDriver) ويسمح للاختبارات باستخدام هذه العينات.

تسمح شبكة السيلينيوم بإجراء اختبارات في المراسلات على أجهزة متعددة وتحكم إصدارات المستعرض المتميزة وتركيبات المستعرض بشكل مركزي (بدلاً من كل اختبار فردي).

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

6 أسهل طرق للعثور على المكونات في السيلينيوم

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

قائمة بـ 6 طرق سهلة للعثور على مكونات واجهة المستخدم الرسومية في السيلينيوم هي-

  • بطاقة تعريف
  • اسم
  • نص الرابط
  • نص رابط جزئي
  • اسم العلامة
  • اسم الفصل

باستخدام محددات المواقع أعلاه في Selenium WebDriver ، يمكنك تحديد موقع المكونات من خلال بناء جملة "findElement / findElements".

1. معرف محدد

المعرفات هي الخيار الأكثر فاعلية والأسرع لتحديد المواقع للعثور على المكونات في السيلينيوم. المعرفات هي أرقام فريدة لتحديد أي مكونات. يستدعي محدد موقع المعرف document.getElementById () ، مما يجعله أسرع خيار محدد للمواقع. تعمل العديد من المتصفحات على تحسين أجهزة iD.

2. اسم محدد

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

3. محدد موقع LinkText

إنه خيار تحديد موقع يعتمد على الموقف. LinkText Locator الوصول إلى الارتباطات باستخدام نص الارتباط الدقيق من خلال طريقة By.linkText () . ومع ذلك ، قد يكون هناك موقف حيث يكون لدى جمعيتين أو أكثر نص الرابط المحدد ؛ في هذه الحالة ، يختار السيلينيوم أول عنصر مطابق مع الارتباط لتنفيذ أي إجراء.

4. محدد موقع LinkText الجزئي

هذا مرة أخرى خيار تحديد موقع على أساس الموقف. روابط الوصول الجزئي LinkText Locator باستخدام جزء من نص الارتباط من خلال طريقة By.partialLinkText () . سيتم الوصول إلى أول تطابق من الكل إذا قمت بتحديد نص ارتباط جزئي مع تطابقات متعددة.

5. TagName محدد موقع

يعد TagName Locator جزءًا من بنية DOM وفي هذه البنية ، يتم تحديد كل عنصر على صفحة الويب الخاصة بالسيلينيوم عبر علامات مثل علامة الزر وعلامة الإدخال وعلامة الربط وما إلى ذلك. تأتي كل علامة بسمات متعددة مثل الاسم وفئة القيمة والمعرف ، إلخ.

6. محدد موقع ClassName

عندما يتم تعريف العناصر باستخدام سمة class ، يكون ClassName Locator من بين أفضل الطرق لتحديد موقعهم. أفضل جزء في سمات الفصل هو أنه لا يلزم أن يكون فريدًا مثل المعرف.

طرق أخرى للعثور على مكونات في السيلينيوم

بصرف النظر عن الطرق الست الأكثر بروزًا للعثور على مكونات السيلينيوم ، هناك طريقتان أخريان. هذه الطرق ليست مميزة ولكنها فعالة في الاستخدام.

1. XPath

يوفر تعبير XPath طرقًا موثوقة لتحديد موقع مكونات الويب ، ولكنه أيضًا الأبطأ بين جميع محددات المواقع. محركات XPath غير متسقة عبر المتصفحات لأنها مختلفة في كل متصفح. على سبيل المثال ، لن يعمل كود XPath الخاص بك على IE إذا قمت بكتابته في Chrome.

2. محدد CSS

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

ابدأ اختبار أتمتة السيلينيوم باستخدام LambdaTest

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

ستساعدك LambdaTest ، وهي منصة اختبار سحابية قوية ، على تسريع مهارات اختبار الأتمتة. يوفر اختبارًا آليًا للمتصفح مع أفضل أدوات اختبار التشغيل الآلي مثل Selenium و Cypress و Playwright و Puppeteer عبر أكثر من 3000 متصفحات سطح المكتب والجوال ويستخدم أدوات مطور متكاملة لتصحيح الأخطاء التي ستساعدك أيضًا على تعلم أدوات اختبار الأتمتة المتقدمة. كما أن لديها أكثر من 600000 مستخدم مخلص من أكثر من 130 دولة.

السيلينيوم مع LambdaTest هو الزوج الوحيد الذي تحتاجه لتعزيز رحلتك الاختبارية.