Skip to main content

Οπτικός Έλεγχος Παλινδρόμησης με Καταγραφές Στιγμιότυπων

Οι ομάδες ανάπτυξης χρησιμοποιούν το Webshot για να εντοπίσουν τα σφάλματα που διαφεύγουν από τα unit tests — προβλήματα διάταξης, εναλλακτικές γραμματοσειρές, εικονίδια που λείπουν, σπασμένες responsive καταστάσεις. Κάντε λήψη του staging, κάντε λήψη του production, συγκρίνετε το ζεύγος. Αφήστε τη διαφορά σε ένα σχόλιο PR ως απόδειξη ότι η αλλαγή σας είναι ασφαλής (ή ως απόδειξη ότι μόλις εμφανίστηκε το νέο σφάλμα).

Όλα τα κουμπιά ανοίγουν τη φόρμα λήψης προ-ρυθμισμένη. Μπορείτε να αλλάξετε τη μορφή και το viewport μόλις φορτώσει η σελίδα.

Γιατί να επιλέξετε το Webshot

Λήψεις με ακρίβεια pixel

Η λειτουργία PNG διατηρεί το κείμενο και τις άκρες ευκρινείς — ιδανικό για εργαλεία σύγκρισης pixel (`pixelmatch`, ImageMagick `compare`) όπου ο θόρυβος συμπίεσης JPG θα δημιουργούσε ψευδώς θετικά αποτελέσματα.

Το ίδιο viewport κάθε φορά

Το Webshot πραγματοποιεί λήψεις με το ίδιο ακριβώς viewport, θέση κύλισης και χρόνο αναμονής φόρτωσης γραμματοσειρών σε κάθε εκτέλεση — τα αποτελέσματα της σύγκρισης είναι αξιόπιστα.

Φιλικό προς API

Συνδέστε το δωρεάν API του Webshot στο CI σας: κάντε λήψη πριν και μετά την ανάπτυξη, συγκρίνετε με `pixelmatch` και απορρίψτε το build αν τα αλλαγμένα pixel ξεπερνούν το όριο.

Χωρίς επαναλαμβανόμενο κώδικα headless-Chrome

Παραλείψτε τη ρύθμιση του puppeteer, την εγκατάσταση γραμματοσειρών, τις σημαίες sandbox. Το Webshot τα έχει όλα αυτά να τρέχουν στην υποδομή μας. Το CI σας απλώς κάνει μια κλήση HTTP.

Πώς να κάνετε οπτικό έλεγχο παλινδρόμησης

  1. Επιλέξτε τις σελίδες που θέλετε να παρακολουθείτε — αρχική σελίδα, βασικές σελίδες προορισμού, ροή ολοκλήρωσης αγοράς, οπουδήποτε μια παλινδρόμηση θα προκαλούσε ζημιά.
  2. Κάντε λήψη της καθεμιάς σε PNG + desktop_full + mobile_full για να δημιουργήσετε μια βάση αναφοράς για την τρέχουσα εμφάνιση παραγωγής.
  3. Μετά την επόμενη ανάπτυξή σας, κάντε ξανά λήψη των ίδιων URL. Συγκρίνετε το παλιό με το νέο με `pixelmatch` ή ImageMagick — οτιδήποτε πάνω από 1% αλλαγμένων pixel αξίζει ανθρώπινη επισκόπηση.
  4. Ενσωματώστε το στο CI: ένα pre-deploy hook κάνει λήψη του staging, ένα post-deploy hook του production, και το build αποτυγχάνει αν η διαφορά ξεπερνά το όριό σας.

Συχνές ερωτήσεις

Το Headless Chrome στο CI σημαίνει εγκατάσταση του Chromium, γραμματοσειρών, των kernel-flags για το sandbox, συν τη συνεχή ενημέρωσή τους. Με το Webshot παραλείπετε εντελώς την εγκατάσταση — το CI σας κάνει μια κλήση HTTP στο API μας και λαμβάνει ένα PNG. Εμείς αναλαμβάνουμε τις ενημερώσεις του Chrome, την προσωρινή αποθήκευση γραμματοσειρών και την προστασία SSRF.

Ναι, όταν χρησιμοποιείτε PNG + το ίδιο viewport + την ίδια στρατηγική αναμονής. Το Webshot κλειδώνει το μέγεθος του viewport και περιμένει για fonts.ready + network-idle + τυχόν animations που δηλώνονται μέσω του ερωτήματος `prefers-reduced-motion`. Τυχαία animations (βρόχοι lottie, φόντα με Date.now()) θα έχουν διαφορετικό αποτέλεσμα σε κάθε εκτέλεση. παγώστε τα στο περιβάλλον δοκιμών σας.

Όχι με μία κλήση — κάνετε λήψη κάθε URL ξεχωριστά, και μετά τα συγκρίνετε με μια ξεχωριστή βιβλιοθήκη. Κρατάμε το API εστιασμένο στη λήψη. η σύγκριση είναι ένα script 30 γραμμών. Δείτε το `/developers` για παράδειγμα κώδικα.

Ναι. Το Webshot περιμένει για network-idle (καμία αίτηση για 500ms) και fonts.ready πριν τη λήψη, οπότε οι εφαρμογές React, Vue, Svelte και Next.js αποδίδονται πλήρως πριν το screenshot. Για ιστοσελίδες που δεν φτάνουν ποτέ σε network-idle (long polling, websockets), μπορείτε να περάσετε μια παράμετρο `maxWait` μέσω του API.

Η δωρεάν δημόσια φόρμα είναι 5/15-λεπτά ανά IP — πολύ χαμηλό όριο για CI. Το δωρεάν πακέτο API είναι πιο γενναιόδωρο. δείτε το `/developers`. Για δοκιμές παλινδρόμησης μεγάλου όγκου (50+ λήψεις ανά build), το εμπορικό πακέτο API αφαιρεί τα όρια ανά IP.

Το ίδιο το Webshot απλώς κάνει λήψεις — εσείς παρέχετε το επίπεδο σύγκρισης. Λύση δύο γραμμών: `npx pixelmatch baseline.png new.png diff.png`. Ή χρησιμοποιήστε μια διαχειριζόμενη υπηρεσία οπτικής σύγκρισης (Percy, Chromatic, BackstopJS) και τροφοδοτήστε τις με τα PNG του Webshot.

Έτοιμοι για λήψη;

Δωρεάν, χωρίς εγγραφή, χωρίς υδατογράφημα. Απλώς επικολλήστε ένα URL.

📸 Άνοιγμα φόρμας λήψης

Άλλες περιπτώσεις χρήσης: Στιγμιότυπα Google Maps · Στιγμιότυπα WordPress · QA Σελίδων Προορισμού · Στιγμιότυπα για Νομικά Αποδεικτικά Στοιχεία · Στιγμιότυπα Social Media · Στιγμιότυπα Ροής Εργασίας Προγραμματιστή · Δείτε όλες →

Share: 𝕏 Twitter Facebook LinkedIn