تحديد تكوين مجموعة الاختبار الأمثل

تمكنك معاينة اختبار Microsoft Playwright من تسريع تنفيذ اختبار Playwright عن طريق زيادة التوازي على نطاق السحابة. تؤثر عدة عوامل على وقت إكمال مجموعة الاختبار الخاصة بك. تحديد التكوين الأمثل لتقليل وقت إكمال مجموعة الاختبار هو خاص بالتطبيق ويتطلب التجريب. تشرح هذه المقالة المستويات المختلفة لتكوين التوازي لاختباراتك، والعوامل التي تؤثر على مدة الاختبار، وكيفية تحديد التكوين الأمثل لتقليل وقت إكمال الاختبار.

في Playwright، يمكنك تشغيل الاختبارات بالتوازي باستخدام عمليات العامل. باستخدام اختبار Microsoft Playwright، يمكنك زيادة التوازي باستخدام المستعرضات المستضافة على السحابة. بشكل عام، إضافة المزيد من التوازي يقلل من الوقت لإكمال مجموعة الاختبار الخاصة بك. ومع ذلك، لا تؤدي إضافة المزيد من عمليات العامل دائما إلى أوقات إكمال مجموعة اختبار أقصر. على سبيل المثال، قد تؤثر موارد الحوسبة الآلية للعميل أو زمن انتقال الشبكة أو تعقيد الاختبار أيضا على مدة الاختبار.

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

Line chart that shows the relation between the number of parallel workers and the test suite completion time for different run environments.

عمليات العامل

في Playwright، يتم تشغيل جميع الاختبارات في عمليات العامل. هذه العمليات هي عمليات نظام التشغيل، تعمل بشكل مستقل، بالتوازي، منسقة من قبل مشغل Playwright Test. جميع العمال لديهم بيئات متطابقة وتبدأ كل عملية متصفحها الخاص.

بشكل عام، يمكن أن تؤدي زيادة عدد العمال المتوازيين إلى تقليل الوقت المستغرق لإكمال مجموعة الاختبار الكاملة. يمكنك معرفة المزيد حول توازي اختبار Playwright في وثائق Playwright.

كما هو موضح سابقا في المخطط، لا يستمر وقت إكمال مجموعة الاختبار في الانخفاض أثناء إضافة المزيد من عمليات العامل. هناك عوامل أخرى تؤثر على مدة مجموعة الاختبار.

تشغيل الاختبارات محليا

بشكل افتراضي، @playwright/test يحد من عدد العاملين إلى 1/2 من عدد مراكز وحدة المعالجة المركزية على جهازك. يمكنك تجاوز عدد العاملين لتشغيل الاختبار الخاص بك.

عند تشغيل الاختبارات محليا، يقتصر عدد عمليات العامل على عدد مراكز وحدة المعالجة المركزية على جهازك. بالإضافة إلى نقطة معينة، تؤدي إضافة المزيد من العمال إلى الخلاف على الموارد، ما يؤدي إلى إبطاء كل عامل وإدخال خفقان الاختبار.

لتجاوز عدد العمال الذين يستخدمون --workers علامة سطر الأوامر:

npx playwright test --workers=10

لتحديد عدد العاملين في playwright.config.ts استخدام workers الإعداد:

export default defineConfig({
  ...
  workers: 10,
  ...
});

تشغيل الاختبارات باستخدام الخدمة

عند استخدام Microsoft Playwright Testing، يمكنك زيادة عدد العاملين على نطاق السحابة إلى أعداد أكبر. عند استخدام الخدمة، تستمر عمليات العامل في التشغيل محليا، ولكن يتم الآن تشغيل مثيلات المستعرض كثيفة الموارد عن بعد في السحابة.

نظرا لأن عمليات العامل لا تزال تعمل على جهاز العميل (محطة عمل المطور أو جهاز عامل CI)، فقد يظل جهاز العميل يشكل ازدحاما للتنفيذ القابل للتطوير أثناء إضافة المزيد من العمال. تعرف على كيفية تحديد التكوين الأمثل.

يمكنك تحديد عدد العاملين في سطر الأوامر مع العلامة --workers :

npx playwright test --config=playwright.service.config.ts --workers=30

بدلا من ذلك يمكنك تحديد عدد العاملين في playwright.service.config.ts استخدام workers الإعداد:

export default defineConfig({
  ...
  workers: 30,
  ...
});

العوامل التي تؤثر على وقت الاكتمال

بالإضافة إلى عدد عمليات العمال المتوازية، هناك عدة عوامل تؤثر على وقت إكمال مجموعة الاختبار.

العامل‬ التأثيرات على مدة الاختبار
موارد حساب جهاز العميل لا تزال عمليات العامل تعمل على جهاز العميل (محطة عمل المطور أو جهاز عامل CI) وتحتاج إلى الاتصال بالمستعرضات البعيدة. قد تؤدي زيادة عدد العمال المتوازيين إلى تنازع الموارد على جهاز العميل، وإبطاء الاختبارات.
تعقيد التعليمات البرمجية للاختبار مع زيادة تعقيد التعليمات البرمجية للاختبار، قد يزيد أيضا وقت إكمال الاختبارات.
زمن الانتقال بين جهاز العميل والمستعرضات البعيدة يعمل العمال على جهاز العميل ويتواصلون مع المتصفحات البعيدة. اعتمادا على منطقة Azure حيث تتم استضافة المستعرضات، قد يزيد زمن انتقال الشبكة. تعرف على كيفية تحسين زمن الانتقال الإقليمي في Microsoft Playwright Testing.
إعدادات تكوين Playwright يمكن أن تؤثر إعدادات Playwright مثل مهلات الخدمة أو إعادة المحاولة أو التتبع سلبا على وقت إكمال الاختبار. جرب التكوين الأمثل لهذه الإعدادات عند تشغيل اختباراتك في السحابة.
سعة معالجة التحميل للتطبيق الهدف يمكنك تشغيل الاختبارات باستخدام اختبار Microsoft Playwright من التشغيل بتوازي أعلى، ما يؤدي إلى تحميل أعلى على التطبيق الهدف. تحقق من أن التطبيق يمكنه معالجة الحمل الذي تم إنشاؤه عن طريق تشغيل اختبارات Playwright.

تعرف على المزيد حول سير العمل لتحديد التكوين الأمثل لتقليل مدة مجموعة الاختبار.

سير العمل لتحديد التكوين الأمثل

التكوين الأمثل لتقليل وقت إكمال مجموعة الاختبار خاص بالتطبيق والبيئة الخاصة بك. لتحديد التكوين الأمثل، جرب مستويات مختلفة من التوازي أو تكوين أجهزة جهاز العميل أو إعداد مجموعة الاختبار.

يمكن أن يساعدك الأسلوب التالي في العثور على التكوين الأمثل لتشغيل اختباراتك باستخدام Microsoft Playwright Testing:

1. تحديد هدف وقت إكمال الاختبار

حدد ما هو وقت إكمال مجموعة الاختبار المقبولة والتكلفة المقترنة لكل تشغيل اختبار.

اعتمادا على السيناريو، قد تكون متطلباتك لإكمال الاختبار مختلفة. عند تشغيل الاختبارات الشاملة مع كل تغيير في التعليمات البرمجية، كجزء من سير عمل التكامل المستمر (CI)، يعد تقليل وقت إكمال الاختبار أمرا ضروريا. عند جدولة الاختبارات الشاملة في تشغيل دفعة (ليلية)، قد تكون لديك متطلبات أقل تطلبا.

2. تحقق من تشغيل الاختبارات بشكل صحيح على جهاز العميل

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

3. تشغيل باستخدام المستعرضات المستضافة على السحابة على Microsoft Playwright Testing

بمجرد تشغيل الاختبارات بشكل صحيح، أضف تكوين الخدمة لتشغيل اختباراتك على المتصفحات المستضافة على السحابة باستخدام الخدمة. تحقق من استمرار تشغيل الاختبارات بشكل صحيح من جهاز العميل (محطة عمل المطور أو جهاز عامل CI).

ابدأ باستخدام التشغيل السريع: قم بتشغيل اختبارات Playwright على نطاق واسع باستخدام Microsoft Playwright Testing.

4. تحقق من المستعرضات البعيدة لمنطقة Azure

يمكن لاختبار Microsoft Playwright استخدام المستعرضات البعيدة في منطقة Azure الأقرب إلى جهاز العميل الخاص بك، أو استخدام المنطقة الثابتة التي تم إنشاء مساحة العمل عليها.

تعرف على كيفية تحسين زمن الانتقال الإقليمي لمساحة العمل الخاصة بك.

5. تجربة عدد العمال المتوازيين

جرب عدد العمال المتوازيين لإجراء اختباراتك. قم بقياس وقت إكمال الاختبار ومقارنتها بالهدف المستهدف الذي قمت بتعيينه مسبقا.

لاحظ أن وقت إكمال الاختبار لم يعد يقلل عند إضافة المزيد من العمال. انتقل إلى الخطوة التالية لتحسين الإعداد بشكل أكبر.

إشعار

بينما تكون الخدمة قيد المعاينة، يقتصر عدد العمال المتوازيين لكل مساحة عمل على 50. يمكنك طلب زيادة هذا الحد لمساحة العمل الخاصة بك.

6. تغيير حجم العميل

أثناء زيادة التوازي، قد يواجه جهاز العميل تنازعا على مورد الحساب. قم بزيادة موارد الحوسبة على جهاز العميل، على سبيل المثال عن طريق تحديد مشغلات أكبر مستضافة على GitHub.

بدلا من ذلك، إذا كانت لديك قيود على الأجهزة، يمكنك تقسيم اختبارات العميل.

أعد تشغيل اختباراتك واختبر عدد العمال المتوازيين.

7. تحديث إعدادات تكوين اختبار Playwright

تكوين إعدادات تكوين اختبار Playwright، مثل مهلات الاختبار أو إعدادات التتبع أو إعادة المحاولة.