Ανοιχτού Κώδικα / Κουτί.

δοκιμαστής περιηγητή διαδικτύου

Το "browser-tester" είναι ένα εργαλείο δοκιμών που προσομοιώνει τη λειτουργία ενός προγράμματος περιήγησης, υλοποιημένο εξ ολοκλήρου στη γλώσσα Rust. Ελέγχει τη συμπεριφορά του DOM (Document Object Model) και των γεγονότων, χωρίς να απαιτείται η εκκίνηση ενός πραγματικού προγράμματος περιήγησης.

Σκουριά. Προβλεπόμενος χρόνος εκτέλεσης. Έλεγχος DOM.

Σε τι είναι καλός αυτός ο διανομέας δεδομένων.

Το εργαλείο "browser-tester" επικεντρώνεται σε δοκιμές συμπεριφοράς φόρμας/διασύνδεσης χρήστη που είναι προβλέψιμες, αντί για τη συνολική συμβατότητα απόδοσης του προγράμματος περιήγησης.

Περιβάλλον εκτέλεσης αποκλειστικά για τη γλώσσα Rust.

Εκτελείται μέσα σε μια ενιαία διαδικασία Rust. Δεν απαιτεί εξωτερικό πρόγραμμα περιήγησης, WebDriver ή εξαρτήσεις από το Node.js.

Ντετερμινιστική εκτέλεση.

Σχεδιασμένο για επαναλαμβανόμενες δοκιμές: περιλαμβάνει προσομοίωση ρολογιού, καθορισμένη αρχική τιμή για την παραγωγή τυχαίων αριθμών και σαφείς διεπαφές προγραμματισμού για τον έλεγχο του χρονομετρητή.

Έλεγχος DOM και γεγονότων.

Υποστηρίζει πρακτικές λειτουργίες παρόμοιες με αυτές ενός προγράμματος περιήγησης: επιλογή στοιχείων, εκτέλεση ενσωματωμένου κώδικα, διάδοση γεγονότων και ενημερώσεις του DOM.

Γρήγορη και άμεση ανατροφοδότηση από την τοπική κοινωνία.

Γρήγορος κύκλος ανατροφοδότησης για τις δοκιμές διεπαφής χρήστη που επικεντρώνονται σε φόρμες, διατηρώντας παράλληλα την έξοδο σφαλμάτων εστιασμένη στους επιλογείς και στις αναμενόμενες/πραγματικές τιμές.

Γρήγορη εκκίνηση.

Δημιουργήστε ένα περιβάλλον δοκιμών χρησιμοποιώντας HTML, εκτελέστε αλληλεπιδράσεις και επαληθεύστε τα αποτελέσματα του DOM. Ξεκινήστε με ένα μικρό δοκιμαστικό σενάριο και επεκτείνετέ το χρησιμοποιώντας χρονοδιακόπτες και εικονικές διεπαφές προγραμματισμού (APIs).

Εγκατάσταση.

Προσθήκη του "browser_tester" στο φορτίο.

Βασικό παράδειγμα.

Κύρια διεπαφή προγραμματισμού εφαρμογών (API).

Ενέργειες και δηλώσεις που ενισχύουν τη δέσμευση.

Βασικές λειτουργίες δοκιμών 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`, ώστε να διατηρείτε τις δοκιμές απομονωμένες.

Εντοπισμός και Διάγνωση.

Ενεργοποιήστε τα αρχεία καταγραφής εντολών και εξαγάγετε τα δεδομένα ροής γεγονότων/χρονοδιαγραμμάτων όταν μια δοκιμή αποτύχει. Αυτό είναι χρήσιμο για την αποσφαλμάτωση της σειράς των γεγονότων και της συμπεριφοράς των προεπιλεγμένων ενεργειών.

Πολιτική εκτέλεσης.

  • Η συνάρτηση `eval` δεν υποστηρίζεται σκόπιμα, προκειμένου να διατηρηθεί η ασφάλεια και η προβλεψιμότητα του συστήματος.
  • Αυτό το περιβάλλον εκτέλεσης στοχεύει σε πρακτικά σενάρια δοκιμών, και όχι στην 100% συμβατότητα με πραγματικούς περιηγητές.
  • Η επικοινωνία εισόδου/εξόδου με εξωτερικά δίκτυα δεν περιλαμβάνεται στο πεδίο εφαρμογής. Χρησιμοποιήστε προσομοιωμένες λειτουργίες (mocks) για την κάλυψη των δοκιμών.

Εάν χρειάζεστε επιπλέον APIs για τον περιηγητή για το σύνολο δοκιμών σας, δημιουργήστε ένα αίτημα με ένα απλό παράδειγμα για να συζητήσουμε το εύρος και την προτεραιότητα.