صندوق المؤلف


ناقش مشروعك

من نحن

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

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

ما هو السيلينيوم؟ البدء في اختبار الأتمتة

By فيبين جوشي / 29 يوليو 2019

21 نوفمبر، 2023
ما هو السيلينيوم؟ البدء في اختبار الأتمتة

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

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

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

بالنسبة للمبتدئين، عنصر السيلينيوم هي أداة مفتوحة المصدر متاحة لأتمتة الاختبارات المطلوبة التي يتعين إجراؤها على المتصفحات القائمة على الويب. (بكلمات أبسط ، يختبر تطبيقات الويب باستخدام أي متصفحات قائمة على الويب مثل Google Chrome و Mozilla Firefox و Opera Browser و Internet Explorer و MS Edge وما إلى ذلك)

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

الشيء الجيد هو أنه يمكنك أتمتة اختبار البرامج وتطبيقات الهاتف المحمول باستخدام الأدوات الأخرى المتاحة مثل: RFT من IBM و QPT من HP و Appium وما إلى ذلك.

تركز هذه المدونة أيضًا على اختبار وتحليل الجودة لـ تطبيقات الويب الديناميكية والأسباب التي تجعل السيلينيوم أفضل حل لتحقيق / تحقيق هذا الغرض.

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

فوائد ومزايا استخدام السيلينيوم

فيما يلي فوائد ومزايا استخدام السيلينيوم:

  • يمكن لمحلل الجودة استخدام أي من منصات البرمجة هذه لكتابة نصوص الاختبار: C # و PHP و .NET و Java و Python و Ruby & Perl.
  • يمكنك إجراء الاختبار ليس فقط على نظام تشغيل واحد ولكن أيضًا على Windows أو Mac أو Linux.
  • يمكنك استخدام متصفحات مختلفة لأداء المهام: Mozilla Firefox و Google Chrome و Internet Explorer و Opera و Safari.
  • يمكن دمج أدوات مثل TestNG و Junit مع السيلينيوم لإنشاء التقارير وإدارة حالات الاختبار.
  • يمكن أيضًا دمج Maven و Jenkins & Docker مع السيلينيوم لإجراء اختبار مستمر.

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

عيوب السيلينيوم

فيما يلي عيوب السيلينيوم:

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

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

  1. متطلبات اختبار البرمجيات
  2. قيود الاختبار اليدوي
  3. اختبار الأتمتة أفضل من الاختبار اليدوي؟
  4. السيلينيوم v / s أدوات الاختبار الأخرى المتاحة
  5. مجموعة أدوات السيلينيوم

أيضا ، اقرأ: Cypress vs Selenium - حدد إطار الأتمتة الخاص بك

متطلبات اختبار البرمجيات

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

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

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

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

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

أبسط إجابة هي: عن طريق اختبار الكود قبل النشر وهذا هو مطلب اختبار البرنامج أيضًا.

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

تم تصميم السيلينيوم باعتباره أداة الأتمتة لتغطية المناطق التي لم يكن من الممكن تغطيتها بالاختبار اليدوي ، لذا سيناقش الجزء التالي من هذه المدونة قيود الاختبار اليدوي.

أيضا ، اقرأ: 11 سؤالاً حول ضمان الجودة والاختبار لطرحها على شريكك في تطوير التطبيقات

قيود الاختبار اليدوي

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

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

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

لهذا السبب أدت هذه الأسباب إلى اختراع السيلينيوم الذي نعرفه اليوم.

أيضا ، اقرأ: ما هو اختبار الدخان؟ دورها وفوائدها

هل اختبار الأتمتة أفضل من الاختبار اليدوي؟

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

اسمحوا أحاول أن أشرح ذلك قليلاً بمساعدة مثال.

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

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

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

حسنًا ، الإجابة هي أنه لا يمكنك أتمتة الاختبار فحسب ، بل يمكنك أيضًا أتمتة إنتاج / إنشاء ملفات النتائج ويمكنك جدولتها أيضًا في وقت معين من أي يوم.

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

بحاجة إلى مساعدة في الاختبار الآلي للسيلينيوم?

أرسل لنا متطلباتك ، وسنعاود الاتصال بك مع عرض أسعار

السيلينيوم v / s أدوات الاختبار الأخرى المتاحة

الآن دعونا نلقي نظرة على أين تقف السيلينيوم في السوق.

للقيام بذلك ، حاولت مقارنة أداء السيلينيوم مع اثنين من الأدوات الشائعة الأخرى المتوفرة في السوق: QTP (من HP) و RFT (من IBM) في الجدول أدناه.

خصائص RFT (آي بي إم)RFT (آي بي إم)كيو تي بي (هب)السيلينوم
الترخيصمطلوب: مطلوب: مفتوحة المصدر
التسعيرمرتفعمرتفعأداة مفتوحة المصدر
دعم العملاءدعم مخصص من شركة IBMدعم مخصص من HPمجتمع مفتوح المصدر
استخدام الأجهزة أثناء تنفيذ البرنامج النصي التجريبيمرتفعمرتفعمنخفض
مهارات كتابة الكودضروريليس من الضروريالمعرفة والخبرة كتابة الكود السليم أمر لا بد منه
البيئات المدعومةالنوافذ فقطالنوافذ فقطWindows و Linux و Mac و Solaris OS X (فقط في حالة وجود دعم JVM أو JavaScript)
اللغات المعتمدةC # وجافاالنصي VBJava و C # و PHP و Ruby و Python و Perl و JavaScript

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

أيضا ، اقرأ: 7 أسباب للتعامل بجدية مع هندسة تطبيقات الويب

مجموعة أدوات السيلينيوم

يتكون السيلينيوم من أدوات برمجية مختلفة ولكل أداة / مكون دور محدد.

  1. السيلينيوم RC (مستهلك الآن)
  2. السيلينيوم IDE
  3. شبكة السيلينيوم
  4. سيلينيوم WebDriver
مجموعة أدوات السيلينيوم

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

أعتقد أنه يجب علي أولاً مناقشة الأداة الأولى لمشروع السيلينيوم قبل الحديث عنها السيلينيوم أرسي وكانت تلك الأداة "نواة السيلينيوم". لكن سياسة الأصل نفسها كانت أكبر مشكلة في Selenium Core كلما كان الاختبار عبر المجال مطلوبًا.

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

كان هذا هو سبب وجود السيلينيوم RC الذي نعرفه اليوم ومعتمد من بول هامانت الذي كان مهندسًا في الفكر فى ذلك التوقيت.

السيلينيوم أرسي استبعاد المشكلة باستخدام ملف خادم HTTP الوكيل بطريقة تجعل المتصفح يتصرف مثل Selenium Core وكان تطبيق الويب الذي كان قيد الاختبار من نفس المجال وهذا هو السبب في أن RC تُعرف أيضًا بأداة ثنائية المكونات وهي:

  • خادم Selenium RC- (يتصل عبر طلبات HTTP GET / POST البسيطة)
  • عميل Selenium RC - (إنها مكتبة تحتوي على كود لغة البرمجة الخاصة بك)

جوهرة التاج من مشروع السيلينيوم كان السيلينيوم RC لسببين رئيسيين أ) كان السيلينيوم RC هو الأداة الأولى لهم ، و ب) كان لديه القدرة على كتابة نصوص اختبار في منصات برمجة متعددة.

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

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

ولكن على الجانب المشرق ، لا فائدة من استخدام شيء قديم وتم استبداله بأداة متقدمة وفعالة للغاية وهي Selenium WebDriver.

الآن قبل أن أناقش ويب درايفر معكم ، اسمحوا لي أن أتحدث عن الأدوات الأخرى التي شكلت بشكل جماعي السيلينيوم V1.

أيضا ، اقرأ: الاختبار المستند إلى النموذج: العصر الجديد لأتمتة البرامج

2. السيلينيوم IDE (بيئة التطوير المتكاملة)

شينيا كاستاني تبدأ من اليابان، قدم له نموذج السيلينيوم IDE لمشروع Apache على أساس السيلينيوم في عام 2006. كان مكونًا إضافيًا يعتمد على Firefox ويركز على إنشاء حالات اختبار بشكل أسرع.

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

أهم ميزة مع السيلينيوم IDE هو أنه يمكنك تصدير الاختبارات التي تم إنشاؤها باستخدام البرنامج المساعد بلغات متعددة مثل: Java و Python و Ruby وما إلى ذلك.

المشكلات المعروفة في IDE هي:

  1. كان البرنامج المساعد متاحًا فقط لموزيلا فايرفوكس.
  2. يمكنك فقط تسجيل الاختبارات البسيطة واختبار تطبيقات الويب الديناميكية غير ممكن.
  3. لا يمكنك كتابة حالات الاختبار باستخدام منطق البرمجة.
  4. لا يدعم Selenium IDE الاختبار المبني على البيانات.

3. شبكة السيلينيوم

باتريك لايت بودي تطوير شبكة السيلينيوم وأطلق عليه في البداية مستضاف. استخدمها مع RC لإنجاز الاختبار على الأجهزة البعيدة. كان في البداية جزءًا من السيلينيوم V1. كانت الميزة الأكثر أهمية لـ Grid هي قدرتها على تشغيل نصوص اختبار متعددة على أجهزة متعددة في نفس الوقت.

يتم استخدام بنية Hub-Node لتنفيذ التنفيذ المتوازي. من المفترض أن يعمل أحد الأجهزة كمحور والآخر سيكون العقدة حيث يتمثل دور المحور في التحكم في نصوص الاختبار المختلفة التي تعمل على متصفحات مختلفة تعمل على أنظمة تشغيل مختلفة.

يتم تحقيق التنفيذ المتوازي بمساعدة بنية Hub-Node. يُفترض أن تعمل إحدى الأجهزة كمحور والآلة الأخرى تعمل بمثابة العقد. يتحكم Hub في البرامج النصية للاختبار التي تعمل على متصفحات مختلفة داخل أنظمة تشغيل مختلفة. يمكننا كتابة النصوص بلغات برمجة مختلفة يتم تنفيذها في عقد مختلفة.

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

للتعامل مع هذا الموقف ، العديد من المنصات عبر الإنترنت مثل "LambdaTest". توفر هذه المنصات شبكة سيلينيوم على الإنترنت يمكن الوصول إليها لتشغيل وتنفيذ نص التشغيل الآلي للسيلينيوم.

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

يكتسب اختبار Lambda أكثر من 2000 بيئة صديقة للمتصفح يمكن استخدامها للتحقق من الاختبارات المطلوبة وتشغيلها لتحقيق هدف أتمتة الاختبار عبر المتصفحات.

أيضا ، اقرأ: 11 سؤالاً حول ضمان الجودة والاختبار لطرحها على شريكك في تطوير التطبيقات

4. سيلينيوم ويب درايفر

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

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

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

يحتاج RC إلى خادم RC لأداء هذه المهمة. يجعل اتصال WebDriver المباشر بالمستعرض أداة أكثر كفاءة وفعالية للاختبار الآلي.

نعلم أنه لتشغيل التطبيقات ، يتم تجهيز المتصفحات ببرامج التشغيل الخاصة بها على سبيل المثال:

  • سائق كروم
  • سائق سفاري
  • برنامج تشغيل Internet Explorer
  • سائق Firefox أو سائق أبو بريص
  • أوبرا سائق و
  • سائق وحدة HTM

مزايا WebDriver السيلينيوم

فيما يلي بعض مزايا / مزايا استخدام Selenium WebDriver:

  • قادر على إجراء اختبار عبر المتصفح لأنه يدعم المتصفحات مثل: Firefox و Chrome و IE وما إلى ذلك.
  • قادر على إجراء اختبارات على أنظمة تشغيل متعددة مثل Windows و Mac و Linux و Android و iOS وما إلى ذلك.
  • متوافق مع 7 منصات برمجة مختلفة مثل JAVA و PHP و Ruby و Perl و Python و C # و .Net.
  • تم حل المشكلات المتعلقة بـ Selenium V1 مثل حاجز مربعات الحوار والنوافذ المنبثقة وتنزيل الملفات وتحميل الملفات وما إلى ذلك.

عيوب WebDriver السيلينيوم

فيما يلي التحديات الرئيسية التي كانت مع Selenium WebDriver:

  • يعد إنشاء تقارير اختبار مفصلة أمرًا مرهقًا ومستحيلًا في الغالب.
  • لا يمكنك اختبار الصور باستخدام Selenium WebDriver.

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

أيضا ، اقرأ: تكلفة تطوير تطبيقات الويب: تفاصيل الأسعار لعام 2021

مكونات سيلينيوم WebDriver العمارة

هندسة السيلينيوم WebDriver يتكون من المكونات التالية:

  1. الارتباطات الخاصة باللغة: هذه هي المكتبات التي تسمح لك باستخدام Selenium WebDriver بلغة برمجة معينة ، مثل Java أو Python. توفر الارتباطات مجموعة من الأساليب والفئات التي يمكنك استخدامها للتفاعل مع المستعرض وتنفيذ البرامج النصية للاختبار.
  2. برامج تشغيل المتصفح: هذه هي الملفات التنفيذية التي تسمح لـ Selenium WebDriver بالاتصال بالمستعرض. يحتوي كل متصفح على برنامج تشغيل خاص به ، وستحتاج إلى تثبيت برنامج التشغيل المناسب للمتصفح الذي تريد استخدامه.
  3. بروتوكول سلك JSON: هذا هو بروتوكول الاتصال الذي يتم استخدامه لإرسال أوامر من الروابط إلى برامج تشغيل المتصفح واستقبال الردود مرة أخرى. يتكون البروتوكول من مجموعة من نقاط نهاية RESTful API التي تسمح للارتباطات بإرسال الأوامر واستقبال الردود.
  4. المتصفح: هذا هو متصفح الويب الذي يتم تنفيذ الاختبارات فيه. يدعم Selenium WebDriver مجموعة كبيرة من المتصفحات ، بما في ذلك Chrome و Firefox و Safari و Edge.

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

أيضا ، اقرأ: أهم أخطاء تطوير تطبيقات الويب التي يجب تجنبها في عام 2022

مقارنة بين السيلينيوم و QTP (الآن UFT)

السيلينيوم و QTP (يسمى الآن UFT ، أو الاختبار الوظيفي الموحد) كلاهما أداتان للاختبار الآلي لتطبيقات الويب. فيما يلي بعض الاختلافات بين الاثنين:

عنصر السيلينيومQTP / UFT
دعم اللغةJava و Python و C # و Ruby و JavaScriptفبسكريبت
دعم المتصفحكروم ، فايرفوكس ، سفاري ، إيدجإنترنت إكسبلورر
تصميم الاختبارالاختبار الوظيفياختبار الانحدار
تحديد الكائنمعرف العنصر ، واسم الفئة ، ومحدد CSSمستودع الكائنات بأسماء منطقية
التكامل مع الأدوات الأخرىسهولة التكامل مع مجموعة متنوعة من الأدواتتكامل مدمج مع HP ALM
  1. دعم اللغة: يدعم السيلينيوم مجموعة متنوعة من لغات البرمجة ، بما في ذلك Java و Python و C # و Ruby و JavaScript ، بينما يدعم QTP / UFT VBScript فقط.
  2. دعم المتصفح: يدعم السيلينيوم مجموعة كبيرة من المتصفحات ، بما في ذلك Chrome و Firefox و Safari و Edge ، بينما يدعم QTP / UFT بشكل أساسي Internet Explorer.
  3. تصميم الاختبار: السيلينيوم هو في الأساس أداة اختبار وظيفية ، وعادة ما يتم تصميم الاختبارات كسلسلة من الخطوات التي قد يتخذها المستخدم أثناء التفاعل مع التطبيق. يتجه QTP / UFT بشكل أكبر نحو اختبار الانحدار ، ويتم تصميم الاختبارات عادةً كسلسلة من نقاط التفتيش التي تتحقق من صحة سلوك التطبيق.
  4. تحديد الكائن: يستخدم السيلينيوم مجموعة متنوعة من التقنيات لتحديد العناصر على صفحة الويب ، بما في ذلك معرف العنصر واسم الفئة ومحدد CSS. يستخدم QTP / UFT مستودع كائن لتخزين معلومات حول الكائنات في التطبيق ، ويشير اختبار البرامج النصية إلى هذه الكائنات باستخدام أسماء منطقية.
  5. التكامل مع الأدوات الأخرى: يمكن دمج السيلينيوم بسهولة مع مجموعة متنوعة من الأدوات ، مثل أدوات أتمتة البناء مثل Jenkins ، في حين أن QTP / UFT لديها تكامل مدمج مع أداة HP's ALM (Application Lifecycle Management).

وبشكل عام، عنصر السيلينيوم هو خيار شائع للوظيفة اختبار تطبيقات الويب نظرًا لدعمها لمجموعة واسعة من اللغات والمتصفحات ، في حين أن QTP / UFT موجهة أكثر نحو اختبار الانحدار ولديها مجموعة محدودة من اللغات والمتصفحات المدعومة.

أيضا ، اقرأ: ما الذي يمكن أن تفعله التطبيقات المستندة إلى الويب؟ - نهج الخبير

كيفية اختيار أداة السيلينيوم المناسبة لاحتياجاتك

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

  1. دعم اللغة: إذا كنت تستخدم لغة برمجة معينة ، فستحتاج إلى اختيار أداة سيلينيوم تدعم تلك اللغة. يدعم السيلينيوم مجموعة متنوعة من اللغات ، بما في ذلك Java و Python و C # و Ruby و JavaScript.
  2. نوع الاختبار: يشتمل السيلينيوم على أدوات للاختبار الوظيفي واختبار الأداء. يستخدم الاختبار الوظيفي للتحقق من أن التطبيق يعمل كما هو متوقع ، بينما يستخدم اختبار الأداء لقياس أداء التطبيق. اختر الأداة التي تناسب احتياجات الاختبار الخاصة بك.
  3. دعم المتصفح: يدعم السيلينيوم مجموعة كبيرة من المتصفحات ، بما في ذلك Chrome و Firefox و Safari و Edge. اختر الأداة التي تدعم المتصفحات التي تريد اختبارها.
  4. التكامل مع الأدوات الأخرى: إذا كنت تستخدم أدوات أخرى كجزء من عملية الاختبار ، مثل أدوات أتمتة الإنشاء أو أدوات إدارة الاختبار ، فستحتاج إلى اختيار أداة سيلينيوم تتكامل بسهولة مع هذه الأدوات.
  5. التكلفة: السيلينيوم مفتوح المصدر ومجاني للاستخدام. ومع ذلك ، قد يكون لبعض الأدوات في مجموعة السيلينيوم تكاليف مرتبطة ، مثل رسوم الاستضافة أو رسوم الترخيص. ضع في اعتبارك هذه التكاليف عند اختيار أداة السيلينيوم.

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

وفي الختام

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

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

أيضا ، اقرأ: كيفية أقلمة تطبيق الهاتف المحمول الخاص بك: الدليل الكامل

التعليمات

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

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

ما هي اللغات التي يدعمها السيلينيوم؟

يدعم السيلينيوم مجموعة متنوعة من لغات البرمجة ، بما في ذلك Java و Python و C # و Ruby و JavaScript.

ما المتصفحات التي يدعمها السيلينيوم؟

يدعم السيلينيوم مجموعة كبيرة من المتصفحات ، بما في ذلك Chrome و Firefox و Safari و Edge.

هل السيلينيوم مجاني للاستخدام؟

نعم ، السيلينيوم مفتوح المصدر ومجاني للاستخدام.

ما هو سيلينيوم ويب درايفر؟

Selenium WebDriver هي أداة لأتمتة تفاعلات متصفح الويب. إنها إحدى الأدوات الموجودة في مجموعة أدوات السيلينيوم للاختبار الآلي لتطبيقات الويب.

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

نعم ، يشتمل السيلينيوم على أدوات لاختبار الأداء ، مثل Selenium WebDriver و Selenium Grid ، مما يسمح لك بقياس أداء تطبيق الويب الخاص بك.

كيف أبدأ مع السيلينيوم؟

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

[sc name = "أداة أتمتة السيلينيوم"] [add_newsletter] [add_related_page_diff_contents blog_cat = "تطبيق ويب"]

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

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

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

بالنسبة للمبتدئين، عنصر السيلينيوم هي أداة مفتوحة المصدر متاحة لأتمتة الاختبارات المطلوبة التي يتعين إجراؤها على المتصفحات القائمة على الويب. (بكلمات أبسط ، يختبر تطبيقات الويب باستخدام أي متصفحات قائمة على الويب مثل Google Chrome و Mozilla Firefox و Opera Browser و Internet Explorer و MS Edge وما إلى ذلك)

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

الشيء الجيد هو أنه يمكنك أتمتة اختبار البرامج وتطبيقات الهاتف المحمول باستخدام الأدوات الأخرى المتاحة مثل: RFT من IBM و QPT من HP و Appium وما إلى ذلك.

تركز هذه المدونة أيضًا على اختبار وتحليل الجودة لـ تطبيقات الويب الديناميكية والأسباب التي تجعل السيلينيوم أفضل حل لتحقيق / تحقيق هذا الغرض.

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

فوائد ومزايا استخدام السيلينيوم

فيما يلي فوائد ومزايا استخدام السيلينيوم:

  • يمكن لمحلل الجودة استخدام أي من منصات البرمجة هذه لكتابة نصوص الاختبار: C # و PHP و .NET و Java و Python و Ruby & Perl.
  • يمكنك إجراء الاختبار ليس فقط على نظام تشغيل واحد ولكن أيضًا على Windows أو Mac أو Linux.
  • يمكنك استخدام متصفحات مختلفة لأداء المهام: Mozilla Firefox و Google Chrome و Internet Explorer و Opera و Safari.
  • يمكن دمج أدوات مثل TestNG و Junit مع السيلينيوم لإنشاء التقارير وإدارة حالات الاختبار.
  • يمكن أيضًا دمج Maven و Jenkins & Docker مع السيلينيوم لإجراء اختبار مستمر.

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

عيوب السيلينيوم

فيما يلي عيوب السيلينيوم:

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

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

  1. متطلبات اختبار البرمجيات
  2. قيود الاختبار اليدوي
  3. اختبار الأتمتة أفضل من الاختبار اليدوي؟
  4. السيلينيوم v / s أدوات الاختبار الأخرى المتاحة
  5. مجموعة أدوات السيلينيوم

أيضا ، اقرأ: Cypress vs Selenium - حدد إطار الأتمتة الخاص بك

متطلبات اختبار البرمجيات

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

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

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

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

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

أبسط إجابة هي: عن طريق اختبار الكود قبل النشر وهذا هو مطلب اختبار البرنامج أيضًا.

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

تم تصميم السيلينيوم باعتباره أداة الأتمتة لتغطية المناطق التي لم يكن من الممكن تغطيتها بالاختبار اليدوي ، لذا سيناقش الجزء التالي من هذه المدونة قيود الاختبار اليدوي.

أيضا ، اقرأ: 11 سؤالاً حول ضمان الجودة والاختبار لطرحها على شريكك في تطوير التطبيقات

قيود الاختبار اليدوي

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

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

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

لهذا السبب أدت هذه الأسباب إلى اختراع السيلينيوم الذي نعرفه اليوم.

أيضا ، اقرأ: ما هو اختبار الدخان؟ دورها وفوائدها

هل اختبار الأتمتة أفضل من الاختبار اليدوي؟

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

اسمحوا أحاول أن أشرح ذلك قليلاً بمساعدة مثال.

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

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

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

حسنًا ، الإجابة هي أنه لا يمكنك أتمتة الاختبار فحسب ، بل يمكنك أيضًا أتمتة إنتاج / إنشاء ملفات النتائج ويمكنك جدولتها أيضًا في وقت معين من أي يوم.

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

بحاجة إلى مساعدة في الاختبار الآلي للسيلينيوم?

أرسل لنا متطلباتك ، وسنعاود الاتصال بك مع عرض أسعار

السيلينيوم v / s أدوات الاختبار الأخرى المتاحة

الآن دعونا نلقي نظرة على أين تقف السيلينيوم في السوق.

للقيام بذلك ، حاولت مقارنة أداء السيلينيوم مع اثنين من الأدوات الشائعة الأخرى المتوفرة في السوق: QTP (من HP) و RFT (من IBM) في الجدول أدناه.

خصائص RFT (آي بي إم)RFT (آي بي إم)كيو تي بي (هب)السيلينوم
الترخيصمطلوب: مطلوب: مفتوحة المصدر
التسعيرمرتفعمرتفعأداة مفتوحة المصدر
دعم العملاءدعم مخصص من شركة IBMدعم مخصص من HPمجتمع مفتوح المصدر
استخدام الأجهزة أثناء تنفيذ البرنامج النصي التجريبيمرتفعمرتفعمنخفض
مهارات كتابة الكودضروريليس من الضروريالمعرفة والخبرة كتابة الكود السليم أمر لا بد منه
البيئات المدعومةالنوافذ فقطالنوافذ فقطWindows و Linux و Mac و Solaris OS X (فقط في حالة وجود دعم JVM أو JavaScript)
اللغات المعتمدةC # وجافاالنصي VBJava و C # و PHP و Ruby و Python و Perl و JavaScript

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

أيضا ، اقرأ: 7 أسباب للتعامل بجدية مع هندسة تطبيقات الويب

مجموعة أدوات السيلينيوم

يتكون السيلينيوم من أدوات برمجية مختلفة ولكل أداة / مكون دور محدد.

  1. السيلينيوم RC (مستهلك الآن)
  2. السيلينيوم IDE
  3. شبكة السيلينيوم
  4. سيلينيوم WebDriver
مجموعة أدوات السيلينيوم

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

أعتقد أنه يجب علي أولاً مناقشة الأداة الأولى لمشروع السيلينيوم قبل الحديث عنها السيلينيوم أرسي وكانت تلك الأداة "نواة السيلينيوم". لكن سياسة الأصل نفسها كانت أكبر مشكلة في Selenium Core كلما كان الاختبار عبر المجال مطلوبًا.

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

كان هذا هو سبب وجود السيلينيوم RC الذي نعرفه اليوم ومعتمد من بول هامانت الذي كان مهندسًا في الفكر فى ذلك التوقيت.

السيلينيوم أرسي استبعاد المشكلة باستخدام ملف خادم HTTP الوكيل بطريقة تجعل المتصفح يتصرف مثل Selenium Core وكان تطبيق الويب الذي كان قيد الاختبار من نفس المجال وهذا هو السبب في أن RC تُعرف أيضًا بأداة ثنائية المكونات وهي:

  • خادم Selenium RC- (يتصل عبر طلبات HTTP GET / POST البسيطة)
  • عميل Selenium RC - (إنها مكتبة تحتوي على كود لغة البرمجة الخاصة بك)

جوهرة التاج من مشروع السيلينيوم كان السيلينيوم RC لسببين رئيسيين أ) كان السيلينيوم RC هو الأداة الأولى لهم ، و ب) كان لديه القدرة على كتابة نصوص اختبار في منصات برمجة متعددة.

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

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

ولكن على الجانب المشرق ، لا فائدة من استخدام شيء قديم وتم استبداله بأداة متقدمة وفعالة للغاية وهي Selenium WebDriver.

الآن قبل أن أناقش ويب درايفر معكم ، اسمحوا لي أن أتحدث عن الأدوات الأخرى التي شكلت بشكل جماعي السيلينيوم V1.

أيضا ، اقرأ: الاختبار المستند إلى النموذج: العصر الجديد لأتمتة البرامج

2. السيلينيوم IDE (بيئة التطوير المتكاملة)

شينيا كاستاني تبدأ من اليابان، قدم له نموذج السيلينيوم IDE لمشروع Apache على أساس السيلينيوم في عام 2006. كان مكونًا إضافيًا يعتمد على Firefox ويركز على إنشاء حالات اختبار بشكل أسرع.

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

أهم ميزة مع السيلينيوم IDE هو أنه يمكنك تصدير الاختبارات التي تم إنشاؤها باستخدام البرنامج المساعد بلغات متعددة مثل: Java و Python و Ruby وما إلى ذلك.

المشكلات المعروفة في IDE هي:

  1. كان البرنامج المساعد متاحًا فقط لموزيلا فايرفوكس.
  2. يمكنك فقط تسجيل الاختبارات البسيطة واختبار تطبيقات الويب الديناميكية غير ممكن.
  3. لا يمكنك كتابة حالات الاختبار باستخدام منطق البرمجة.
  4. لا يدعم Selenium IDE الاختبار المبني على البيانات.

3. شبكة السيلينيوم

باتريك لايت بودي تطوير شبكة السيلينيوم وأطلق عليه في البداية مستضاف. استخدمها مع RC لإنجاز الاختبار على الأجهزة البعيدة. كان في البداية جزءًا من السيلينيوم V1. كانت الميزة الأكثر أهمية لـ Grid هي قدرتها على تشغيل نصوص اختبار متعددة على أجهزة متعددة في نفس الوقت.

يتم استخدام بنية Hub-Node لتنفيذ التنفيذ المتوازي. من المفترض أن يعمل أحد الأجهزة كمحور والآخر سيكون العقدة حيث يتمثل دور المحور في التحكم في نصوص الاختبار المختلفة التي تعمل على متصفحات مختلفة تعمل على أنظمة تشغيل مختلفة.

يتم تحقيق التنفيذ المتوازي بمساعدة بنية Hub-Node. يُفترض أن تعمل إحدى الأجهزة كمحور والآلة الأخرى تعمل بمثابة العقد. يتحكم Hub في البرامج النصية للاختبار التي تعمل على متصفحات مختلفة داخل أنظمة تشغيل مختلفة. يمكننا كتابة النصوص بلغات برمجة مختلفة يتم تنفيذها في عقد مختلفة.

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

للتعامل مع هذا الموقف ، العديد من المنصات عبر الإنترنت مثل "LambdaTest" يستخدم. توفر هذه المنصات شبكة سيلينيوم على الإنترنت يمكن الوصول إليها لتشغيل وتنفيذ نص التشغيل الآلي للسيلينيوم.

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

يكتسب اختبار Lambda أكثر من 2000 بيئة صديقة للمتصفح يمكن استخدامها للتحقق من الاختبارات المطلوبة وتشغيلها لتحقيق هدف أتمتة الاختبار عبر المتصفحات.

أيضا ، اقرأ: 11 سؤالاً حول ضمان الجودة والاختبار لطرحها على شريكك في تطوير التطبيقات

4. سيلينيوم ويب درايفر

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

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

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

يحتاج RC إلى خادم RC لأداء هذه المهمة. يجعل اتصال WebDriver المباشر بالمستعرض أداة أكثر كفاءة وفعالية للاختبار الآلي.

نعلم أنه لتشغيل التطبيقات ، يتم تجهيز المتصفحات ببرامج التشغيل الخاصة بها على سبيل المثال:

  • سائق كروم
  • سائق سفاري
  • برنامج تشغيل Internet Explorer
  • سائق Firefox أو سائق أبو بريص
  • أوبرا سائق و
  • سائق وحدة HTM

مزايا WebDriver السيلينيوم

فيما يلي بعض مزايا / مزايا استخدام Selenium WebDriver:

  • قادر على إجراء اختبار عبر المتصفح لأنه يدعم المتصفحات مثل: Firefox و Chrome و IE وما إلى ذلك.
  • قادر على إجراء اختبارات على أنظمة تشغيل متعددة مثل Windows و Mac و Linux و Android و iOS وما إلى ذلك.
  • متوافق مع 7 منصات برمجة مختلفة مثل JAVA و PHP و Ruby و Perl و Python و C # و .Net.
  • تم حل المشكلات المتعلقة بـ Selenium V1 مثل حاجز مربعات الحوار والنوافذ المنبثقة وتنزيل الملفات وتحميل الملفات وما إلى ذلك.

عيوب WebDriver السيلينيوم

فيما يلي التحديات الرئيسية التي كانت مع Selenium WebDriver:

  • يعد إنشاء تقارير اختبار مفصلة أمرًا مرهقًا ومستحيلًا في الغالب.
  • لا يمكنك اختبار الصور باستخدام Selenium WebDriver.

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

أيضا ، اقرأ: تكلفة تطوير تطبيقات الويب: تفاصيل الأسعار لعام 2021

مكونات سيلينيوم WebDriver العمارة

هندسة السيلينيوم WebDriver يتكون من المكونات التالية:

  1. الارتباطات الخاصة باللغة: هذه هي المكتبات التي تسمح لك باستخدام Selenium WebDriver بلغة برمجة معينة ، مثل Java أو Python. توفر الارتباطات مجموعة من الأساليب والفئات التي يمكنك استخدامها للتفاعل مع المستعرض وتنفيذ البرامج النصية للاختبار.
  2. برامج تشغيل المتصفح: هذه هي الملفات التنفيذية التي تسمح لـ Selenium WebDriver بالاتصال بالمستعرض. يحتوي كل متصفح على برنامج تشغيل خاص به ، وستحتاج إلى تثبيت برنامج التشغيل المناسب للمتصفح الذي تريد استخدامه.
  3. بروتوكول سلك JSON: هذا هو بروتوكول الاتصال الذي يتم استخدامه لإرسال أوامر من الروابط إلى برامج تشغيل المتصفح واستقبال الردود مرة أخرى. يتكون البروتوكول من مجموعة من نقاط نهاية RESTful API التي تسمح للارتباطات بإرسال الأوامر واستقبال الردود.
  4. المتصفح: هذا هو متصفح الويب الذي يتم تنفيذ الاختبارات فيه. يدعم Selenium WebDriver مجموعة كبيرة من المتصفحات ، بما في ذلك Chrome و Firefox و Safari و Edge.

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

أيضا ، اقرأ: أهم أخطاء تطوير تطبيقات الويب التي يجب تجنبها في عام 2022

مقارنة بين السيلينيوم و QTP (الآن UFT)

السيلينيوم و QTP (يسمى الآن UFT ، أو الاختبار الوظيفي الموحد) كلاهما أداتان للاختبار الآلي لتطبيقات الويب. فيما يلي بعض الاختلافات بين الاثنين:

عنصر السيلينيومQTP / UFT
دعم اللغةJava و Python و C # و Ruby و JavaScriptفبسكريبت
دعم المتصفحكروم ، فايرفوكس ، سفاري ، إيدجإنترنت إكسبلورر
تصميم الاختبارالاختبار الوظيفياختبار الانحدار
تحديد الكائنمعرف العنصر ، واسم الفئة ، ومحدد CSSمستودع الكائنات بأسماء منطقية
التكامل مع الأدوات الأخرىسهولة التكامل مع مجموعة متنوعة من الأدواتتكامل مدمج مع HP ALM
  1. دعم اللغة: يدعم السيلينيوم مجموعة متنوعة من لغات البرمجة ، بما في ذلك Java و Python و C # و Ruby و JavaScript ، بينما يدعم QTP / UFT VBScript فقط.
  2. دعم المتصفح: يدعم السيلينيوم مجموعة كبيرة من المتصفحات ، بما في ذلك Chrome و Firefox و Safari و Edge ، بينما يدعم QTP / UFT بشكل أساسي Internet Explorer.
  3. تصميم الاختبار: السيلينيوم هو في الأساس أداة اختبار وظيفية ، وعادة ما يتم تصميم الاختبارات كسلسلة من الخطوات التي قد يتخذها المستخدم أثناء التفاعل مع التطبيق. يتجه QTP / UFT بشكل أكبر نحو اختبار الانحدار ، ويتم تصميم الاختبارات عادةً كسلسلة من نقاط التفتيش التي تتحقق من صحة سلوك التطبيق.
  4. تحديد الكائن: يستخدم السيلينيوم مجموعة متنوعة من التقنيات لتحديد العناصر على صفحة الويب ، بما في ذلك معرف العنصر واسم الفئة ومحدد CSS. يستخدم QTP / UFT مستودع كائن لتخزين معلومات حول الكائنات في التطبيق ، ويشير اختبار البرامج النصية إلى هذه الكائنات باستخدام أسماء منطقية.
  5. التكامل مع الأدوات الأخرى: يمكن دمج السيلينيوم بسهولة مع مجموعة متنوعة من الأدوات ، مثل أدوات أتمتة البناء مثل Jenkins ، في حين أن QTP / UFT لديها تكامل مدمج مع أداة HP's ALM (Application Lifecycle Management).

وبشكل عام، عنصر السيلينيوم هو خيار شائع للوظيفة اختبار تطبيقات الويب نظرًا لدعمها لمجموعة واسعة من اللغات والمتصفحات ، في حين أن QTP / UFT موجهة أكثر نحو اختبار الانحدار ولديها مجموعة محدودة من اللغات والمتصفحات المدعومة.

أيضا ، اقرأ: ما الذي يمكن أن تفعله التطبيقات المستندة إلى الويب؟ - نهج الخبير

كيفية اختيار أداة السيلينيوم المناسبة لاحتياجاتك

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

  1. دعم اللغة: إذا كنت تستخدم لغة برمجة معينة ، فستحتاج إلى اختيار أداة سيلينيوم تدعم تلك اللغة. يدعم السيلينيوم مجموعة متنوعة من اللغات ، بما في ذلك Java و Python و C # و Ruby و JavaScript.
  2. نوع الاختبار: يشتمل السيلينيوم على أدوات للاختبار الوظيفي واختبار الأداء. يستخدم الاختبار الوظيفي للتحقق من أن التطبيق يعمل كما هو متوقع ، بينما يستخدم اختبار الأداء لقياس أداء التطبيق. اختر الأداة التي تناسب احتياجات الاختبار الخاصة بك.
  3. دعم المتصفح: يدعم السيلينيوم مجموعة كبيرة من المتصفحات ، بما في ذلك Chrome و Firefox و Safari و Edge. اختر الأداة التي تدعم المتصفحات التي تريد اختبارها.
  4. التكامل مع الأدوات الأخرى: إذا كنت تستخدم أدوات أخرى كجزء من عملية الاختبار ، مثل أدوات أتمتة الإنشاء أو أدوات إدارة الاختبار ، فستحتاج إلى اختيار أداة سيلينيوم تتكامل بسهولة مع هذه الأدوات.
  5. التكلفة: السيلينيوم مفتوح المصدر ومجاني للاستخدام. ومع ذلك ، قد يكون لبعض الأدوات في مجموعة السيلينيوم تكاليف مرتبطة ، مثل رسوم الاستضافة أو رسوم الترخيص. ضع في اعتبارك هذه التكاليف عند اختيار أداة السيلينيوم.

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

وفي الختام

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

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

أيضا ، اقرأ: كيفية أقلمة تطبيق الهاتف المحمول الخاص بك: الدليل الكامل

التعليمات

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

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

ما هي اللغات التي يدعمها السيلينيوم؟

يدعم السيلينيوم مجموعة متنوعة من لغات البرمجة ، بما في ذلك Java و Python و C # و Ruby و JavaScript.

ما المتصفحات التي يدعمها السيلينيوم؟

يدعم السيلينيوم مجموعة كبيرة من المتصفحات ، بما في ذلك Chrome و Firefox و Safari و Edge.

هل السيلينيوم مجاني للاستخدام؟

نعم ، السيلينيوم مفتوح المصدر ومجاني للاستخدام.

ما هو سيلينيوم ويب درايفر؟

Selenium WebDriver هي أداة لأتمتة تفاعلات متصفح الويب. إنها إحدى الأدوات الموجودة في مجموعة أدوات السيلينيوم للاختبار الآلي لتطبيقات الويب.

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

نعم ، يشتمل السيلينيوم على أدوات لاختبار الأداء ، مثل Selenium WebDriver و Selenium Grid ، مما يسمح لك بقياس أداء تطبيق الويب الخاص بك.

كيف أبدأ مع السيلينيوم؟

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

خدمات اختبار البرامج المؤتمتة

باستخدام أدوات الاختبار الآلية مثل السيلينيوم ، يمكنك زيادة الفعالية والكفاءة وتغطية الاختبار لتطبيق البرنامج الخاص بك. تساعد تقنية Cynoteck المؤسسات على تقديم برامج / تطبيقات عالية الجودة باستخدام أدوات الاختبار الآلية. تواصل معنا للحصول على أي مساعدة.



ضيف
0 التعليقات
التقيمات المضمنة
عرض جميع التعليقات
0
أحب أفكارك ، يرجى التعليق.x
()
x