أفضل مراجعة لأدوات اختبار أتمتة السيلينيوم: Robot Framework vs Katalon Studio

لقد أتيحت لي مؤخرًا فرصة للعمل مع العديد من فرق اختبار البرمجيات لمساعدتهم على البدء في مساعي أتمتة الاختبار الخاصة بهم. تتكون الفرق من معظمهم من المختبرين اليدويين ، وبعضهم من ذوي الخبرة في أتمتة الاختبار من قبل ، لكن لم يكن أي منهم على دراية بالبرمجة مثل المطورين. تعتمد معظم التطبيقات على الويب ، مع تطبيقات الجوال المصاحبة. لقد وضعنا قائمة قصيرة بالعديد من أدوات الاختبار ، بما في ذلك الأدوات المجانية وغير المجانية ، ثم توصلنا إلى أفضل اثنين - Robot Framework و Katalon Studio. إنها خيارات جيدة بشكل عام ، لذلك أعتقد أنه سيكون من المثير للاهتمام إجراء مقارنة جنبًا إلى جنب ومعرفة كيفية أدائها في المستقبل.

تقنية

كلاهما مبنيان على قمة السيلينيوم - إطار التشغيل الآلي المدعوم حاليًا من قبل كبار مطوري متصفح الويب (Google ، Microsoft ، Apple ، Mozilla). من الآمن أن نقول إن السيلينيوم هو أفضل طريقة لأتمتة متصفح الويب الخاص بك في الوقت الحالي.

يمكن أيضًا استخدام السيلينيوم لأتمتة تطبيقات الأجهزة المحمولة عبر Appium. من المسلم به أن كلا من Google و Apple قد توصلا إلى طريقتهما الخاصة للقيام بالأتمتة ، باستخدام Selenium و Appium يعني أنه يمكننا إعادة استخدام شفرة المصدر والمعرفة في منصات متعددة - تعلم مرة واحدة ، والكتابة في كل مكان.

لذلك بالنسبة للتكنولوجيا ، إنها التعادل. Robot Framework - Katalon Studio: 1-1.

السعر

كلاهما حر مع أي التزام. يعد تشغيل برنامج "مؤسسة" قديم مثل UFT أمرًا باهظ التكلفة بالنسبة لنا.

Robot Framework - Katalon Studio: 1-1.

تركيب ومكونات

يأتي Robot Framework بمكونين منفصلين: عداء الاختبار و IDE. يعد تثبيت هذه المكونات أمرًا معقدًا بعض الشيء ، ولكن بمجرد الانتهاء من الأمور ، تكون على ما يرام. أولاً ، تحتاج إلى تثبيت Python على جهاز الكمبيوتر الخاص بك. ثم قم بتشغيل بعض خطوط الأوامر. إذا كنت تستخدم Windows ، فقد تواجه مشكلات لأن نظام التشغيل هذا ليس مواطناً من الدرجة الأولى لبيثون ، ولكن نادرًا ما يحدث ، ويمكن حلها بسهولة.

يوجد بالفعل مكون "غير رسمي" ثالث ، سأذكره لاحقًا.

بالنسبة لـ Katalon Studio ، من وجهة نظري ، هذه واحدة من أفضل تجربة التثبيت. إذا قمت بتثبيت Eclipse ، فإنك تعرف ذلك. بالنسبة لنظام التشغيل Windows ، سيكون عليك تنزيل ملف ZIP واستخراجه. بالنسبة لنظام التشغيل MacOS ، يوجد ملف DMG جاهز لك. أنيق جدا.

Robot Framework - Katalon Studio: 0.5–1.

اختبار التصميم

التسجيل (التشغيل الآلي للاختبار بدون الشفرة)

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

لسوء الحظ ، لا يوفر Robot Framework مسجلًا - وهذا هو المكان الذي يظهر فيه المكون الثالث. يتضمن مشروع السيلينيوم إضافات فَيَرفُكس سيئة السمعة تسمى سيلينيوم IDE ، والتي تعد في الأساس أداة للتسجيل والتشغيل للاختبار. يمكن أن يحتوي السيلينيوم IDE على وظائف إضافية (وهو عبارة عن وظيفة إضافية!) ، وقد كتب شخص ما بلطف وظيفة إضافية تساعد Selenium IDE في إنشاء رمز Robot Framework. بعض أعمال التثبيت يجب القيام بها ، لكنها تعمل.

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

يأتي Katalon Studio مع الوظائف الإضافية الخاصة به لمتصفح Chrome و Firefox وحتى Internet Explorer. يكون التثبيت سهلاً مثل الانتقال إلى المتاجر الإضافية لمستعرض الويب المقابل والنقر فوق تثبيت.

Katalon Studio يمتد قيادته هنا. Robot Framework - Katalon Studio: 0.5–1.

الترميز (البرمجة النصية)

Robot Framework له لغة المجال الخاصة به (DSL). يمكن كتابة الكلمات الرئيسية المخصصة في Python و Java ، ولكن عندما يتعلق الأمر باختبار محتوى الحالات ، يجب عليك التحدث بلغة DSL هذه. لماذا تحاكي اللغات البشرية لحالات الاختبار البسيطة ، الحالات المعقدة روبوتية تمامًا. أنا شخصيا أجد أنه أقل وصفية من لغات البرمجة الشائعة:

*** الإعدادات ***
سلسلة المكتبة
*** حالات تجريبية ***
ل-حلقة-في المدى
 : FOR $ {INDEX} IN RANGE 1 3
 \ Log $ {INDEX}
 \ $ {RANDOM_STRING} = إنشاء سلسلة عشوائية $ {INDEX}
 \ سجل $ {RANDOM_STRING}
ل-حلقة-عناصر
 @ {ITEMS} إنشاء قائمة Star Trek Star Wars Perry Rhodan
 : FOR $ {ELEMENT} IN @ {ITEMS}
 \ Log $ {ELEMENT}
 \ $ {ELEMENT} استبدال السلسلة $ {ELEMENT} $ {SPACE} $ {EMPTY}
 \ Log $ {ELEMENT}
ل-حلقة-مغادر
 @ {ITEMS} إنشاء قائمة Good Element 1 Break On Me Good Element 2
 : FOR $ {ELEMENT} IN @ {ITEMS}
 \ Log $ {ELEMENT}
 \ Run Keyword If '$ {ELEMENT}' == 'Break On Me' Exit For Loop
 \ سجل القيام بمزيد من الإجراءات هنا ...
كرر-العمل
 كرر الكلمة الرئيسية 2 سجل كرر هذا ...

لكن IDE الخاص بـ Robot Framework مع تسليط الضوء على بناء الجملة يعد أمرًا جيدًا ، لذلك أعتقد أنه يمكنني التعود عليه بسرعة على أي حال.

Katalon Studio ، من ناحية أخرى ، يدعم Groovy وبالطبع Java (يعتمد Groovy على Java). لماذا ليست شائعة مثل لغات البرمجة الرئيسية مثل Java أو C # أو JavaScript - فهي تحمل هياكل إنتاجية مماثلة كما في Ruby أو Python أو JavaScript. شيء جيد آخر هو أن هناك الكثير من مكتبات Java المجانية للقيام بكل شيء ، لذلك لم يكن علينا إعادة كتابة "كل شيء".

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

Robot Framework - Katalon Studio: 0.5–1.

اختبار البيانات

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

Robot Framework - Katalon Studio: 1-1.

امتداد الكلمات الرئيسية

يمكنك كتابة الكلمات الرئيسية المخصصة في كل من برنامج Robot Framework و Katalon Studio. لقد طلبوا بعض بناء الجملة الاحتفالية بشكل متكرر ، ولكن يمكن للمختبرين كتابة كلماتهم الرئيسية دون مساعدة من المبرمجين. الوثائق والبرامج التعليمية جيدة بما فيه الكفاية ، لذلك سأترك هذا بمثابة رابط. Robot Framework - Katalon Studio: 1-1.

التنفيذ والإبلاغ والتكامل

نتوقع أن تكون أدوات أتمتة الاختبار الحديثة قادرة على تنفيذ حالات الاختبار عبر سطر الأوامر وفي CI مثل Jenkins. نحتاج أيضًا إلى الحصول على تقارير داخل التطبيق لتسهيل التحقيق في حالات الفشل. يجب أيضًا إعداد التقارير بتنسيق أرشفي (HTML ، CSV ، PDF) بحيث يمكن البحث عنها لاحقًا.

يبدو أن Katalon Studio يقوم بتجربة تكامل JIRA أصلي أكثر ، مما يبدو جيدًا بالنسبة لي لأننا نستخدم JIRA أيضًا ، ولكن دعني أرى مدى نجاحه.

شيء واحد مفقود في كليهما هو صورة لتقليل وقت نشر CI وتكوينه ، ولكن ربما يكون الأمر مجرد كسول.

ربطة عنق أخرى بالنسبة لي. Robot Framework - Katalon Studio: 1-1.

المجتمع والدعم

كلا المنتجين قيد التطوير النشط ويتم دعمهما بشكل جيد من قبل مالكيهم وكذلك المجتمع. يتم الرد على الأسئلة في وقت قصير جدا. علاوة على ذلك ، نظرًا لأن Robot Framework و Katalon Studio يعتمدان على السيلينيوم ، يمكننا اللجوء إلى حد كبير إلى Vanilla Selenium و WebDriver للحصول على سيناريوهات معقدة.

يبدو أن Katalon Studio مبنية من قبل شركة تقوم بخدمات اختبار البرمجيات ، مما يعني أنهم يعرفون الميزات العملية والضرورية. Robot Framework هو مشروع مفتوح المصدر شائع على GitHub لذلك أتوقع نفس الشيء.

التعادل الأخير هنا. Robot Framework - Katalon Studio: 1-1.

خاتمة

إطار عمل الروبوت: 7.5 / 9 - Katalon Studio: 9/9.

تعتبر كلتا الأداتين اختيارين رائعين لفرق التشغيل الآلي للاختبار ، حيث يتمتع Katalon Studio بتجربة المستخدم العليا وبالتالي فهو أفضل من Robot Framework لفريق التشغيل الآلي للاختبار القائم على اختبار. المنافسة جيدة دائمًا للمستهلكين ، وأتطلع إلى رؤية المزيد من التطورات من اللاعبين في المستقبل.

مدونتي بعد: Robot Framework vs Katalon Studio