Περιβάλλον εκτέλεσης αποκλειστικά για τη γλώσσα Rust.
Εκτελείται μέσα σε μια ενιαία διαδικασία Rust. Δεν απαιτεί εξωτερικό πρόγραμμα περιήγησης, WebDriver ή εξαρτήσεις από το Node.js.
Ανοιχτού Κώδικα / Κουτί.
Το "browser-tester" είναι ένα εργαλείο δοκιμών που προσομοιώνει τη λειτουργία ενός προγράμματος περιήγησης, υλοποιημένο εξ ολοκλήρου στη γλώσσα Rust. Ελέγχει τη συμπεριφορά του DOM (Document Object Model) και των γεγονότων, χωρίς να απαιτείται η εκκίνηση ενός πραγματικού προγράμματος περιήγησης.
Το εργαλείο "browser-tester" επικεντρώνεται σε δοκιμές συμπεριφοράς φόρμας/διασύνδεσης χρήστη που είναι προβλέψιμες, αντί για τη συνολική συμβατότητα απόδοσης του προγράμματος περιήγησης.
Εκτελείται μέσα σε μια ενιαία διαδικασία Rust. Δεν απαιτεί εξωτερικό πρόγραμμα περιήγησης, WebDriver ή εξαρτήσεις από το Node.js.
Σχεδιασμένο για επαναλαμβανόμενες δοκιμές: περιλαμβάνει προσομοίωση ρολογιού, καθορισμένη αρχική τιμή για την παραγωγή τυχαίων αριθμών και σαφείς διεπαφές προγραμματισμού για τον έλεγχο του χρονομετρητή.
Υποστηρίζει πρακτικές λειτουργίες παρόμοιες με αυτές ενός προγράμματος περιήγησης: επιλογή στοιχείων, εκτέλεση ενσωματωμένου κώδικα, διάδοση γεγονότων και ενημερώσεις του DOM.
Γρήγορος κύκλος ανατροφοδότησης για τις δοκιμές διεπαφής χρήστη που επικεντρώνονται σε φόρμες, διατηρώντας παράλληλα την έξοδο σφαλμάτων εστιασμένη στους επιλογείς και στις αναμενόμενες/πραγματικές τιμές.
Δημιουργήστε ένα περιβάλλον δοκιμών χρησιμοποιώντας HTML, εκτελέστε αλληλεπιδράσεις και επαληθεύστε τα αποτελέσματα του DOM. Ξεκινήστε με ένα μικρό δοκιμαστικό σενάριο και επεκτείνετέ το χρησιμοποιώντας χρονοδιακόπτες και εικονικές διεπαφές προγραμματισμού (APIs).
Εγκατάσταση.
Προσθήκη του "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`, ώστε να διατηρείτε τις δοκιμές απομονωμένες.
Ενεργοποιήστε τα αρχεία καταγραφής εντολών και εξαγάγετε τα δεδομένα ροής γεγονότων/χρονοδιαγραμμάτων όταν μια δοκιμή αποτύχει. Αυτό είναι χρήσιμο για την αποσφαλμάτωση της σειράς των γεγονότων και της συμπεριφοράς των προεπιλεγμένων ενεργειών.
Εάν χρειάζεστε επιπλέον APIs για τον περιηγητή για το σύνολο δοκιμών σας, δημιουργήστε ένα αίτημα με ένα απλό παράδειγμα για να συζητήσουμε το εύρος και την προτεραιότητα.