திறந்த மூல / கொள்கலன்.

உலாவி சோதனையாளர்.

"browser-tester" என்பது, முற்றிலும் ரஸ்ட் நிரலாக்க மொழியில் உருவாக்கப்பட்ட, ஒரு குறிப்பிட்ட முறையில் செயல்படும், இணைய உலாவியைப் போன்ற சோதனைச் சூழல். இது, உண்மையான உலாவியைத் திறக்காமல், DOM (Document Object Model) மற்றும் நிகழ்வுகளின் செயல்பாடுகளைச் சரிபார்க்கிறது.

துரு. நிச்சயமான இயக்க நேரக் கட்டுப்பாடு. DOM சோதனை.

இந்த தொகுப்பு எதற்காகப் பயன்படுத்த ஏற்றது.

"பிரவுசர்-டெஸ்டர்" மென்பொருள், முழுமையான உலாவியின் செயல்பாட்டுத் திறன் சோதனைகளை வழங்குவதை விட, நிலையான மற்றும் கணிக்கக்கூடிய படிவம்/பயனர் இடைமுக செயல்பாடுகளைச் சோதிப்பதில் கவனம் செலுத்துகிறது.

"ரஸ்ட்" நிரலாக்க மொழியில் மட்டுமே இயங்கக்கூடிய இயக்க நேரம்.

இது ஒரு தனி ரஸ்ட் (Rust) செயல்முறைக்குள் இயங்குகிறது. இதற்கு எந்த வெளிப்புற உலாவியோ, வெப் டிரைவரோ அல்லது நோட்.ஜெ.எஸ் (Node.js) சார்ந்திருப்போ தேவையில்லை.

நிச்சயமான செயல்பாடு.

மீண்டும் மீண்டும் சோதனைகளைச் செய்யக்கூடிய வகையில் இது வடிவமைக்கப்பட்டுள்ளது: போலி கடிகாரம், கணிக்கக்கூடிய சீரற்ற எண் உருவாக்கும் வசதி, மற்றும் நேரத்தை துல்லியமாக கட்டுப்படுத்தும் நிரலாக்க இடைமுகங்கள் ஆகியவை இதில் உள்ளன.

DOM மற்றும் நிகழ்வு சோதனை.

இது நடைமுறை இணைய உலாவியில் உள்ள செயல்பாடுகளை ஆதரிக்கிறது: தேர்வு வசதிகள், உள்ளே இருக்கும் ஸ்கிரிப்ட்களை இயக்குதல், நிகழ்வு பரவல், மற்றும் DOM (Document Object Model) புதுப்பிப்புகள்.

விரைவான, உள்ளூர் பின்னூட்டம்.

படிவங்களை அடிப்படையாகக் கொண்ட பயனர் இடைமுக சோதனைகளுக்கு, விரைவான பின்னூட்ட சுழற்சியை வழங்குவதோடு, தோல்வி ஏற்பட்டால், அது எந்தெந்த தேர்வு முறைகள் பயன்படுத்தப்பட்டன, மேலும் எதிர்பார்க்கப்பட்ட மற்றும் உண்மையான மதிப்புகள் என்ன என்பதைக் குறித்த தகவல்களை மட்டும் தெளிவாகக் காண்பிக்கும்.

விரைவான தொடக்கம்.

HTML மூலம் ஒரு கட்டமைப்பை உருவாக்குங்கள், அதனுடன் தொடர்புகளை ஏற்படுத்தி, DOM முடிவுகளைச் சரிபார்க்கவும். சிறிய ஒரு சோதனை அமைப்பில் தொடங்கி, பின்னர் நேரக் கட்டுப்பாடுகள் (timer) மற்றும் மாதிரி API-களைப் பயன்படுத்தி அதை விரிவாக்குங்கள்.

நிறுவுதல்.

கார்ப்ஜோவில் "browser_tester" என்ற நிரலைச் சேர்க்கவும்.

அடிப்படை உதாரணம்.

முக்கிய API இடைமுகம்.

"ஹார்னெஸ் செயின்ஸ்" மற்றும் "அஃபர்மேஷன்ஸ்" ஆகியவற்றை இணைத்தல்.

முக்கியமான 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` போன்ற செயல்பாடுகளைப் பயன்படுத்தி, தரவு மீட்டெடுப்பு பதில்களையும், உரையாடல் முடிவுகளையும் செயற்கையாக உருவாக்கவும்.

தடமறிதல் மற்றும் நோயறிதல்.

ஒரு சோதனை தோல்வியடையும்போது, பிழைத்திருத்த பதிவுகளை இயக்கவும், நிகழ்வுகள் மற்றும் நேர அளவீடுகளின் வரிசையை பகுப்பாய்வு செய்யவும். இது நிகழ்வுகளின் வரிசை மற்றும் இயல்புநிலை செயல்பாடுகளின் நடத்தையை சரிபார்க்க உதவும்.

செயல்பாட்டு நேரம் கொள்கை.

  • "eval" செயல்பாடு வேண்டுமென்றே ஆதரிக்கப்படவில்லை, ஏனெனில் இது பாதுகாப்பு மற்றும் நம்பகத்தன்மையை உறுதிப்படுத்த உதவுகிறது.
  • இந்தச் சோதனைச் சூழல், உண்மையான உலாவிகளுடன் முழுமையாக ஒத்துப்போகாமல், நடைமுறைச் சோதனைகளுக்கான சூழ்நிலைகளை உருவாக்குவதை நோக்கமாகக் கொண்டுள்ளது.
  • வெளிப்புற நெட்வொர்க் உள்ளீடு/வெளியீடு இந்த திட்டத்தின் எல்லைக்கு அப்பாற்பட்டது; சோதனை நோக்கங்களுக்காக, "ஃபெட்ச்" செயல்பாடுகளுக்கான மாதிரி தரவுகளைப் பயன்படுத்தவும்.

உங்களுடைய சோதனை தொகுப்புக்கு கூடுதல் உலாவியின் பயன்பாட்டு இடைமுகங்கள் (APIs) தேவைப்பட்டால், ஒரு சிக்கலை (issue) உருவாக்கி, அதன் நோக்கத்தையும், முக்கியத்துவத்தையும் விவாதிக்க, ஒரு எளிய சோதனை அமைப்பை (minimal fixture) அதில் இணைக்கவும்.