قد تبدو صفحة الويب سليمة في صورة، بينما يفشل زر الحفظ أو لا تظهر رسالة التحقق بعد إدخال بيانات خاطئة. مهارة webapp-testing من Anthropic تساعد وكيل البرمجة على اختبار تطبيق ويب محلي باستخدام Python وPlaywright، مع فحص العناصر الظاهرة والتقاط صور الشاشة وسجلات المتصفح. تناسب المطور الذي يريد التحقق من سلوك محدد بعد تعديل الواجهة. هذه مراجعة لوثائق المصدر، ولم نثبّت المهارة أو ننفذ اختبارًا مستقلًا بها.
ماذا تفعل المهارة؟
تضع المهارة مسارًا واضحًا للاختيار بين صفحة HTML ثابتة وتطبيق ديناميكي. في الحالة الأولى يمكن قراءة الملف للتعرف على العناصر، ثم كتابة اختبار يستخدم محدداتها. وفي التطبيق الديناميكي يبدأ الوكيل بالتأكد من تشغيل الخادم، وفتح الصفحة وانتظار تحميلها، ثم فحص DOM المعروض واختيار المحددات قبل تنفيذ التفاعلات.
تتضمن الحزمة مساعدًا باسم scripts/with_server.py لإدارة دورة حياة الخادم أثناء الاختبار، ويمكنه التعامل مع أكثر من خادم، مثل واجهة أمامية وخدمة خلفية. كما توجد أمثلة لاكتشاف الأزرار والروابط وحقول الإدخال، والتعامل مع HTML محلي، والتقاط رسائل وحدة التحكم. هذه ملفات مساعدة وتعليمات للوكيل، وليست خدمة مراقبة مستضافة أو لوحة اختبار جاهزة.
الإعداد والمتطلبات
المسار الصحيح هو skills/webapp-testing/SKILL.md داخل مستودع anthropics/skills. تحتاج إلى Python وحزمة Playwright ومتصفحها، وإلى أدوات تشغيل تطبيقك نفسه. إذا كان التطبيق يستخدم Node.js مثلًا، تبقى مديرات الحزم والاعتماديات المطلوبة جزءًا من إعداد التطبيق، وليست شيئًا تثبّته المهارة تلقائيًا.
يوثق المستودع إضافة سوق المهارات في Claude Code بالأمر /plugin marketplace add anthropics/skills، ثم تثبيت مجموعة example-skills@anthropic-agent-skills. هذه المجموعة تضم مهارات أخرى أيضًا؛ إذا كنت تريد هذه المهارة وحدها، راجع طريقة إضافة مجلد المهارة في وكيلك. وجود الملفات في محادثة سحابية لا يجعل تطبيق جهازك المحلي متاحًا لها تلقائيًا.
- جهّز نسخة تطوير من التطبيق، وحدد عنوانه المحلي والمنفذ وأمر تشغيله. استخدم بيانات تجريبية وحسابًا محدود الصلاحيات.
- اطلب من الوكيل استخدام webapp-testing، وحدد سلوكًا قابلًا للملاحظة: المدخلات، والخطوات، والنتيجة المنتظرة.
- إذا احتاج الاختبار تشغيل خادم، توصي الوثائق بمراجعة
python scripts/with_server.py --helpقبل استدعاء المساعد. - دع الوكيل يفحص الصفحة المعروضة قبل اختيار العناصر، ثم يكتب سكربت Playwright ويشغله على البيئة المحددة.
- اطلب صور الشاشة والسجلات ونتائج التحقق، وافصل بين الاختبارات الناجحة والفاشلة والحالات التي لم تُختبر.
مثال استخدام عملي
يمكن أن يكون الطلب: «استخدم webapp-testing لاختبار نموذج التسجيل على localhost. تحقق من ظهور رسالة عند ترك البريد فارغًا، ومن رفض البريد غير الصحيح، ثم اختبر النجاح ببيانات تجريبية. لا ترسل بريدًا حقيقيًا ولا تنفذ أي عملية شراء. احفظ صورة لكل حالة واذكر ما لم تستطع اختباره».
يمنح هذا الطلب الاختبار حدودًا واضحة، ويجعل النتيجة قابلة للمراجعة. صورة النجاح وحدها لا تكفي؛ من الأفضل أن يتضمن السكربت تحققًا صريحًا من ظهور الرسالة أو تغير الحالة المتوقع. وتعرض وثائق المهارة تشغيل Chromium دون واجهة مرئية وإغلاق المتصفح بعد الانتهاء.
الحدود التي ينبغي معرفتها
توصي المهارة بانتظار networkidle قبل فحص التطبيق الديناميكي. قد تحتاج التطبيقات ذات الاتصالات المستمرة إلى شرط انتظار أكثر تحديدًا؛ راجع حالة التطبيق بدل افتراض أن وصفة واحدة تناسب الجميع. المهارة لا تضمن تغطية جميع المتصفحات أو الشاشات، ولا تستبدل اختبارات الأمان أو الأداء أو الوصول. يؤكد مستودع Anthropic أن هذه أمثلة تعليمية ينبغي اختبارها في بيئتك قبل الاعتماد عليها في المهام الحرجة.
التكلفة والترخيص وحماية البيانات
ملف LICENSE.txt الخاص بهذه المهارة يحمل ترخيص Apache-2.0. لا توجد رسوم ترخيص منفصلة معلنة للملفات، لكن استخدام Claude أو وكيل آخر والبنية التحتية قد يكون مدفوعًا. تحتاج البيئة إلى القدرة على تشغيل Python والمتصفح والوصول إلى التطبيق، ولا يكفي اختيار نظام تشغيل دون تجهيز هذه المتطلبات.
قد تحتوي صور الشاشة والسجلات على أسماء وعناوين أو رموز جلسات. احجب البيانات الحساسة ولا ترفعها إلى تقارير عامة. تشغيل المتصفح محليًا لا يضمن بقاء كل البيانات محلية إذا شارك الوكيل النتائج مع مزوده. كما أن الضغط على زر قد يعدّل قاعدة البيانات أو يرسل رسالة فعلية؛ استخدم بيئة اختبار وافصلها عن الإنتاج قبل منح الوكيل صلاحية التنفيذ.
