المهارات e2e-testing-patterns
📦

e2e-testing-patterns

آمن ⚙️ الأوامر الخارجية🌐 الوصول إلى الشبكة🔑 متغيرات البيئة

بناء مجموعات اختبار E2E موثوقة

متاح أيضًا من: wshobson

كتابة اختبارات end-to-end أمر صعب. توفر هذه المهارة أنماطًا مجربة لـ Playwright و Cypress لإنشاء اختبارات مستقرة وقابلة للصيانة تكتشف الأخطاء قبل المستخدمين.

يدعم: Claude Codex Code(CC)
📊 71 كافٍ
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "e2e-testing-patterns". إنشاء اختبار تسجيل دخول مع Playwright

النتيجة المتوقعة:

  • الخطوة 1: أنشئ فئة LoginPage مع محددات للبريد الإلكتروني وكلمة المرور وزر الإرسال
  • الخطوة 2: نفّذ طريقتي goto() و login(email, password)
  • الخطوة 3: اكتب اختبارًا باستخدام page object مع تأكيدات للرابط ورسالة النجاح
  • الخطوة 4: أضف اختبار تعامل مع الأخطاء لبيانات الاعتماد غير الصالحة

استخدام "e2e-testing-patterns". كيف أصحح اختبارًا غير مستقر؟

النتيجة المتوقعة:

  • 1. استبدل waitForTimeout الثابت بعمليات انتظار صريحة
  • 2. استخدم trace viewer: npx playwright test --trace on
  • 3. أضف لقطات شاشة عند الفشل
  • 4. تحقق من ظروف السباق في العمليات غير المتزامنة
  • 5. اعزل بيانات الاختبار لمنع التلوث بين الاختبارات

التدقيق الأمني

آمن
v1 • 2/24/2026

All 63 static findings are false positives. The analyzer incorrectly interprets markdown code fences as Ruby shell commands, JavaScript operators as cryptographic issues, and test configuration as system reconnaissance. This is a documentation skill with educational content about E2E testing patterns using Playwright and Cypress. No actual security risks exist.

2
الملفات التي تم فحصها
576
الأسطر التي تم تحليلها
3
النتائج
1
إجمالي عمليات التدقيق

عوامل الخطر

⚙️ الأوامر الخارجية (32)
🌐 الوصول إلى الشبكة (4)
🔑 متغيرات البيئة (8)
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
85
المحتوى
25
المجتمع
100
الأمان
100
الامتثال للمواصفات

ماذا يمكنك بناءه

إعداد اختبارات E2E لمشروع جديد

تهيئة Playwright أو Cypress من الصفر مع البنية المناسبة وأدوات الإبلاغ والتكامل مع CI

إصلاح الاختبارات غير المستقرة

استبدال المحددات الهشة والمهل الزمنية الثابتة باستراتيجيات انتظار مناسبة ومحددات مستقرة

توسيع نطاق تنفيذ الاختبار

تنفيذ التنفيذ المتوازٍ وتجزئة الاختبارات لتقليل وقت أنبوب CI من ساعات إلى دقائق

جرّب هذه الموجهات

إنشاء اختبار تسجيل الدخول
أنشئ اختبار end-to-end لصفحة تسجيل الدخول باستخدام Playwright. ضمّن المحددات المناسبة والتأكيدات والتعامل مع الأخطاء لكل من محاولات تسجيل الدخول الناجحة والفاشلة.
محاكاة استجابة API
وضح كيفية محاكاة استجابة API في Cypress لاختبار التعامل مع الأخطاء دون الاعتماد على خدمة backend حقيقية.
إعداد أنبوب CI
اضبط Playwright لتشغيل الاختبارات في CI مع تنفيذ متوازٍ ومنطق إعادة المحاولة وإنشاء تقارير HTML.
اختبار إمكانية الوصول
نفذ اختبار إمكانية الوصول باستخدام axe-core لضمان توافق التطبيق مع إرشادات WCAG.

أفضل الممارسات

  • استخدم data-testid أو أدوار دلالية بدلاً من محددات CSS للحصول على محددات مستقرة
  • حافظ على استقلالية الاختبارات مع إعداد مناسب وهدم لبيانات الاختبار
  • شغّل الاختبارات بشكل متوازٍ في CI لتقليل وقت التنفيذ

تجنب

  • استخدام مهل زمنية ثابتة مثل waitForTimeout(3000) - يسبب عدم استقرار
  • اختبار تفاصيل التنفيذ بدلاً من السلوك المرئي للمستخدم
  • مشاركة الحالة بين الاختبارات - يؤدي إلى فشل متتابع

الأسئلة المتكررة

Playwright مقابل Cypress: أيهما يجب أن أختار؟
يوفر Playwright دعمًا أفضل عبر المتصفحات وتنفيذًا أسرع. Cypress لديه نظام بيئي أكثر نضجًا وتصحيحًا أسهل. اختر بناءً على متطلبات المتصفح وألفة فريقك.
كيف أجعل الاختبارات أقل عدم استقرار؟
استخدم عمليات انتظار صريحة بدلاً من المهل الزمنية، وتجنب اختبار تفاصيل التنفيذ، وتأكد من عزل بيانات الاختبار بشكل صحيح، وأضف منطق إعادة المحاولة للعمليات المعتمدة على الشبكة.
كيف أشغّل الاختبارات بشكل متوازٍ؟
اضبط عمّال Playwright أو توازي Cypress. استخدم تجزئة الاختبارات لتقسيم الاختبارات عبر أجهزة متعددة في CI. تأكد من استقلالية الاختبارات لتجنب التعارضات.
هل يمكنني اختبار APIs بأدوات E2E؟
نعم، يدعم كل من Playwright و Cypress اختبار API. استخدم page.request() في Playwright أو cy.request() في Cypress لاستدعاءات API المباشرة دون تفاعل واجهة المستخدم.
كيف أتعامل مع المصادقة في الاختبارات؟
استخدم تسجيل الدخول عبر API لتعيين ملفات تعريف الارتباط أو الرموز، أو استخدم واجهات برمجة تطبيقات تخزين المتصفح لتعيين بيانات الجلسة مباشرة. تجنب تسجيل الدخول عبر واجهة المستخدم في كل اختبار لتحسين الأداء.
ما هو نموذج Page Object Model؟
نمط تصميم يغلف منطق الصفحة والمحددات الخاصة بها في فئة. يحسّن إمكانية صيانة الاختبارات من خلال مركزية تغييرات الصفحة في مكان واحد بدلاً من جميع الاختبارات.

تفاصيل المطور

بنية الملفات