Robotframework-Zoomba هي مجموعة من المكتبات التي تمتد على واجهة المستخدم الرسومية و API REST و SOAP API Automation باستخدام Framework Robot. هذه المكتبات هي امتدادات للمكتبات الحالية seleniumlibrary ، والطلبات ، والمكتبات.
يضيف Zoomba قدرًا كبيرًا من دعم التحقق من صحة البيانات لـ REST و SOAP API ويمتد وظائف لأتمتة واجهة المستخدم الرسومية على الويب النموذجية.
كفريق واحد بدأ رحلة الأتمتة مع إطار الروبوت - وجدنا أن هناك بعض الوقت الذي يقضيه في زيادة مكتباتنا وتهدف Robotframework -Zoomba إلى تسهيل هذه العملية للمشاريع الجديدة.
راجع وثائق الكلمات الرئيسية لمكتبة API أو SOAP أو GUI للحصول على معلومات أكثر تحديدًا حول الوظائف.
يمكن العثور على اختبارات مثال في دليل العينات.
عند العمل مع صفحات الويب الخاصة بأوقات التحميل المختلفة ، ربما تجد نفسك تدير الكثير من المكالمات مثل ذلك:
Wait Until Page Contains Element locator
Click Element locator
لسهولة الاستخدام ، قمنا بدمج الكثير من هذه في كلمات رئيسية بسيطة خط واحد:
Wait For And Click Element locator
Wait For And Click Text text
Wait For And Select From List list_locator target_locator
هناك كلمة رئيسية أخرى مفيدة بشكل خاص وهي عندما تنتظر إكمال JavaScript على صفحة قبل المتابعة:
Wait For And Click Element locator that leads to a new page with javascript
Wait Until Javascript Is Complete
Wait For And Click Element locator
تلتف هذه المكتبة مكتبة الطلبات ، لذا قمنا بإنشاء مجموعة من الكلمات الرئيسية للسماح للمستخدمين بسهولة بتقديم طلبات في كلمة رئيسية واحدة:
Call Get Request ${ headers_dictionary } endpoint query_string
Call Post Request ${ headers_dictionary } endpoint query_string ${ data_payload }
بعد تلقي بياناتك ، جعلنا من السهل التحقق من صحة ذلك. يحتوي الاستجابة على الاستجابة المتوقعة على طلبك المستلم ويقارنه ببياناتك المتوقعة. إذا كان هناك أي أخطاء تم العثور عليها ، فسيتم الإبلاغ عن خط سطر عن طريق ما هي عليه.
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response }
إذا كان هناك أي بيانات غير متطابقة ، فستبدو شيئًا من هذا القبيل:
Key(s) Did Not Match:
------------------
Key: pear
Expected: fish
Actual: bird
------------------
Full List Breakdown:
Expected: [{'apple': 'cat', 'banana': 'dog', 'pear': 'fish'}, {'apple': 'cat', 'banana': 'mice', 'pear': 'bird'}, {'apple': 'dog', 'banana': 'mice', 'pear': 'cat'}]
Actual: [{'apple': 'cat', 'banana': 'dog', 'pear': 'bird'}]
Please see differing value(s)
إذا كنت ترغب في تجاهل مفتاح مثل "update_date" ، فستقوم ببساطة بتعيين متغير "transured_keys" على هذا المفتاح أو قائمة المفاتيح:
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response } ignored_keys=update_date
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response } ignored_keys= ${ list_of_keys }
يتم تثبيت مكتبة Zoomba بسهولة باستخدام ملف setup.py
في الدليل الرئيسي. ما عليك سوى تشغيل الأمر التالي لتثبيت Zoomba وتبعيه:
pip install robotframework - zoomba
إذا قررت سحب الريبو محليًا لتقديم مساهمات أو ترغب فقط في اللعب مع الكود ، يمكنك تثبيت Zoomba عن طريق تشغيل ما يلي من الدليل الجذر :
pip install .
أو إذا كنت تنوي تشغيل اختبارات الوحدة:
pip install .[ testing ]
للوصول إلى الكلمات الرئيسية في المكتبة ، ما عليك سوى إضافة ما يلي إلى إعدادات ملفات الروبوت الخاصة بك (اعتمادًا على ما تحتاجه):
** * Settings ** *
Library Zoomba . APILibrary
Library Zoomba . GUILibrary
Library Zoomba . SOAPLibrary
يمكن العثور على اختبارات مثال في دليل العينات.
قد يحتوي دليل الاختبار أيضًا على اختبارات ولكن كن على علم بأنها تستخدم للاختبار الإصدارات وقد لا تكون مستقيمة للأمام لاستخدامها مثل تلك الموجودة في دليل العينات.
لتقديم مساهمات يرجى الرجوع إلى الإرشادات المساهمة.
انظر دليل .githooks للنصوص للمساعدة في التنمية.
يجب توجيه أسئلة إطار عمل الروبوت العامة إلى منتدى المجتمع.
للأسئلة والقضايا الخاصة بـ Zoomba ، يرجى إنشاء مشكلة هنا على Github.