ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-27, Monday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Playwright පරීක්ෂණයේ දෝෂ හඳුනා ගැනීම සහ ස්ථාවර පරීක්ෂණ සඳහා 8 ක්‍රියාකාරී විසඳුම්

Playwright පරීක්ෂණයේ දෝෂ හඳුනා ගැනීම සහ ස්ථාවර පරීක්ෂණ සඳහා 8 ක්‍රියාකාරී විසඳුම්

ඔබේ CI පද්ධතියේ පරීක්ෂණයක් අසාර්ථකව පෙනේද? නැවත ධාවනය කළොත් සාර්ථකව පෙනේද? එවැනි "flaky" පරීක්ෂණ වලින් ඔබේ කණ්ඩායම විශ්වාසය අහිමි කරගන්නවා. මේ ලිපියෙන් Playwright භාවිතයෙන් පෙනෙන අස්ථිර පරීක්ෂණ 8 ක්‍රමික හේතු, ඒවා ප්‍රතිකාර කිරීමේ ක්‍රියාමාර්ග සහ නියමිතවම පරීක්ෂණ ස්ථාවර කිරීමේ උපදෙස් ලබා දෙනවා.

Flaky පරීක්ෂණ කියන්නේ කුමක්ද? කේතය, පරිසරය හෝ පරීක්ෂණයේ වෙනස්කම් නොමැතිව, එකම commit එක, එකම browser එක, එකම spec file එකක් භාවිතා කරත්, වාරිකව වෙනස් ප්‍රතිඵල ලැබීමයි. මෙය නිරන්තර පරීක්ෂණයක් නොව, අනිත්‍යතාවයක්; එනම් DOM තත්වය, කාලය, ක්‍රියාත්මක අනුක්‍රමය වැනි කරුණු පරීක්ෂකයා සලකා නොබැලීමෙන් සිදුවේ.

Playwright හි auto‑wait ක්‍රමය ක්‍රියාත්මක වන්නේ එය "actionable" (දෘශ්‍ය, ස්ථාවර, සක්‍රිය) වන තුරු පමණයි. ඔබේ යෙදුමට 400 ms debounce එකක් තිබේ නම්, බොත්තම ක්ලික් කිරීමේදී එම කාලය නොසලකා හරින නිසා පරීක්ෂණය අසාර්ථක වේ.

  • DOM රේස් කිරීම – බොත්තම අක්‍රිය වෙලාවේ ක්ලික් කිරීම.
  • ඇනීම හා පාරිභෝගික ප්‍රවේශය – fade‑in, slide‑up වැනි transition එකක් නිසා element එක "stable" නොවේ.
  • පරීක්ෂණ අතර බෙදාගත් තත්වය – cookies, DB rows වැනි shared state එකක් පරීක්ෂණ A සිට B දක්වා පවතී.
  • නොමොක් කරන ජාල ඇමතුම් – real payment gateway හෝ analytics script එකක් භාවිතා කිරීම.
  • අනපේක්ෂිත async කේතය – promises හෝ timers නිසා කාලය වෙනස් වීම.
  • පරිසර වෙනස්කම් – CI runners හි CPU load හේතුවෙන් frame timing වෙනස් වීම.
  • අවලංගු selectors – dynamic IDs හෝ class names මත පදනම්ව locator එකක් භාවිතා කිරීම.
  • අධික retry logic – retry කිරීමේදී underlying issue එක විසඳන්නේ නැතිව පමණක් පරීක්ෂණය පසුබැසීම.

මෙම ගැටළු සදහා ප්‍රායෝගික විසඳුම් කිහිපයක්:

  • button click කිරීමේදී real UI state එකට wait කිරීම – await page.getByRole('button', {name:'Submit'}).click();
  • animation අවසන් වීම තහවුරු කිරීම – CSS opacity හෝ aria-busy flag පරීක්ෂා කිරීම.
  • පරීක්ෂණ පූර්ව සැකසීමේදී context clear කිරීම – await context.clearCookies();
  • network calls mock කිරීම – page.route('**/api/checkout', …)

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තාක්ෂණික සමාජය තරුණ devs, QA engineers, startups සහ IT consultancy කණ්ඩායම් වලින් සමන්විතය. Flaky පරීක්ෂණ නිසා CI pipelines අනිසි red status පෙන්වීම, නිෂ්පාදන නිකුතුව අත්හිටුවීම, කාලය හා සම්පත් වැය කිරීම වැනි ගැටළු ඇති වේ. මේ ගැටළු විසඳීමෙන්:

  • කණ්ඩායම් අතර විශ්වාසය නැවත ඉදිරියට ගෙන යා හැක.
  • CI/CD pipelines වේගවත්, නිරවද්‍ය හා ස්ථාවර වේ.
  • ශ්‍රී ලංකාවේ SaaS, fintech, e‑commerce වැනි ව්‍යාපාරවලට ගුණාත්මක සොෆ්ට්වෙයා නිකුතුවේ වේගය වැඩිවේ.
  • අදාල විශ්වවිද්‍යාල හා පුහුණු පාඨමාලාවලට ප්‍රායෝගික උදාහරණයක් සපයයි.

අවසන් වශයෙන්, flaky පරීක්ෂණය "අනපේක්ෂිත" නොව, ඔබේ කේතය හෝ පරිසරයේ නොසලකා හරින බලාපොරොත්තුවකි. එය හඳුනා ගනිමින්, නිවැරදි wait, mock, isolation ආදිය අනුගමනය කරමු. එවිට ඔබේ Playwright පරීක්ෂණ පද්ධතිය ස්ථාවර, විශ්වාසදායක හා කාර්යක්ෂම වේ.

💡 ඔබේ Playwright පරීක්ෂණය අදම ස්ථාවර කරගන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Playwright #FlakyTests #CI #TestingTips #SriLankaTech