Kasaya هي لغة برمجة نصية “WYSIWYG” و “Runtime” لأتمتة المتصفح ، تم تصميمها وتطويرها بواسطة مطوري Sysco LABS. وهي شركة رقمية متخصصة في توزيع المنتجات الغذائية ومقرها في سري لانكا. حاليًا ، اللغة في إصدار تجريبي عام ، مما يعني أنه في حالة عمل جميع العناصر الأساسية ، لا يزال هناك الكثير مما يجب عمله قبل أن تتمكن من الترقية إلى الإصدار 1.0.

وفقًا لمطوريها ، فإن الفكرة وراء تطوير Kasaya هي كما يلي: إذا كان الشخص قادرًا على أن يطلب لفظيًا إجراء اختبار واجهة المستخدم دون الرجوع إلى عناصر DOM أو XPATH أو HTML ID ، يجب أن تكون قادرة على أن تفعل الشيء نفسه مع الجهاز. ومع ذلك ، يعتقدون أنه على عكس بعض أدوات أتمتة اختبار اللغة الطبيعية ، ليست هناك حاجة لكتابة وظائف للمساعدة في حل الإرشادات لمعرفات HTML أو XPATHs. ستعمل Kasaya بطريقة بسيطة وموحدة.

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

ووفقًا لمؤلفيها ، تتكون بيانات Kasaya من جمل بدلاً من الكلمات الأساسية والوظائف. يمكن أن تكون الجمل متكاملة أو قائمة على وحدات ماكرو. يمكن وضع الحجج في أي مكان في الجملة. إذا كنت تستخدم Visual Studio Code ، فإن Kasaya لديه امتداد للمحرر. فيما يلي أهم ميزات Kasaya:

كتابة البرامج النصية للاختبار باستخدام بيانات الكتابة باللغة الإنجليزية ؛

تنفيذ التعليمات دون الحاجة إلى الكود ؛

لا يعتمد على معرفات HTML أو XPaths ؛

الكتابة بنفس الطريقة التي تفعل بها من أجل إنسان آخر جالس أمام المتصفح ؛

يمكنك القيام باختبار التطوير الأولي الخاص بك في وضع REPL ؛

يمكنك حفظ التصريحات في شكل البرنامج النصي.

ومع ذلك ، فإن فكرة Kasaya لا تجعل الجميع متحمسين. يعتقد البعض أنه سيكون مجرد أداة أخرى جديدة في قائمة أدوات تحسين الاختبار. وفقًا للأخير ، فإن معظم هذه الأدوات تشترك في نفس العيب: فهي تستخدم DSL (لغة محددة المجال) بدلاً من لغة موجودة. هذا يعني أن الأدوات والوثائق والاختبارات والدعم والوحدات النمطية ستكون ضعيفة للغاية ، وستعتمد بنسبة 100٪ على المنشئ خلال السنوات الأولى ، في منطقة تعد بالفعل مكانًا مناسبًا.

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

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

المصدر : Kasaya