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

 

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

يستخدم السيلينيوم WebDriver لأتمتة اختبار تطبيق الويب للتحقق من أنه يملأ صحيحا للنموذج. وهو يدعم العديد من المتصفحات ، على سبيل المثال ، Firefox و Chrome و Internet Explorer و Safari. على أي حال ، باستخدام WebDriver ، يمكننا أتمتة اختبار تطبيقات الويب كما كانت. لا يتناسب مع فاتورة التطبيقات المستندة إلى Windows. كما أنه يعزز لهجات البرمجة المتنوعة ، على سبيل المثال ، C # و Java و Perl و PHP و Ruby لتكوين محتويات الاختبار. السيلينيوم WebDriver هو المرحلة الحرة منذ ذلك الحين يمكن استخدام رمز مماثل على أنظمة التشغيل المختلفة مثل ويندوز، دائرة الرقابة الداخلية، لينكس وأوبونتو. وهي واحدة من قطاعات عائلة السيلينيوم، والتي تضم بالإضافة إلى ذلك السيلينيوم IDE، السيلينيوم العميل API، السيلينيوم التحكم عن بعد وشبكة السيلينيوم.

السيلينيوم WebDriver لا يتعامل مع ويندوز, ولكن هذا القيد يمكن أن تطغى عليه من خلال استخدام أدوات طرف ثالث, على سبيل المثال, AutoIT, سيكولي, وغيرها. لديها إجراءات منطقة متنوعة أيضا ، على سبيل المثال ، المعرف والاسم ونص الارتباط ونص الاتصال الجزئي واسم الفئة ومحدد CSS و Xpath. وبالمثل ، فإنه يتمتع بدعم أفضل للصفحات الديناميكية مثل AJAX ، حيث قد تتغير مكونات الصفحة دون إعادة تحميل الصفحة نفسها. من خلال استخدام مستندات الحاويات المتنوعة ، يمكننا أيضا اختبار واجهات برمجة التطبيقات وقواعد البيانات وما إلى ذلك باستخدام Selenium WebDriver.

 

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

السيلينيوم WebDriver API يعطي مرفق المراسلات بين اللغات والمتصفحات. تظهر الصورة المرفقة التصوير التركيبي للسيلينيوم WebDriver.

هناك أربعة أجزاء أساسية من بنية WebDriver:

  • روابط لغة السيلينيوم
  • بروتوكول أسلاك JSON
  • برامج التشغيل
  • متصفحات أصلية

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

 

روابط لغة السيلينيوم

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

 

بروتوكول أسلاك JSON

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

 

برامج التشغيل

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

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

 

متصفحات أصلية

تشمل المتصفحات التي يدعمها برنامج تشغيل الويب السيلينيوم ما يلي:

  • متصفح الانترنت
  • موزيلا فايرفوكس
  • جوجل كروم
  • سفاري

 

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

 

دعم متصفح مختلف

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

الاختبارات المستندة إلى البروتوكول مقابل الاختبارات الحقيقية المستندة إلى المتصفح

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

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

 

دعم اللغات المختلفة

بالإضافة إلى ذلك ، يعزز WebDriver جزءا كبيرا من لهجات البرمجة المستخدمة بشكل عام مثل Java و C # و JavaScript و PHP و Ruby و Pearl و Python. بعد ذلك ، يمكن للعميل اختيار أي من لغة البرمجة التي تم دعمها اعتمادا على كفاءته والبدء في إنشاء محتويات الاختبار.

 

سرعة

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

 

الأوامر الأساسية

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

  • برنامج تشغيل WebDriver = فايرفوكس درايفر الجديد (); (برنامج فايرفوكس)
  • برنامج تشغيل WebDriver = برنامج تشغيل Chrome جديد (); (برنامج كروم)
  • برنامج تشغيل WebDriver = برنامج تشغيل إنترنت إكسبلورر الجديد(); (برنامج إنترنت إكسبلورر)

 

WebDriver-الأساليب والطبقات

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

 

اختبار الحمل باستخدام السيلينيوم

هناك بضع خطوات عندما يتعلق الأمر باختبار التحميل باستخدام السيلينيوم WebDriver.

 

إنشاء تكوين مستعرض

أنشئ مجموعة سلاسل رسائل وقم بتضمين “تكوين برنامج تشغيل Chrome” من قائمة عناصر التكوين.

السيلينيوم الموضوع المجموعة

 

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

السيلينيوم كرومدرايفر

 

تنفيذ الاختبار الخاص بك

قم بتضمين أداة أخذ عينات WebDriver ضمن مجموعة مؤشرات الترابط. سيؤدي ذلك إلى جلب محتوى أساسي يفتح صفحة موقع. علينا التحكم في هذا المحتوى. وذلك للتعاون مع البرنامج, لديك لاستخدام تقنيات السيلينيوم الصريحة, كما sendKeys, انقر فوق (), وهلم جرا. فيما يلي بعض التلميحات:

 

استعراض الأمر “فتح”

يفتح هذا الأمر عنوان URL المحدد

WDS.browser.get

 

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

جافا مستورد

 

 

الأمر SendKeys

في حالة معرفتك بالسيلينيوم ، فإنك تدرك أنه يمكنك الوصول إلى المكون بواسطة cssSelector و ID و XPath وما إلى ذلك على متغير pkg الذي قمنا به ، مما يشجعك على اكتشاف مكون الويب. هذه هي الطريقة التي تكتشف بها أحد المكونات. يمكنك تخزين webElement في متغير يسمى searchField.

الأمر SendKeys

 

 

في هذه المرحلة, يمكنك ببساطة استخدام السيلينيوم القياسية العمل SendKeys للتفكير في بعض المحتوى.

حقل البحث

 

 

انقر فوق الأمر

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

انقر فوق الأمر

 

 

 

 

أوامر إضافية

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

السيلينيوم Beginning_End

 

أمر السجل

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

أمر السجل

 

 

أنواع الطلبات

هناك نوعان من الالتماسات التي قد تكون مرتاحا لها ، GET و POST.

طلب الحصول على السيلينيوم

 

 

 

 

 

على فرصة أنه طلب GET ، في هذه المرحلة ، فإنه يؤدي إلى رد فعل سيتم إنشاؤه في نهاية البرنامج وسيتم إرساله عبر HTTP إلى برنامج تشغيل البرنامج وعلى المدى الطويل ، يقوم برنامج تشغيل البرنامج بمساعدة اتفاقية JSON wire بإرساله إلى واجهة المستخدم (Eclipse IDE).

 

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

  • إنه أحد البرامج مفتوحة المصدر الأكثر شعبية وهو أي شيء يصعب البدء به لاختبار التطبيقات عبر الإنترنت. بالإضافة إلى ذلك ، يسمح لك بإجراء اختبار تشابه عبر البرامج.
  • يدعم أطر العمل المختلفة مثل Windows و Mac و Linux و Unix وما إلى ذلك.
  • إنه يعطي التشابه نطاقا من اللهجات بما في ذلك Python و Java و Perl و Ruby وما إلى ذلك.
  • يقدم المساعدة للبرامج الحالية مثل Chrome و Firefox و Opera و Safari و Internet Explorer.
  • السيلينيوم WebDriver ينهي تنفيذ محتويات الاختبار بشكل أسرع عند التناقض مع الأدوات المختلفة
  • واجهة برمجة تطبيقات أكثر إيجازا (واجهة برمجة التطبيقات) في تلك المرحلة السيلينيوم RC
  • بالإضافة إلى ذلك ، فإنه يعطي تشابها مع برنامج تشغيل iPhone و Html Unit Driver و Android Driver

 

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

تشمل الصعوبات مع السيلينيوم ما يلي:

  • يدعم مجرد اختبار تطبيقات الويب
  • لا يقبل فحص الصورة النقطية
  • لأي مضيف قدرات ذات صلة بالتفاصيل للاعتماد على أدوات الطرف الثالث.
  • لا يوجد دعم من البائعين للأجهزة يتناقض مع أجهزة الأعمال مثل HP UFT
  • نظرا لعدم وجود ORC (التعرف البصري على الأحرف) ، فإن التطبيق العملي للعناصر يصبح مزعجا

 

LoadView: اختبار الحمل والإجهاد في المتصفحات الحقيقية

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

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

 

مزايا لودفيو

هذه ليست سوى عدد قليل من المزايا العظيمة ل LoadView:

  • سهل الاستخدام. يحتوي على واجهة مستخدم سهلة الفهم
  • يتضمن مسجل الويب EveryStep لتسجيل البرنامج النصي بسهولة وسرعة
  • يتكامل مع أدوات التكامل المستمر، مثل Jenkins
  • يدعم العديد من التقنيات والأطر والمتصفحات والأجهزة
  • اختبار من حوالي 20 موقعا عالميا
  • يمكن اختبار على مستوى البروتوكول ، وكذلك استخدام المتصفحات الحقيقية

 

الاختلافات الأساسية بين LoadView والسيلينيوم

تحميل

السيلينيوم

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

 

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

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

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

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

 

الاستنتاج: شرح اختبار تحميل السيلينيوم

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

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

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

 

شعار السيلينيوم: دييغو مولينا (ديمول) / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)