JLineup adalah alat yang berguna untuk pengujian regresi visual otomatis pada halaman web, terutama dalam jalur pengiriman berkelanjutan. Ini dapat digunakan sebagai alat baris perintah sederhana atau sebagai layanan web kecil yang dikontrol melalui REST API.
JLineup memotret dan membandingkan tangkapan layar halaman web pada dua titik waktu berturut-turut. Itu melakukan perbandingan piksel demi piksel dari keduanya berjalan dan menghasilkan laporan HTML dan JSON. Di balik layar, ia menggunakan Selenium dan browser pilihan (saat ini didukung Chrome, Chromium, dan Firefox).
JLineup tidak memiliki ketergantungan lain selain browser web (Firefox atau Chrome/Chromium) dan JVM. Eksperimental : Ada juga Linux AMD64 versi CLI mandiri yang bahkan tidak memerlukan JVM.
Mari kita ambil contoh konfigurasi kecil ini untuk memeriksa otto.de selama penerapan:
{ "url": { "https://www.otto.de": { "jalur": [ "/" ], "perangkat" : [ { "lebar" : 850, "tinggi" : 600, "rasio piksel" : 1.0, "nama perangkat" : "DESKTOP", "sentuhan" : false }, { "lebar" : 1000, "tinggi" : 850, "rasio piksel" : 1.0, "nama perangkat" : "DESKTOP", "sentuhan" : salah }, { "lebar" : 1200, "tinggi" : 1000, "rasio piksel" : 1.0, "nama perangkat" : "DESKTOP", "sentuhan" : salah } ] } }, "tunggu-setelah-pemuatan halaman" : 0.5, "browser" : "chrome-headless"}
JLineup berjalan sebelum dan sesudah penerapan dan menghasilkan laporan seperti ini:
Ada juga laporan JSON, yang sangat bagus jika Anda ingin memeriksa berbagai hal berdasarkan skrip:
Contoh Laporan JLineup JSON
JLineup CLI hadir sebagai Arsip Java yang dapat dieksekusi. Java 17 atau lebih tinggi harus tersedia untuk menjalankannya.
Buka terminal dan unduh seperti ini:
wget https://repo1.maven.org/maven2/de/otto/jlineup-cli/4.12.1/jlineup-cli-4.12.1.jar -O jlineup.jar
Lalu ketik
java -jar jlineup.jar --help
untuk melihat bantuan baris perintah.
Lihat dokumentasi CLI untuk detail lebih lanjut dan tutorial kecil.
Ini adalah contoh bagaimana JLineup dapat membantu dalam pembuatan dan penerapan pipeline otomatis Anda. Mari kita asumsikan, ini adalah bagian dari jalur integrasi berkelanjutan:
JLineup 4.13 berhasil diuji dengan
Chrome 128.x
Firefox 130.x
Chrome atau Firefox harus diinstal pada sistem jika Anda ingin menggunakan salah satunya.
JLineup sebagai alat CLI
JLineup sebagai server web
Konfigurasi Pekerjaan JLineup
JLineup menggunakan beberapa alat dan perpustakaan pihak ketiga
Selenium dilisensikan di bawah Lisensi Apache 2.0.
Webdrivermanager dilisensikan di bawah Lisensi Apache 2.0.
Jackson dilisensikan di bawah Lisensi Apache 2.0.
Logback dilisensikan di bawah Lisensi Publik Eclipse.
API SLF4J dilisensikan di bawah Lisensi MIT.
Thymeleaf dilisensikan di bawah Lisensi Apache 2.0.
Edison Microservice dilisensikan di bawah Lisensi Apache 2.0.
Spring Boot dilisensikan di bawah Lisensi Apache 2.0.
Versi biner cli dibuat dengan GraalVM Community Edition. GraalVM CE membawa Lisensi Produknya sendiri.
Penampil Bandingkan Gambar dilisensikan di bawah Lisensi MIT.
Google Font digunakan dalam laporan HTML. Inilah syarat-syaratnya.
AWS SDK for Java 2.0 dilisensikan di bawah Lisensi Apache 2.0.
Beberapa kode dari Pixelmatch telah di-porting ke Java untuk JLineup.
Pixelmatch dilisensikan di bawah Lisensi ISC.
Beberapa kode dari Looks-same telah di-porting ke Java untuk JLineup.
Tampaknya sama dilisensikan di bawah Lisensi MIT.
JLineup adalah pengganti Lineup yang kompatibel dengan konfigurasi, diimplementasikan di Java. Lineup asli adalah alat Ruby, tetapi tidak lagi dipertahankan.
Penghargaan untuk Formasi asli diberikan kepada Finn Lorbeer.
Jika Anda memiliki pertanyaan atau saran, silakan buka terbitan atau tulis email ke marco DOT geweke AT otto.de