برنامج كاتب المسرحيات

Playwright هي مكتبة أتمتة مفتوحة المصدر لاختبار المتصفح واستخراج البيانات من الويب [ 3 ] تم تطويرها بواسطة Microsoft [ 4 ] [ 5 ] وتم إطلاقها في 31 يناير 2020، والتي أصبحت منذ ذلك الحين شائعة بين المبرمجين ومطوري الويب .

يُتيح برنامج Playwright إمكانية أتمتة مهام المتصفح في Chromium و Firefox و WebKit باستخدام واجهة برمجة تطبيقات واحدة. [ 6 ] كما يُمكنه العمل مع متصفحات العلامات التجارية المعروفة مثل Google Chrome و Microsoft Edge المتوفرة على الجهاز المضيف، على الرغم من أن هذه المتصفحات غير مُثبّتة افتراضيًا. يدعم الإصدار الحالي من Playwright قنوات Stable وBeta وDev وCanary من Google Chrome وMicrosoft Edge. [ 7 ] يُتيح ذلك للمطورين إنشاء اختبارات شاملة موثوقة قادرة على العمل في وضع التشغيل العادي (بدون واجهة رسومية)، بالإضافة إلى وضع التشغيل بدون واجهة رسومية لأغراض الأتمتة.

يدعم برنامج Playwright لغات برمجة مثل JavaScript و Python و C# و Java ، على الرغم من أن واجهة برمجة التطبيقات الرئيسية الخاصة به كُتبت في الأصل بلغة Node.js. وهو يدعم جميع ميزات الويب الحديثة، بما في ذلك اعتراض الشبكة وسياقات المتصفح المتعددة، ويوفر خاصية الانتظار التلقائي، مما يقلل من عدم استقرار الاختبارات.

@playwright/test

@playwright/test هو مُشغّل اختبارات يستخدم تأكيدات شبيهة بـ Jest [ 8 ] ، طوّره ويُديره فريق Playwright، وهو مبنيّ على واجهة برمجة تطبيقات Playwright. يتكامل مُشغّل الاختبارات هذا بشكلٍ وثيق مع Playwright، وهو مُصمّم خصيصًا لاختبارات شاملة من البداية إلى النهاية. [ 9 ] يتمتّع بإمكانياتٍ مثل الاختبارات الخاصة بالمتصفحات، وتنفيذ الاختبارات بالتوازي، [ 10 ] وخيارات سياق المتصفح الغنية، واختبار اللقطات، وإعادة المحاولات التلقائية، وغيرها الكثير.

تاريخ

أعلنت مايكروسوفت عن بلاي رايت في يناير 2020. [ 11 ] طُوِّرت هذه الأداة لتلبية الحاجة إلى واجهة برمجة تطبيقات موحدة لاختبارات التوافق مع مختلف المتصفحات، وللتغلب على القيود في الأدوات الحالية مثل بابيتير ، وسايبريس، وسيلينيوم . ساهم فريق من المهندسين، بمن فيهم من سبق لهم العمل على بابيتير في جوجل ، في تطويرها. [ 12 ] قدمت بلاي رايت ميزات مثل الانتظار التلقائي، ودعم متصفحات متعددة، واعتراض الشبكة، مما جعلها أداة قوية لاختبار مواقع الويب الحديثة. ومنذ إطلاقها، حظيت بلاي رايت بصيانة مستمرة، وشهدت نموًا سريعًا وانتشارًا واسعًا في مجتمع اختبار مواقع الويب. [ 13 ]

تم إصدار أداة تشغيل الاختبارات @playwright/test لاحقًا كجزء من جهد لتوفير حل أكثر شمولية لاختبارات المتصفح. وقد استند تطويرها بشكل كبير إلى الحاجة إلى أداة تشغيل متخصصة قادرة على الاستفادة الكاملة من إمكانيات واجهة برمجة تطبيقات Playwright، وجعل اختبار الاختبارات الشاملة أكثر قوة وسهولة.

الاستخدام والأمثلة

يُستخدم برنامج Playwright بشكل أساسي لأتمتة مهام المتصفح، والتي تتراوح بين التنقل البسيط بين الصفحات واستخراج المحتوى، وصولاً إلى عمليات أكثر تعقيدًا مثل إرسال النماذج تلقائيًا، وتفاعلات المستخدم، وغير ذلك. على سبيل المثال، قد يبدو جزء بسيط من كود JavaScript باستخدام Playwright كما يلي:

const { chromium } = require ( 'playwright' );( async () => { const browser = await chromium.launch ( ) ; const page = await browser.newPage ( ) ; await page.goto ( ' https://example.com' ); await page.screenshot ( { path : ' example.png' } ) ; await browser.close ( ); }) ( );

في هذا المثال، يتم استخدام برنامج Playwright لفتح متصفح Chromium، والانتقال إلى https://example.com، والتقاط لقطة شاشة وحفظها باسم example.png.

تُوسّع مكتبة @playwright/test هذه الإمكانيات بشكلٍ أكبر من خلال توفير مُشغّل اختبارات يسمح للمطورين بكتابة وتنظيم اختباراتهم بطريقة أكثر تنظيمًا وقابلية للتوسع. مثال على اختبار باستخدام @playwright/test قد يبدو كالتالي:

const { test } = require ( '@playwright/test' );اختبار ( 'اختبار أساسي' , async ({ page }) => { await page . goto ( 'https://example.com' ); await expect ( page ). toHaveTitle ( 'Example Domain' ); });

في هذا المثال، تمت كتابة اختبار للانتقال إلى https://example.comالصفحة والتحقق من أن عنوانها هو "Example Domain". [ 14 ]

إعدادات

يمكن تخصيص اختبارات Playwright باستخدام ملف تكوين (playwright.config.js) يدعم خيارات متنوعة بما في ذلك:

  • إعدادات مهلة الاختبار
  • محاولات إعادة الاختبار الفاشل
  • إعدادات التقاط الشاشة والفيديو
  • تكوين الوضع بدون شاشة
  • خيارات التوازي للاختبار

قد يبدو مثال التكوين كما يلي:

module.exports = { testDir : ' ./tests' , timeout : 30000 , retries : 2 , use : { headless : true , screenshot : 'only-on-failure' , video : 'retain-on-failure' , }, } ;

ميزات تصحيح الأخطاء

يتضمن برنامج Playwright إمكانيات تصحيح الأخطاء المدمجة مثل:

  • لقطات شاشة تم التقاطها عند فشل الاختبارات
  • تسجيل فيديو للتجارب
  • عارض التتبع لتحليل مفصل خطوة بخطوة
  • وضع التصحيح باستخدام أدوات فحص المتصفح
  • سجلات وحدة التحكم ومراقبة طلبات الشبكة [ 15 ]

مراسلون

يُحدد المراسلون في بلاي رايت كيفية جمع نتائج الاختبارات وتجميعها وعرضها بعد التنفيذ. فهم يحولون أحداث الاختبار الخام إلى مخرجات منظمة مثل السجلات والملفات ولوحات المعلومات أو عمليات التكامل الخارجية، مما يُمكّن الفرق من تحليل الاتجاهات واكتشاف حالات التراجع وتصحيح الأخطاء بشكل أكثر فعالية.

من خلال مركزية الأخطاء والتوقيتات والآثار ولقطات الشاشة والبيانات الوصفية، تجعل التقارير من السهل فهم سبب فشل الاختبارات، وليس فقط أنها فشلت.

يتضمن Playwright مراسلين مدمجين [ 16 ] ويعرض واجهة برمجة تطبيقات للمراسلين [ 17 ] تدعم كلاً من التطبيقات مفتوحة المصدر والتجارية، والتي تم سردها أدناه.

تشير التقارير إلى أن برنامج Playwright، حتى عام 2025، حصد أكثر من 75,000 نجمة على منصة GitHub، وأكثر من 20 مليون عملية تنزيل على منصة NPM [ 18 ] ، وأكثر من 11,000 سؤال على منصة Stack Overflow. وقد وُصف بأنه يشهد أسرع نمو في تبني المجتمع، وعدد النجوم على GitHub، والاستخدام الحديث بين أطر اختبار الويب الرئيسية.

رؤى البيانات (كاتب مسرحي 2025)
أداةنجوم جيت هابجميع التنزيلات على منصة NPMأسئلة موقع ستاك أوفر فلوالإصدار الأولتحديث السرعة
الكاتب المسرحيأكثر من 75000أكثر من 20 مليونأكثر من 110002020سريع ومبتكر

مراجع

  1. "إصدار v0.10.0" . جيت هاب . تم الاطلاع عليه في 1 يونيو 2022 .
  2. "الإصدار 1.62.0" . 24 يوليو 2026. تم الاطلاع عليه في 25 يوليو 2026 .
  3. ^ بانسال، موديت؛ دار، محمد أمين؛ بهات، موشين منظور؛ شارما، توشار؛ أونيار، ريشيتا (2023). “إستيعاب البيانات ومعالجتها باستخدام الكاتب المسرحي”. TechRxiv .
  4. يغولالب، سردار (30 سبتمبر 2020). "برنامج بلاي رايت من مايكروسوفت يُبسّط اختبارات تطبيقات الويب المكتوبة بلغة بايثون" . إنفوورلد . آي دي جي كوميونيكيشنز . تاريخ الاسترجاع: 2 يوليو 2023 .
  5. تونغ، ليام (1 أكتوبر 2020). "مايكروسوفت: برنامج بلاي رايت للغة بايثون يتيح لك اختبار تطبيقات الويب في جميع المتصفحات الرئيسية" . ZDNET . تم الاطلاع عليه في 2 يوليو 2023 .
  6. جوديس، ستيفان (22 أكتوبر 2022). "بلاي رايت، إطار عمل لاختبارات شاملة موفر للوقت" . ذا نيو ستاك . تم الاطلاع عليه في 2 يوليو 2023 .
  7. "المتصفحات المدعومة" . وثائق بلاي رايت . مايكروسوفت . تم الاطلاع عليه بتاريخ 20 يناير 2026 .
  8. "ادعاءات" . كاتب مسرحي . مايكروسوفت . تم الاطلاع عليه في 1 يونيو 2023 .
  9. "المكتبة" . كاتب مسرحي . مايكروسوفت . تم الاطلاع عليه في 1 يونيو 2023 .
  10. "التوازي والتجزئة" . كاتب مسرحي . مايكروسوفت . تم الاطلاع عليه في 1 يونيو 2023 .
  11. أتام، أرجون (30 سبتمبر 2020). "الإعلان عن Playwright للغة بايثون: اختبار شامل وموثوق للويب" . مدونات مطوري مايكروسوفت . مايكروسوفت . تم الاطلاع عليه في 2 يوليو 2023 .
  12. شييمان، ديلان (30 يناير 2020). "مايكروسوفت تعلن عن بديل لبرنامج Puppeteer لكتابة المسرحيات" . InfoQ . C4Media . تم الاطلاع عليه في 2 يوليو 2023 .
  13. غاغان، لوك (1 يوليو 2023). "تحليل مقارن لتبني الكاتب المسرحي مقابل سايبرس وسيلينيوم" . رايرن . تم الاسترجاع في 2 يوليو 2023 .
  14. "تأكيد على امتلاك العنوان" . كاتب مسرحي . مايكروسوفت . تم الاسترجاع في 1 يونيو 2023 .
  15. "كيفية استخدام برنامج Playwright للاختبار الشامل" . roundproxies.com . 6 يناير 2025. تم الاطلاع عليه في 6 فبراير 2025 .
  16. "واجهة برمجة تطبيقات مراسل المسرحيات" . playwright.dev . 14 يناير 2026. تم الاطلاع عليه في 14 يناير 2026 .
  17. "واجهة برمجة تطبيقات مراسل المسرحيات" . playwright.dev . 14 يناير 2026. تم الاطلاع عليه في 14 يناير 2026 .
  18. "مقارنة بين Playwright وSelenium وCypress: أفضل مقارنة لعام 2025" . ThinkSys . تم الاطلاع عليه بتاريخ 6 أغسطس 2025 .

للمزيد من القراءة

  • كينسبرونر، إران (2022). دليل مطور واجهة المستخدم لاختبار الويب: استكشف أطر عمل أتمتة اختبار الويب الرائدة ومستقبلها المدفوع بالبرمجة منخفضة الكود والذكاء الاصطناعي . دار نشر باكت . رقم ISBN 978-1803238319.
  • إيرفين، دانيال (2023). Svelte with Test-Driven Development: طوّر مهاراتك واكتب اختبارات آلية فعّالة باستخدام Vitest وPlaywright وCucumber.js . Packt Publishing . ISBN 978-1837638338.