"ರಸ್ಟ್" ಭಾಷಾಧಾರಿತ ಕಾರ್ಯನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆ.
ಇದು ಒಂದು ಸಿಂಗಲ್ ರಸ್ಟ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿಯೇ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದಕ್ಕೆ ಯಾವುದೇ ಬಾಹ್ಯ ಬ್ರೌಸರ್, ವೆಬ್ಡ್ರೈವರ್ ಅಥವಾ ನೋಡ್.ಜೆಎಸ್ ಅವಲಂಬನೆಗಳಿಲ್ಲ.
ಓಪನ್ ಸೋರ್ಸ್ / ಕೃತೇ.
"ಬ್ರೌಸರ್-ಟೆಸ್ಟರ್" ಎನ್ನುವುದು ಶುದ್ಧ ರಸ್ಟ್ ಭಾಷೆಯಲ್ಲಿ ರಚಿಸಲ್ಪಟ್ಟ, ನಿರ್ದಿಷ್ಟ ನಿಯಮಗಳನ್ನು ಅನುಸರಿಸುವ ಬ್ರೌಸರ್ನಂತಹ ಪರೀಕ್ಷಾ ಕಾರ್ಯಕ್ರಮವಾಗಿದೆ. ಇದು ನಿಜವಾದ ಬ್ರೌಸರ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡದೆ, DOM (ಡಾಕ್ಯುಮೆಂಟ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾಡೆಲ್) ಮತ್ತು ಈವೆಂಟ್ಗಳ ಕಾರ್ಯನಿರ್ವಹಣೆಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ.
"ಬ್ರೌಸರ್-ಟೆಸ್ಟರ್"ವು ಸಂಪೂರ್ಣ ಬ್ರೌಸರ್ನ ಕಾರ್ಯಕ್ಷಮತೆ ಹೊಂದಾಣಿಕೆಯಗಿಂತ, ರೂಪಗಳು ಮತ್ತು ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ನ ನಿಖರವಾದ ಕಾರ್ಯನಿರ್ವಹಣೆಯನ್ನು ಪರಿಶೀಲಿಸುವ ಪರೀಕ್ಷೆಗಳ ಮೇಲೆ ಹೆಚ್ಚು ಗಮನಿಸುತ್ತದೆ.
ಇದು ಒಂದು ಸಿಂಗಲ್ ರಸ್ಟ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿಯೇ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದಕ್ಕೆ ಯಾವುದೇ ಬಾಹ್ಯ ಬ್ರೌಸರ್, ವೆಬ್ಡ್ರೈವರ್ ಅಥವಾ ನೋಡ್.ಜೆಎಸ್ ಅವಲಂಬನೆಗಳಿಲ್ಲ.
ಈ ವ್ಯವಸ್ಥೆಯು ಪುನರಾವರ್ತಿತ ಪರೀಕ್ಷೆಗಳನ್ನು ಮಾಡುವಂತೆ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ: ಇದು ನಕಲಿ ಗಡಿಯಾರ, ನಿಶ್ಚಿತ ಯಾದೃಚ್ಛಿಕ ಆರಂಭಿಕ ಮೌಲ್ಯ ಮತ್ತು ಸ್ಪಷ್ಟವಾದ ಟೈಮರ್ ನಿಯಂತ್ರಣದ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
ಇದು ಪ್ರ್ಯಾಕ್ಟಿಕಲ್ ಬ್ರೌಸರ್ನಂತೆಯೇ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ವಿಧಾನಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ: ಆಯ್ಕೆಗಳು, ಒಳಗೆ ಸಂರಕ್ಷಿತ ಸ್ಕ್ರಿಪ್ಟ್ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ, ಘಟನೆಗಳ ಹರಡುವಿಕೆ ಮತ್ತು ಡಾಮ್ (DOM) ನವೀಕರಣಗಳು.
ರೂಪ-ಆಧಾರಿತ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ (UI) ಪರೀಕ್ಷೆಗಳಿಗೆ, ತಕ್ಷಣವೇ ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡುವ ವ್ಯವಸ್ಥೆ, ಮತ್ತು ಪರೀಕ್ಷೆಯಲ್ಲಿ ಏನಾದರೂ ತಪ್ಪು ನಡೆದರೆ, ಆ ತಪ್ಪು ಯಾವ ಅಂಶಗಳ (ಸೆಲೆಕ್ಟರ್) ಕಾರಣದಿಂದ ಆಗಿದೆ, ಹಾಗೂ ನಿರೀಕ್ಷಿತ ಮತ್ತು ನಿಜವಾದ ಮೌಲ್ಯಗಳು ಏನು ಎಂಬುದನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ತೋರಿಸುವ ವ್ಯವಸ್ಥೆ.
HTML ಬಳಸಿ ಒಂದು ಪರೀಕ್ಷಾ ರಚನೆಯನ್ನು (ಹಾರ್ನೆಸ್) ತಯಾರಿಸಿ, ಅದರೊಂದಿಗೆ ಸಂವಹನಗಳನ್ನು ನಡೆಸಿ, ಮತ್ತು DOM (Document Object Model) ಫಲಿತಾಂಶಗಳನ್ನು ಪರಿಶೀಲಿಸಿ. ಒಂದು ಚಿಕ್ಕ ರಚನೆಯಿಂದ ಪ್ರಾರಂಭಿಸಿ, ನಂತರ ಟೈಮರ್ ಅಥವಾ ನಕಲಿ APIಗಳನ್ನು ಸೇರಿಸಿ ಅದರ ವ್ಯಾಪ್ತಿಯನ್ನು ವಿಸ್ತರಿಸಿ.
ಅನುಸ್ಥಾಪಿಸಿ.
ಕಾರ್ಗೋಗೆ "browser_tester" ಅನ್ನು ಸೇರಿಸಿ.
ಮೂಲ ಉದಾಹರಣೆ.
ಮುಖ್ಯವಾದ DOM ಪರೀಕ್ಷಾ ಕಾರ್ಯಗಳು: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, ಮತ್ತು ಪಠ್ಯ/ಬಳೆಯಲ್ಲಿರುವಿಕೆ/ಚೆಕ್ ಮಾಡಿದ ಸ್ಥಿತಿ/ಉనికి ಕುರಿತು ಪರಿಶೀಲನೆ ಮಾಡುವ ಉಪಕರಣಗಳು.
ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು, ಒಂದು "ನಕಲಿ ಗಡಿಯಾರ"ವನ್ನು ಬಳಸಿ. `advance_time`, `advance_time_to`, `flush` ಮತ್ತು ಟೈಮರ್ ಪರಿಶೀಲನಾ ಕಾರ್ಯಗಳ ಮೂಲಕ ನಿಖರವಾದ ಸಮಯವನ್ನು ಮುನ್ನಡೆಸಬಹುದು.
ಪರಿಶೀಲನೆಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಲು, `set_fetch_mock`, `enqueue_confirm_response`, ಮತ್ತು `enqueue_prompt_response`ಗಳನ್ನು ಬಳಸಿ, ಡೇಟಾ ತರುವ ಪ್ರತಿಕ್ರಿಯೆಗಳು ಮತ್ತು ಸಂವಾದದ ಫಲಿತಾಂಶಗಳನ್ನು ನಿರ್ದಿಷ್ಟವಾಗಿ ರಚಿಸಿ.
ಪರಿಶೀಲನೆ ವಿಫಲವಾದಾಗ, ಟ್ರೇಸ್ ಲಾಗ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ ಮತ್ತು ಘಟನೆಗಳು/ಟೈಮರ್ಗಳ ಕ್ರಮವನ್ನು ಹೊರತೆಗೆಯಿರಿ. ಇದು ಘಟನೆಗಳ ಅನುಕ್ರಮ ಮತ್ತು ಪೂರ್ವನಿಯೋಜಿತ ಕ್ರಿಯೆಗಳ ಕಾರ್ಯವಿಧಾನವನ್ನು ಪರಿಶೀಲಿಸಲು ಉಪಯುಕ್ತವಾಗಿದೆ.
ನಿಮ್ಮ ಪರೀಕ್ಷಾ ವ್ಯವಸ್ಥೆಗೆ ನಿಮಗೆ ಹೆಚ್ಚುವರಿ ಬ್ರೌಸರ್ APIಗಳ ಅಗತ್ಯವಿದ್ದರೆ, ವ್ಯಾಪ್ತಿ ಮತ್ತು ಆದ್ಯತೆಗಳ ಬಗ್ಗೆ ಚರ್ಚಿಸಲು, ಕನಿಷ್ಠ ಪ್ರಮಾಣದ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿರುವ ಒಂದು ಸಮಸ್ಯೆಯನ್ನು (issue) ತೆರೆಯಿರಿ.