Install
scripts/with_server.py --helpلمن يناسب
استخدم webapp-testing عندما تريد أن يتفاعل Playwright مع تطبيق ويب محلي ويختبره. يدعم التحقق من وظائف الواجهة الأمامية، وتصحيح سلوك الواجهة، والتقاط لقطات المتصفح، وقراءة سجلات المتصفح. الهدف تطبيق محلي، لا مسح موقع بعيد غير مسمّى.
الأنسب أن تكون مستعدًا لكتابة سكربتات Python Playwright أصلية وإدارة دورة حياة الخادم بسكربتات مساعدة. المادة المصدر لا تعطي قائمة منتجات وكيلة ولا برنامج تثبيت؛ لا تختلق مسار مستودع. صفحة الوصف الرسمية هي
https://raw.githubusercontent.com/anthropics/skills/main/skills/webapp-testing/SKILL.md
إنهاء المحاولة الأولى في 3 دقائق
أول مسار موصى به هو النظر في استخدام السكربتات المساعدة، لا فتح المتصفح. المادة تسمّي scripts/with_server.py لإدارة دورة حياة الخادم (تدعم خوادم متعددة) وتشترط: Always run scripts with --help first.
شرط مسبق: البيئة الحالية تستطيع تشغيل ذلك helper. أول حركة منخفضة المخاطر:
scripts/with_server.py --help
إشارة النجاح: تُطبع طريقة الاستخدام ولم يُرفع الخادم بعد. هذه مساعدة للقراءة فقط. لا تقرأ مصدر الـ helper أولاً لتخمين المعاملات — الملخص يقول --help أولاً، لا قراءة المصدر أولاً.
إن فُهمت المساعدة وأكّدت أنك ستختبر تطبيقًا محليًا، فاكتب بعدها سكربت Playwright. يجب استخدام sync_playwright وتشغيل chromium في headless: browser = p.chromium.launch(headless=True). تشغيل الخادم وفتح الصفحة يغيّران البيئة وقد يكتبان سجلات؛ أكّد أن الهدف هو تطبيقك المحلي قبل التنفيذ. يذكر الملخص الاختبار باتجاه localhost بعد تشغيل الـ helper، لكن المقتطف لا يكتب رقم منفذ، فلا تختلق عنوانًا.
حالات الاستخدام
الحالة الأولى: استخدم الـ helper مع خادم محلي لجولة قراءة فقط. أولاً --help؛ استدعِ scripts/with_server.py بعد تأكيد المعاملات. في السكربت افتح chromium في headless بـ sync_playwright. معيار الإنجاز أن المتصفح بدأ في الوضع بلا رأس وأنك لم تنفّذ بعد عملية مدمّرة على الصفحة. المادة تدعم اللقطات وقراءة السجلات؛ هذان قابلان للعكس نسبيًا. قبل كتابة ملف أكّد مسار حفظ اللقطة.
الحالة الثانية: التطبيق الديناميكي بحسب «استطلاع أولاً ثم عمل». الترتيب: انتقل وانتظر networkidle؛ لقطة أو فحص DOM؛ تعرّف على المحددات من نتيجة الرسم؛ ثم نفّذ بالمحددات المكتشفة. المادة تقول بوضوح: لا تفحص DOM على تطبيق ديناميكي قبل networkidle؛ الصحيح انتظار page.wait_for_load_state('networkidle') ثم الفحص. معيار الإنجاز أن تشير إلى أن الانتظار يقع قبل الفحص. لا تنقر محددًا غير مؤكَّد قبل أن تصبح الشبكة idle.
حدود الاستخدام
يغطي فقط اختبارات Playwright لتطبيق ويب محلي. chromium دائمًا headless. الـ helper يبدأ بـ --help. التطبيق الديناميكي يجب أن يصل إلى networkidle قبل النظر إلى DOM.
لا تختلق برنامج تثبيت ولا مسار مستودع ولا منفذ localhost لم يُكتب. المادة لا تعطي قائمة عملاء ولا كيفية الاستخدام على موقع غير محلي. ما يتجاوز هذا الـ helper والإطلاق بلا رأس وترتيب الاستطلاع لا تغطيه هذه الصفحة.