විවෘත මූලාශ්‍ර / බහාලු.

බ්‍රව්සරය පරීක්ෂා කිරීමේ මෙවලිය.

"browser-tester" යනු, සම්පූර්ණයෙන්ම Rust භාෂාවෙන් නිර්මාණය කරන ලද, බ්‍රව්සර් ක්‍රියාකාරිත්වයට සමාන වූ, නිශ්චිත ප්‍රතිඵල ලබා දෙනු ලබන යන්ත්‍රයක් (runtime) වේ. එය, යථා බ්‍රව්සර් එකක් භාවිත නොකර, DOM (Document Object Model) සහ සිද්ධීන් (events) වල ක්‍රියාකාරිත්වය තහවුරු කරයි.

ගංචි. නිර්ණය කළ හැකි ක්‍රියාත්මක කාලය. DOM පරීක්ෂණය.

මෙම පෙට්ටි කුමක් සඳහා හොඳද.

"Browser-tester" යනු, සම්පූර්ණ බ්‍රව්සරයේ ක්‍රියාකාරිත්වය සමඟ ගැළපෙන ආකාරය පරීක්ෂණය කිරීම වෙනුවට, බ්‍රව්සර්වල අඩංගු ඇති පෝරම් (form) සහ පරිශීලක අතුරුමුහුණුව (UI) වල ක්‍රියාකාරිත්වය නිශ්චිතව පරීක්ෂා කිරීමට අවධානය යොමු කරන යමක්."

"Rust" භාෂාව සඳහා පමණක් වන ක්‍රියාකාරී පරිසරය.

මෙය Rust ක්‍රියාවලියක ඇතුළත ක්‍රියාත්මක වේ. එය වෙනස් බ්‍රවුසරයකට, WebDriver වෙත, හෝ Node.js වෙත ඇබ්බැද්දක් නොමැත.

නිර්ණය කළ හැකි ක්‍රියාත්මක වීම.

මෙම පද්ධතිය, නැවත නැවතත් සිදු කළ හැකි පරීක්ෂණ සඳහා නිර්මාණය කර ඇත: එහිදී බොරු ඔරලෝසු, නිශ්චිත අහඹු ගණනක්, සහ නිශ්චිත කාල පාලන ක්‍රම පාවිචි ගත කර ඇත.

DOM සහ සිද්ධීන් පිළිබඳ පරීක්ෂණ.

මෙම පද්ධතිය, බ්‍රවුසරයේ ක්‍රියාකාරකම්වලට සමාන ක්‍රම පද්ධතිවලට සහයෝගය දක්වයි. එහිදී, තෝම්පත් කිරීම, අන්තර්ගත ස්ක්‍රිප්ට් ක්‍රියාත්මක කිරීම, සිද්ධීන්හි සම්ප්‍රේෂණය, සහ DOM යාවත්කාලීන කිරීම වැනි ක්‍රමෝපාය අඩංගුවල ඇත.

වේගවත්, ප්‍රදේශීය ප්‍රතිපෝෂණ.

පෝරම් මත පදනම් වූ පරිශීලක අතුරුමුහුණුවල (UI) සිදු කරන පරීක්ෂණ සඳහා, ඉක්මන් ප්‍රතිපෝෂණ ක්‍රමයක් ලබා දෙන අතර, වැරදි ප්‍රතිඵල පෙන්වන විට, ඒවා තෝදන් සහ අපේක්ෂිත/ඇත්ත වශයෙන් පවතින අගුළු මත පමණක් අවධානය යොමු කරයි.

ඉගෙනීම ආරම්භ කිරීම.

HTML භාවිතයෙන් යන්ත්‍රයක් (framework) සාදා, අන්තර්ක්‍රියාකාරීත්වයන් ක්‍රියාත්මක කර, DOM ප්‍රතිඵලాలను පරීක්ෂා කරන්න. කුඩා පරීක්ෂණයක් (fixture) සමඟ ආරම්භ කර, කාලසටහන් සහ බොරු API-වල් (mock APIs) යොදාගෙන එය වැඩිදියුණු කරන්න.

ස්ථාපනය කරන්න.

cargo: browser_tester යන අංගය එකතු කරන්න.

සරල උදාහරණය.

ප්‍රධාන API අතුරුමුහුණුව.

"Harness Actions + Assertions" යන පදය සඳහා නිවැරදි පරිවර්තනයක් ලබා ගැනීමට, එම පදයේ අර්ථය සහ භාවිතය පිළිබඳව වැඩි විස්තර අවශ්‍ය වේ. කෙසේ වෙතත්, සාමාන්‍ය පරිවර්තනයක් ලෙස, එය "ක්‍රියාකාරීත්වයට සහ ස්ථාවරභාවයට අදාළ ක්‍රමෝපාය" ලෙස හැඳකිය හැක.

අපගේ ප්‍රධාන DOM පරීක්ෂණ ක්‍රියාකාරකම් වන්නේ: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit` යන ක්‍රියාකාරකම්, මෙන්ම පෙළ/අගය/පහන්වූ තත්ත්වය/විය පැවතිය යුතු තත්ත්වය පිළිබඳව පරීක්ෂා කිරීම සඳහා වන උපකාරක මෙවලම්.

නිර්ණය කරන ලද කාලමානකය.

අsynchronous ක්‍රියාකාරකම් පාලනය කිරීම සඳහා කෘත්‍රිම ඔclockක් භාවිතා කරන්න. `advance_time`, `advance_time_to`, `flush` සහ කාල පාලන පද්ධතිය පරීක්ෂා කිරීම සඳහා වන API-களை භාවිතයෙන් කාලය නිශ්චිත ආකාරයකින් ඉදිරියට ගෙන යන්න.

ඇතීවා ඇති බොරු දත්ත සැකසීම්.

පරීක්ෂණ ක්‍රමවේදයන් නිවැරදිව පවත්වා ගැනීම සඳහා, `set_fetch_mock`, `enqueue_confirm_response`, සහ `enqueue_prompt_response` යන ක්‍රමවේදයන් භාවිතා කරමින්, ප්‍රතිචාර සහ සංවාද ප්‍රතිඵලයන් පාලනය කරන්න. මේ නිසා, පරීක්ෂණ ක්‍රමවේදයන් අතර වන අන්තර් ක්‍රියාකාරකම් අවම කර, ඒවා ස්වාධීනව ක්‍රියාත්මක කිරීමට හැකි වනු ඇත.

සමීක්ෂණය සහ අතුරුදැලීම් විශ්ලේෂණය.

පරීක්ෂණයකදී අසාර්ථකත්වය ඇති වුවහොත්, ට්‍රේස් ලොග් ක්‍රියාත්මක කර, සිද්ධීන් සහ කාල පරිමාණය පිළිබඳ තොරතුරු ලබා ගන්න. මෙය සිද්ධීන්වල අනුපිළිවෙල සහ පෙරනිමි ක්‍රියාකාරකම් පිළිබඳ ගැටළු හඳුනා ගැනීමට ඉතා ප්‍රයෝජනවත් වේ.

මෙතෙක් ක්‍රියාත්මක වන ප්‍රතිපත්ති.

  • "eval" ක්‍රියාකාරකම හඳුන්වා නොදීම, ආරක්ෂාව සහ නිශ්චිතභාවය පවත්වා ගැනීම සඳහා ය.
  • මෙම ක්‍රියාකාරී පරිසරය, සම්පූර්ණ බ්‍රව්සරය සමඟ 100% સુදුසුකම නොමැතිව, ප්‍රයෝගික පරීක්ෂණ අවස්ථාවලට යොමුවන.
  • බාහිර ජාල සම්බන්ධතා භාවිතය මෙම පද්ධතියෙන් ඉවතට ය. පරීක්ෂණවලදී, යථා තත්ත්වය නියෝජනය කරන බොරු දත්ත භාවිත කරන්න.

ඔබේ පරීක්ෂණ ක්‍රියාවලිය සඳහා අමතර බ්‍රවුසර API අවශ්‍ය නම්, එහි විෂය පථය සහ ප්‍රමුඛත්වය පිළිබඳ සාකච්ඡා කිරීම සඳහා, හැකි තරමින් සරල වූ උදාහරණයක් සහිතව අයිතිවාසිකම් යෝජනා කිරීමක් ඉදිරිපත් කරන්න.