برنامه نویسی

چگونه می توان شکست های CI را به صورت محلی در نمایشنامه نویس تولید کرد

آیا تاکنون تست نمایشنامه نویسی را به صورت محلی اجرا کرده اید ، آن را با رنگ های پرواز مشاهده کرده اید ، و سپس کد خود را فشار داده اید – فقط برای این که در CI شکست بخورد؟ اشکال زدایی این ناسازگاری ها می تواند مشکل باشد ، اما یک ترفند ساده وجود دارد که می تواند به شما کمک کند تشخیص دهید که چه اشتباهی رخ داده است.

کلید تشخیص تست های پوسته پوسته

هنگامی که یک آزمایش به طور مداوم روی دستگاه محلی شما می گذرد اما در CI ناکام می ماند ، مسئله اغلب مربوط به زمان بندی ، شرایط مسابقه یا محدودیت منابع است. برای افشای این مشکلات پنهان ، می توانید از نمایشنامه نویس استفاده کنید --repeat-each پرچم

مرحله 1: تست خود را چندین بار اجرا کنید

برای اجرای تست خود 100 بار از دستور زیر استفاده کنید:

npx playwright test file-with-failing-test.spec.ts:20 --repeat-each=100
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این کار را به طور مکرر در چندین کارگران انجام می دهد و احتمال ابتلا به خرابی های متناوب را افزایش می دهد. اگر یک وضعیت مسابقه یا وابستگی ناپایدار وجود داشته باشد ، به احتمال زیاد در طول اجراهای مکرر ظاهر می شود.

مرحله 2: تست استرس با کارگران بیشتر

بعضی اوقات ، انجام آزمایش به طور مکرر کافی نیست ، به خصوص اگر خرابی توسط CPU یا محدودیت حافظه در CI ایجاد شود. در این حالت ، شما می توانید با به حداکثر رساندن تعداد کارگران ، سیستم خود را تأکید کنید:

npx playwright test --repeat-each=100 --workers=10
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر دستگاه محلی شما دارای 10 هسته CPU باشد ، نمایشنامه نویس از آنها برای شبیه سازی بار آزمایش شما در یک محیط CI استفاده می کند. این می تواند به کشف مسائل همزمانی و شرایط مسابقه کمک کند که ممکن است در سناریوهای تک اجرا ظاهر نشود.

مرحله 3: اولین شکست را متوقف کنید

اجرای یک تست 100 بار می تواند مدتی طول بکشد ، اما لازم نیست که منتظر تمام شدن تمام اجراها باشید. از -x پرچم برای متوقف کردن اجرای به محض وقوع شکست:

npx playwright test --repeat-each=100 -x
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این کار باعث می شود تا با شناسایی بلافاصله هنگامی که یک آزمایش تحت استرس شروع می شود ، در وقت شما صرفه جویی شود.

بررسی نهایی: از ثبات اطمینان حاصل کنید

هنگامی که علت اصلی تست پوسته پوسته را شناسایی و ثابت کردید ، آزمایش را دوباره انجام دهید --repeat-each=100 برای تأیید ثبات اگر تمام 100 تست گذشت ، می توانید تغییرات خود را با اعتماد به نفس فشار دهید ، دانستن اینکه در CI بسیار کمتر است.

پایان

اشکال زدایی تست های نمایشنامه نویس پوسته پوسته در CI لازم نیست یک بازی حدس زده باشد. با استفاده از اعمال --repeat-eachبا --workersوت -x، شما می توانید با اطمینان از خرابی های محلی بازتولید کنید و قبل از ایجاد مشکل در خط لوله شما ، آنها را برطرف کنید.

اگر این راهنما را مفید دانستید ، حتماً آن را با تیم خود به اشتراک بگذارید و نکات بیشتر تست نمایشنامه نویس را بررسی کنید. 🚀 آزمایش مبارک!

🔹 می خواهید این را در عمل ببینید؟ آخرین ویدیوی ما را بررسی کنید:

https://www.youtube.com/watch؟v=0dhdmsjx55o

پیوندهای مفید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا