🔵 عنوان مقاله
Playwright Selectors That Don't Flake — 7 Rules
🟢 خلاصه مقاله:
مقالهی Roshan Manjushree Adhikari راههای کاهش flakiness ناشی از selectorها در Playwright را توضیح میدهد و تأکید میکند که بهجای اتکا به retry، باید سراغ selectorهای پایدار و استفادهی درست از Locator API و auto-waiting رفت. او هفت قاعدهی کاربردی پیشنهاد میکند: تکیه بر locatorهای معنایی مثل getByRole/getByLabel/getByText؛ استفاده از data-testid بهجای کلاسها/IDهای پویا؛ پرهیز از selectorهای موقعیتی مثل nth-child و محدود کردن دامنهی جستوجو؛ بهرهگیری از locator() و expect() با انتظارهای درونساخت بهجای sleep؛ همگامسازی با وضعیت واقعی UI و انجام اکشنهای کاربرمحور؛ نزدیککردن selectorها به نشانهگذاری دسترسپذیر و تمرکز آنها در لایهی مشترک؛ و رصد و رفع ریشهای تستهای flaky بهجای retry سراسری. این توصیهها در سایر test frameworks نیز کارآمد هستند.
#Playwright #TestAutomation #Selectors #FlakyTests #E2E #QA #Testing
🟣لینک مقاله:
https://cur.at/QPNtNUw?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Playwright Selectors That Don't Flake — 7 Rules
🟢 خلاصه مقاله:
مقالهی Roshan Manjushree Adhikari راههای کاهش flakiness ناشی از selectorها در Playwright را توضیح میدهد و تأکید میکند که بهجای اتکا به retry، باید سراغ selectorهای پایدار و استفادهی درست از Locator API و auto-waiting رفت. او هفت قاعدهی کاربردی پیشنهاد میکند: تکیه بر locatorهای معنایی مثل getByRole/getByLabel/getByText؛ استفاده از data-testid بهجای کلاسها/IDهای پویا؛ پرهیز از selectorهای موقعیتی مثل nth-child و محدود کردن دامنهی جستوجو؛ بهرهگیری از locator() و expect() با انتظارهای درونساخت بهجای sleep؛ همگامسازی با وضعیت واقعی UI و انجام اکشنهای کاربرمحور؛ نزدیککردن selectorها به نشانهگذاری دسترسپذیر و تمرکز آنها در لایهی مشترک؛ و رصد و رفع ریشهای تستهای flaky بهجای retry سراسری. این توصیهها در سایر test frameworks نیز کارآمد هستند.
#Playwright #TestAutomation #Selectors #FlakyTests #E2E #QA #Testing
🟣لینک مقاله:
https://cur.at/QPNtNUw?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Medium
Playwright Selectors That Don’t Flake — 7 Rules
Your test passes today, fails tomorrow, and nobody touched the code. Most of the time, it’s not Playwright’s fault — it’s your selectors.
🔵 عنوان مقاله
It's Not Your Tests, It's Your Testability
🟢 خلاصه مقاله:
**
بیثباتی تستها همیشه تقصیر تستها نیست؛ اغلب ریشه در سیستم کمتستپذیر دارد. وقتی زمان، همروندی، تصادفیبودن یا وابستگیهای بیرونی کنترلنشده باشند، تستها ناپایدار میشوند. راهحل، ارتقای تستپذیری است: قابلکنترل و قابلمشاهده کردن سیستم، تزریق زمان و بذر تصادفی، جداسازی مرزهای شبکه با قراردادها و فیکها، و هرمتیککردن محیط تست. Gil Zilberfeld توصیه میکند برای جلب حمایت، هزینه فلیکینس را با داده نشان دهید و از بردهای کوچک (مثل افزودن seam، تزریق وابستگی برای زمان/I-O، و تستهای قراردادی) شروع کنید. با گنجاندن تستپذیری در تصمیمهای معماری و معیارهای پذیرش، تیم از آتشنشانی تستهای flaky به ساخت نرمافزار ذاتاً تستپذیر و قابلاتکا منتقل میشود.
#Testability #FlakyTests #SoftwareTesting #QualityEngineering #DevOps #ContinuousIntegration #TestDesign #Observability
🟣لینک مقاله:
https://cur.at/3RbJDxt?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
It's Not Your Tests, It's Your Testability
🟢 خلاصه مقاله:
**
بیثباتی تستها همیشه تقصیر تستها نیست؛ اغلب ریشه در سیستم کمتستپذیر دارد. وقتی زمان، همروندی، تصادفیبودن یا وابستگیهای بیرونی کنترلنشده باشند، تستها ناپایدار میشوند. راهحل، ارتقای تستپذیری است: قابلکنترل و قابلمشاهده کردن سیستم، تزریق زمان و بذر تصادفی، جداسازی مرزهای شبکه با قراردادها و فیکها، و هرمتیککردن محیط تست. Gil Zilberfeld توصیه میکند برای جلب حمایت، هزینه فلیکینس را با داده نشان دهید و از بردهای کوچک (مثل افزودن seam، تزریق وابستگی برای زمان/I-O، و تستهای قراردادی) شروع کنید. با گنجاندن تستپذیری در تصمیمهای معماری و معیارهای پذیرش، تیم از آتشنشانی تستهای flaky به ساخت نرمافزار ذاتاً تستپذیر و قابلاتکا منتقل میشود.
#Testability #FlakyTests #SoftwareTesting #QualityEngineering #DevOps #ContinuousIntegration #TestDesign #Observability
🟣لینک مقاله:
https://cur.at/3RbJDxt?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
TestinGil | By Gil Zilberfeld
It’s Not Your Tests, It’s Your Testability | TestinGil
Let's talk about that test. The one that's always flaky. The one that takes twenty minutes to run and fails for a different reason every time. Your first instinct is to blame the test. Maybe the locator is wrong, maybe the wait time isn't long enough. But…
🔵 عنوان مقاله
I Integrated AI in a Listener to Heal Locators in The Real Time
🟢 خلاصه مقاله:
عبدالقادر حسینی نشان میدهد چگونه میتوان با ادغام AI در یک listener، مشکل ناپایداری تستهای موبایل را با «خودترمیمی لوکیتورها» در لحظه کاهش داد. وقتی یافتن یک المنت بهدلیل تغییرات UI شکست میخورد، listener خطا را رهگیری میکند، ماژول AI بر اساس سیگنالهای مختلف (ویژگیها، برچسبهای دسترسی، شباهت متنی، ساختار صفحه و دادههای تاریخی) یک لوکیتور جایگزین با امتیاز اطمینان پیشنهاد میدهد و در صورت موفقیت، آن را بهصورت خودکار بهروزرسانی میکند. با اعمال آستانه اطمینان، لاگ شفاف و امکان بازگشت، این روش بدون افزایش ریسک، پایداری CI را بالا میبرد و هزینه نگهداری تستها را کم میکند. الگوی ارائهشده قابل تعمیم به فراتر از موبایل است و پیشنهاد میشود ابتدا در حالت فقط-پیشنهاد اجرا، سپس با تنظیم آستانهها، به حالت خودترمیمی خودکار برای موارد با اطمینان بالا منتقل شود.
#AI #TestAutomation #MobileTesting #SelfHealingLocators #FlakyTests #QualityEngineering #DevOps #CICD
🟣لینک مقاله:
https://cur.at/s6YdwTw?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
I Integrated AI in a Listener to Heal Locators in The Real Time
🟢 خلاصه مقاله:
عبدالقادر حسینی نشان میدهد چگونه میتوان با ادغام AI در یک listener، مشکل ناپایداری تستهای موبایل را با «خودترمیمی لوکیتورها» در لحظه کاهش داد. وقتی یافتن یک المنت بهدلیل تغییرات UI شکست میخورد، listener خطا را رهگیری میکند، ماژول AI بر اساس سیگنالهای مختلف (ویژگیها، برچسبهای دسترسی، شباهت متنی، ساختار صفحه و دادههای تاریخی) یک لوکیتور جایگزین با امتیاز اطمینان پیشنهاد میدهد و در صورت موفقیت، آن را بهصورت خودکار بهروزرسانی میکند. با اعمال آستانه اطمینان، لاگ شفاف و امکان بازگشت، این روش بدون افزایش ریسک، پایداری CI را بالا میبرد و هزینه نگهداری تستها را کم میکند. الگوی ارائهشده قابل تعمیم به فراتر از موبایل است و پیشنهاد میشود ابتدا در حالت فقط-پیشنهاد اجرا، سپس با تنظیم آستانهها، به حالت خودترمیمی خودکار برای موارد با اطمینان بالا منتقل شود.
#AI #TestAutomation #MobileTesting #SelfHealingLocators #FlakyTests #QualityEngineering #DevOps #CICD
🟣لینک مقاله:
https://cur.at/s6YdwTw?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Medium
I Integrated AI in a Listener to Heal Locators in The Real Time
A Self-Healing Robot Framework Listener That Prevents Tests From Failing Due Locator Update
🔵 عنوان مقاله
Selenium tests breaking constantly after every UI change. Is test maintenance really supposed to take this much time?
🟢 خلاصه مقاله:
این مسئله مطرح شد که چرا تستهای Selenium با هر تغییر در UI میشکنند و آیا این حجم از نگهداری طبیعی است یا نشانهی مشکل در رویکرد. جامعهی کاربری توصیه کرد وابستگی تستها به جزئیات شکنندهی رابط را کم کنند (استفاده از data-test-id)، از الگوهایی مثل Page Object Model برای متمرکزکردن انتخابگرها کمک بگیرند، و طبق Test Pyramid بیشتر پوشش را به لایههای Unit/API بدهند و فقط سناریوهای کاربرمحور کلیدی را با end‑to‑end اجرا کنند. برای کاهش test flakiness نیز بر waits مبتنی بر شرایط تجاری، کنترل وضعیت داده و محیط، اجتناب از تاخیرهای ثابت و انیمیشنها، ایزولهسازی در CI، mock/stub کردن فراخوانیهای ناپایدار، و قرنطینه و triage خودکار تستهای flaky تأکید شد. جمعبندی این بود که نگهداری سنگین اغلب نتیجهی استفادهی بیشازحد یا کوپلینگ شدید به UI است؛ با راهبردهای درست میتوان automated tests پایدارتر و کمهزینهتر داشت.
#Selenium #TestAutomation #FlakyTests #UITesting #SoftwareTesting #QA #CICD #E2E
🟣لینک مقاله:
https://cur.at/Scyp8xS?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Selenium tests breaking constantly after every UI change. Is test maintenance really supposed to take this much time?
🟢 خلاصه مقاله:
این مسئله مطرح شد که چرا تستهای Selenium با هر تغییر در UI میشکنند و آیا این حجم از نگهداری طبیعی است یا نشانهی مشکل در رویکرد. جامعهی کاربری توصیه کرد وابستگی تستها به جزئیات شکنندهی رابط را کم کنند (استفاده از data-test-id)، از الگوهایی مثل Page Object Model برای متمرکزکردن انتخابگرها کمک بگیرند، و طبق Test Pyramid بیشتر پوشش را به لایههای Unit/API بدهند و فقط سناریوهای کاربرمحور کلیدی را با end‑to‑end اجرا کنند. برای کاهش test flakiness نیز بر waits مبتنی بر شرایط تجاری، کنترل وضعیت داده و محیط، اجتناب از تاخیرهای ثابت و انیمیشنها، ایزولهسازی در CI، mock/stub کردن فراخوانیهای ناپایدار، و قرنطینه و triage خودکار تستهای flaky تأکید شد. جمعبندی این بود که نگهداری سنگین اغلب نتیجهی استفادهی بیشازحد یا کوپلینگ شدید به UI است؛ با راهبردهای درست میتوان automated tests پایدارتر و کمهزینهتر داشت.
#Selenium #TestAutomation #FlakyTests #UITesting #SoftwareTesting #QA #CICD #E2E
🟣لینک مقاله:
https://cur.at/Scyp8xS?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Reddit
From the QualityAssurance community on Reddit
Explore this post and more from the QualityAssurance community