اختبار واجهة التطبيق
يمكن لـ OpenFactory تشغيل سير عمل متصفح قابلة لإعادة الاستخدام في أجهزة VM مختبر سطح مكتب مُدارة. يمكن أن يكون التطبيق منشورا من OpenFactory أو مستضافا في أي مكان يصل إليه VM المختبر.
تجمع السيناريوهات إجراءات دلالية مثل open، وclick، وtype، وkey، وwait، وassert مع لقطات شاشة، وتشخيص متصفح، وحكما مسجلا. هي الأنسب لتدفق مستخدم معروف؛ استخدم Walker المستقل للاكتشاف المحدود.
أنشئ سيناريو وشغّله
احصل على VM مختبر التطبيق:
ensure_tester_vm(app="my-app", app_url="https://staging.example.com")ثم احفظ سيناريو تستخدم خطواته تسميات ذات معنى على الشاشة:
[
{ "action": "open_url", "value": "${APP_URL}" },
{ "action": "type", "target": "email field", "value": "${EMAIL}" },
{ "action": "type", "target": "password field", "value": "${PASSWORD}" },
{ "action": "click", "target": "Sign in" },
{ "action": "assert_text", "expect": "Dashboard" },
{ "action": "assert_no_error" }
]استخدم create_app_scenario، ثم شغّل معرف السيناريو المعاد بـ
run_app_scenario. التشغيل الأول يحل العناصر عبر OmniParser. يمكن
للتشغيلات اللاحقة إعادة استخدام ذاكرة العناصر المقوّاة وإعادة حل
الخطوات المتغيرة فقط. راجع ما إذا كانت كل خطوة مخبأة أو محللة عند
تشخيص نتيجة.
ماذا يعني تشغيل ناجح
يُعد التقرير تحققا فقط عندما:
- حالته
passed؛ - استهدف البيئة والمراجعة المقصودتين؛
- اكتمل أي حماية staging وتسجيل دخول للتطبيق؛ و
- جرت التحققات داخل المنتج، لا على صفحة تسجيل دخول أو حماية.
سيناريو ناجح يثبت فقط التدفق والتحققات المعلنة. لا يثبت صحة التطبيق الكاملة، ولا إمكانية الوصول، ولا الأمان، ولا السلوك عبر المتصفحات.
المتغيرات والأسرار
تشير الخطوات إلى القيم كـ ${VAR} وبذور TOTP كـ ${totp:VAR}.
يجوز أن تعيش الافتراضيات غير السرية مع السيناريو. يمكن تخزين الأسرار
في مخزن مفاتيح المالك المشفّر عند إنشاء السيناريو؛ التجاوزات لتشغيل
واحد الممررة إلى run_app_scenario تُدمج لذلك التشغيل ولا تُحفظ.
لا تضع كلمات مرور حرفية، أو رموزا، أو بذور TOTP في نص الخطوة، أو
أوصاف السيناريو، أو لقطات الشاشة، أو صادرات المسائل. لرموز البريد
لمرة واحدة، يتطلب إجراء email_otp تكامل Gmail نشطا ومتصلا صراحة
لمالك السيناريو.
تحققات مفيدة
assert_textيتحقق من نص ظاهر متوقع.assert_no_errorيفحص عبارات خطأ مبنية مسبقا أو مقدّمة.assert_visualيقارن تجزئة إدراكية مع خط أساس مخزن.assert_stableيعيّن منطقة بحثا عن وميض أو اختفاء غير متوقع.assert_progressيتحقق من أن منطقة بث تواصل التغير لفترة دنيا.networkيمكنه قطع شبكة VM المختبر واستعادتها لاختبارات الاستعادة.
التحققات البصرية والزمنية استدلالات. اضبط العتبات مقابل بيانات اختبار مستقرة وافحص الإطارات الملتقطة قبل معاملة الانحراف كعيب منتج.
اختبار مباشر ومسجّل
للعمل الاستكشافي، قد VM بـ desktop_open_url،
وdesktop_screenshot، وdesktop_click، وdesktop_type، وأدوات سطح
المكتب ذات الصلة. استخدم start_app_test، وrecord_app_test_step،
وfinish_app_test عندما ينبغي أن يصبح ذلك التسلسل اليدوي تشغيلا قابلا للتدقيق.
يمكن لـ annotate_screenshot إضافة مربعات موسومة إلى الأدلة. التعليق
يشرح ما ينبغي أن يفحصه المراجع؛ لا يثبت بنفسه أن العنصر عمل.
ملاحظات تشغيلية
- تُعاد استخدام أجهزة VM المختبر لكل تطبيق/مضيف. وسّع مجمع المختبر للعمل المتوازي بدلا من إنشاء نسخ مكررة اعتباطية.
- المختبر الافتراضي بلا قرص استمرارية إضافي. اطلب الاستمرارية فقط عندما يجب أن تبقى الحالة بعد إعادة التشغيل واقبل إقلاعا أولا أطول.
- مهلة عميل لا تلغي بالضرورة عمل الخلفية؛ افحص التشغيل قبل إعادة المحاولة.
- أبقِ التقارير خاصة ما لم تُراجع لقطاتها وتشخيصاتها بحثا عن بيانات حساسة.