"ரஸ்ட்" நிரலாக்க மொழியில் மட்டுமே இயங்கக்கூடிய இயக்க நேரம்.
இது ஒரு தனி ரஸ்ட் (Rust) செயல்முறைக்குள் இயங்குகிறது. இதற்கு எந்த வெளிப்புற உலாவியோ, வெப் டிரைவரோ அல்லது நோட்.ஜெ.எஸ் (Node.js) சார்ந்திருப்போ தேவையில்லை.
திறந்த மூல / கொள்கலன்.
"browser-tester" என்பது, முற்றிலும் ரஸ்ட் நிரலாக்க மொழியில் உருவாக்கப்பட்ட, ஒரு குறிப்பிட்ட முறையில் செயல்படும், இணைய உலாவியைப் போன்ற சோதனைச் சூழல். இது, உண்மையான உலாவியைத் திறக்காமல், DOM (Document Object Model) மற்றும் நிகழ்வுகளின் செயல்பாடுகளைச் சரிபார்க்கிறது.
"பிரவுசர்-டெஸ்டர்" மென்பொருள், முழுமையான உலாவியின் செயல்பாட்டுத் திறன் சோதனைகளை வழங்குவதை விட, நிலையான மற்றும் கணிக்கக்கூடிய படிவம்/பயனர் இடைமுக செயல்பாடுகளைச் சோதிப்பதில் கவனம் செலுத்துகிறது.
இது ஒரு தனி ரஸ்ட் (Rust) செயல்முறைக்குள் இயங்குகிறது. இதற்கு எந்த வெளிப்புற உலாவியோ, வெப் டிரைவரோ அல்லது நோட்.ஜெ.எஸ் (Node.js) சார்ந்திருப்போ தேவையில்லை.
மீண்டும் மீண்டும் சோதனைகளைச் செய்யக்கூடிய வகையில் இது வடிவமைக்கப்பட்டுள்ளது: போலி கடிகாரம், கணிக்கக்கூடிய சீரற்ற எண் உருவாக்கும் வசதி, மற்றும் நேரத்தை துல்லியமாக கட்டுப்படுத்தும் நிரலாக்க இடைமுகங்கள் ஆகியவை இதில் உள்ளன.
இது நடைமுறை இணைய உலாவியில் உள்ள செயல்பாடுகளை ஆதரிக்கிறது: தேர்வு வசதிகள், உள்ளே இருக்கும் ஸ்கிரிப்ட்களை இயக்குதல், நிகழ்வு பரவல், மற்றும் DOM (Document Object Model) புதுப்பிப்புகள்.
படிவங்களை அடிப்படையாகக் கொண்ட பயனர் இடைமுக சோதனைகளுக்கு, விரைவான பின்னூட்ட சுழற்சியை வழங்குவதோடு, தோல்வி ஏற்பட்டால், அது எந்தெந்த தேர்வு முறைகள் பயன்படுத்தப்பட்டன, மேலும் எதிர்பார்க்கப்பட்ட மற்றும் உண்மையான மதிப்புகள் என்ன என்பதைக் குறித்த தகவல்களை மட்டும் தெளிவாகக் காண்பிக்கும்.
HTML மூலம் ஒரு கட்டமைப்பை உருவாக்குங்கள், அதனுடன் தொடர்புகளை ஏற்படுத்தி, DOM முடிவுகளைச் சரிபார்க்கவும். சிறிய ஒரு சோதனை அமைப்பில் தொடங்கி, பின்னர் நேரக் கட்டுப்பாடுகள் (timer) மற்றும் மாதிரி API-களைப் பயன்படுத்தி அதை விரிவாக்குங்கள்.
நிறுவுதல்.
கார்ப்ஜோவில் "browser_tester" என்ற நிரலைச் சேர்க்கவும்.
அடிப்படை உதாரணம்.
முக்கியமான DOM சோதனை செயல்பாடுகள்: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, மற்றும் உரை/மதிப்பு/தேர்ந்தெடுக்கப்பட்ட நிலை/இருப்பு ஆகியவற்றைச் சரிபார்க்க உதவும் கருவிகள்.
ஒத்திசைவற்ற செயல்பாடுகளை ஒரு போலியான கடிகாரத்தைப் பயன்படுத்தி கட்டுப்படுத்தலாம். `advance_time`, `advance_time_to`, `flush` மற்றும் டைமர் ஆய்வுக்கான API-களைப் பயன்படுத்தி, நேரத்தை திட்டமிட்டபடி மாற்றலாம்.
சோதனைகளைத் தனிமைப்படுத்த, `set_fetch_mock`, `enqueue_confirm_response`, மற்றும் `enqueue_prompt_response` போன்ற செயல்பாடுகளைப் பயன்படுத்தி, தரவு மீட்டெடுப்பு பதில்களையும், உரையாடல் முடிவுகளையும் செயற்கையாக உருவாக்கவும்.
ஒரு சோதனை தோல்வியடையும்போது, பிழைத்திருத்த பதிவுகளை இயக்கவும், நிகழ்வுகள் மற்றும் நேர அளவீடுகளின் வரிசையை பகுப்பாய்வு செய்யவும். இது நிகழ்வுகளின் வரிசை மற்றும் இயல்புநிலை செயல்பாடுகளின் நடத்தையை சரிபார்க்க உதவும்.
உங்களுடைய சோதனை தொகுப்புக்கு கூடுதல் உலாவியின் பயன்பாட்டு இடைமுகங்கள் (APIs) தேவைப்பட்டால், ஒரு சிக்கலை (issue) உருவாக்கி, அதன் நோக்கத்தையும், முக்கியத்துவத்தையும் விவாதிக்க, ஒரு எளிய சோதனை அமைப்பை (minimal fixture) அதில் இணைக்கவும்.