റസ്റ്റ് ഭാഷയിൽ മാത്രം പ്രവർത്തിക്കുന്ന റൺടൈം.
ഒരു റസ്റ്റ് പ്രോസസിനുള്ളിൽ മാത്രം പ്രവർത്തിക്കുന്നു. ഇതിന് പുറത്തെ ബ്രൗസർ, വെബ് ഡ്രൈവർ അല്ലെങ്കിൽ നോഡ്.ജെഎസ് പോലുള്ള മറ്റ് സോഫ്റ്റ്വെയറുകൾ ആവശ്യമില്ല.
ഓപ്പൺ സോഴ്സ് / കണ്ടെയ്നർ.
"ബ്രൗസർ-ടെസ്റ്റർ" എന്നത്, റസ്റ്റ് ഭാഷയിൽ പൂർണ്ണമായി എഴുതപ്പെട്ട, ഒരു ബ്രൗസറിന് സമാനമായ ടെസ്റ്റിംഗ് റൺടൈമാണ്. ഇത്, ഒരു യഥാർത്ഥ ബ്രൗസറിനെ തുറക്കാതെ തന്നെ, ഡോം (DOM) ഘടനയുടെയും, സംഭവങ്ങളുടെ പ്രവർത്തന രീതിയുടെയും ശരിതാനുസൃതത ഉറപ്പാക്കുന്നു.
"ബ്രൗസർ-ടെസ്റ്റർ" എന്നത്, ഒരു ബ്രൗസറിന്റെ പൂർണ്ണമായ പ്രവർത്തനക്ഷമതയോ അല്ലെങ്കിൽ അതിന്റെ രൂപകൽപ്പനയുടെ അനുയോജ്യതയോ പരിശോധിക്കുന്നതിനേക്കാൾ, ഫോം (form) അല്ലെങ്കിൽ യൂസർ ഇന്റർഫേസ് (UI) എന്നിവയുടെ സ്ഥിരമായ പ്രവർത്തനരീതികൾ ഉറപ്പാക്കുന്നതിനുള്ള പരീക്ഷണങ്ങളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു.
ഒരു റസ്റ്റ് പ്രോസസിനുള്ളിൽ മാത്രം പ്രവർത്തിക്കുന്നു. ഇതിന് പുറത്തെ ബ്രൗസർ, വെബ് ഡ്രൈവർ അല്ലെങ്കിൽ നോഡ്.ജെഎസ് പോലുള്ള മറ്റ് സോഫ്റ്റ്വെയറുകൾ ആവശ്യമില്ല.
ഇത് രൂപകൽപ്പന ചെയ്ത രീതി അനുസരിച്ച്, ആവർത്തിച്ച് ചെയ്യാൻ സാധിക്കുന്ന പരീക്ഷണങ്ങൾക്ക് അനുയോജ്യമാണ്: കൃത്രിമ ക്ലോക്ക്, കൃത്യമായ ക്രമരഹിത സംഖ്യാ ജനറേറ്റർ, കൂടാതെ വ്യക്തമായ ടൈമർ നിയന്ത്രണ സംവിധാനങ്ങൾ ഇതിൽ അടങ്ങിയിരിക്കുന്നു.
ഇത് ബ്രൗസറുകൾ ഉപയോഗിക്കുന്ന രീതിയിലുള്ള പ്രവർത്തനങ്ങളെ പിന്തുണയ്ക്കുന്നു: സെലക്ടറുകൾ, ഇൻലൈൻ സ്ക്രിപ്റ്റ് എക്സിക്യൂഷൻ, ഇവന്റ് പ്രൊപഗേഷൻ, കൂടാതെ ഡോക്യുമെന്റ് ഒബ്ജക്റ്റ് മോഡൽ (DOM) അപ്ഡേറ്റുകൾ.
ഫോം-കേന്ദ്രീകൃത യുഐ ടെസ്റ്റിംഗിനുള്ള വേഗതയേറിയ പ്രതികരണ സംവിധാനം, അതേസമയം പിശകുകൾ സംഭവിക്കുമ്പോൾ, അതിന്റെ വിവരങ്ങൾ സെലക്ടറുകളിലും പ്രതീക്ഷിച്ച/വാസ്തവ മൂല്യങ്ങളിലും ശ്രദ്ധ കേന്ദ്രീകരിച്ച് നൽകുന്നു.
HTML ഉപയോഗിച്ച് ഒരു ടെസ്റ്റിംഗ് ഫ്രെയിംവർക്ക് ഉണ്ടാക്കുക, അതിലൂടെ വിവിധ പ്രവർത്തനങ്ങൾ നടത്താനും, DOM-ൽ ഉണ്ടാകുന്ന മാറ്റങ്ങൾ പരിശോധിക്കാനും സാധിക്കും. ആദ്യം ഒരു ചെറിയ ടെസ്റ്റിംഗ് ഘടന ഉണ്ടാക്കുക, പിന്നീട് ടൈമർ, മോക്ക് API-കൾ എന്നിവ ഉപയോഗിച്ച് അതിനെ വികസിപ്പിക്കുക.
ഇൻസ്റ്റാൾ ചെയ്യുക.
"cargo" എന്ന കമാൻഡിന് "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` എന്നീ ഫംഗ്ഷനുകൾ ഉപയോഗിച്ച്, ഡാറ്റാ സ്വീകരിക്കാനുള്ള പ്രതികരണങ്ങളും, സംഭാഷണത്തിന്റെ ഫലങ്ങളും കൃത്രിമമായി ചേർക്കുക.
പരിശോധനയിൽ പരാജയം സംഭവിക്കുമ്പോൾ, ട്രേസ് ലോഗുകൾ പ്രവർത്തനക്ഷമമാക്കി, സംഭവങ്ങൾ/ടൈമർ വിവരങ്ങൾ ശേഖരിക്കുക. ഇത് സംഭവങ്ങളുടെ ക്രമവും, ഡിഫോൾട്ട് പ്രവർത്തനങ്ങളുടെ രീതിയും മനസ്സിലാക്കാൻ സഹായിക്കും, അതുവഴി പിഴവുകൾ കണ്ടെത്താനാകും.
നിങ്ങളുടെ ടെസ്റ്റിംഗ് പ്രക്രിയയ്ക്ക് കൂടുതൽ ബ്രൗസർ എപിഐകൾ ആവശ്യമാണെങ്കിൽ, പരിധി (scope) ഒപ്പം മുൻഗണനാ ക്രമം (priority) എന്നിവയെക്കുറിച്ച് ചർച്ച ചെയ്യാൻ, ഒരു പുതിയ പ്രശ്നം (issue) തുറന്ന് അതിൽ ആവശ്യമായ വിവരങ്ങൾ നൽകുക.