
مختبر أبحاث أمني مُصرّح به لإعادة إنتاج CVE-2024-39700 / GHSA-45gq-v5wm-82wg (طلب pwn الخاص بـ update-integration-tests في JupyterLab extension-template)
يحتوي هذا المجلد على اختبارات التكامل الخاصة بالامتداد.
يتم تعريفها باستخدام مشغّل اختبارات Playwright ومساعد Galata.
يتم تعريف إعدادات Playwright في playwright.config.js.
يتم تعريف إعدادات خادم JupyterLab المستخدمة لاختبار التكامل في jupyter_server_test_config.py.
سينتج الإعداد الافتراضي فيديو للاختبارات الفاشلة وتقرير HTML.
هناك وضع واجهة مستخدم تجريبي جديد قد يعجبك؛ راجع هذا الفيديو.
يُفترض تنفيذ جميع الأوامر من الدليل الجذر
لتشغيل الاختبارات، تحتاج إلى:
jlpm install
jlpm build:prod
تحقق من تثبيت الامتداد في JupyterLab.
cd ./ui-tests
jlpm install
jlpm playwright install
cd ..
cd ./ui-tests
jlpm playwright test
ستظهر نتائج الاختبار في الطرفية. في حالة فشل أي اختبار، سيتم فتح تقرير الاختبار في متصفحك في نهاية تنفيذ الاختبارات؛ راجع توثيق Playwright لتكوين هذا السلوك.
يُفترض تنفيذ جميع الأوامر من الدليل الجذر
إذا كنت تقارن اللقطات للتحقق من صحة اختباراتك، فقد تحتاج إلى تحديث اللقطات المرجعية المخزنة في المستودع. للقيام بذلك، تحتاج إلى:
jlpm install
jlpm build:prod
تحقق من تثبيت الامتداد في JupyterLab.
cd ./ui-tests
jlpm install
jlpm playwright install
cd ..
cd ./ui-tests
jlpm playwright test -u
قد يحدث بعض الاختلاف بين اللقطات المولدة على جهازك وتلك المولدة على CI. لتسهيل تحديث اللقطات في طلب سحب (PR)، يمكنك كتابة
please update playwright snapshotsلتفعيل التحديث بواسطة روبوت على CI. بمجرد أن يحسب الروبوت لقطات جديدة، سيقوم بتثبيتها في فرع طلب السحب.
يُفترض تنفيذ جميع الأوامر من الدليل الجذر
لإنشاء الاختبارات، أسهل طريقة هي استخدام أداة توليد الأكواد الخاصة بـ Playwright:
jlpm install
jlpm build:prod
تحقق من تثبيت الامتداد في JupyterLab.
cd ./ui-tests
jlpm install
jlpm playwright install
cd ..
cd ./ui-tests
jlpm start
cd ./ui-tests
jlpm playwright codegen localhost:8888
يُفترض تنفيذ جميع الأوامر من الدليل الجذر
لتصحيح أخطاء الاختبارات، طريقة جيدة هي استخدام أداة المفتش الخاصة بـ Playwright:
jlpm install
jlpm build:prod
تحقق من تثبيت الامتداد في JupyterLab.
cd ./ui-tests
jlpm install
jlpm playwright install
cd ..
cd ./ui-tests
jlpm playwright test --debug
لتحديث إصدارات متصفح الويب، يجب عليك تحديث الحزمة @playwright/test:
cd ./ui-tests
jlpm up "@playwright/test"
jlpm playwright install