JLineup เป็นเครื่องมือที่มีประโยชน์สำหรับการทดสอบการถดถอยด้วยภาพอัตโนมัติของหน้าเว็บ โดยเฉพาะอย่างยิ่งในไปป์ไลน์การจัดส่งแบบต่อเนื่อง สามารถใช้เป็นเครื่องมือบรรทัดคำสั่งง่ายๆ หรือเป็นบริการเว็บขนาดเล็กที่ควบคุมผ่าน REST API
JLineup ถ่ายภาพและเปรียบเทียบภาพหน้าจอของหน้าเว็บในเวลาสองจุดติดต่อกัน โดยทำการเปรียบเทียบพิกเซลต่อพิกเซลของการรันทั้งสองและสร้างรายงาน HTML และ JSON เบื้องหลังจะใช้ Selenium และเบราว์เซอร์ที่คุณเลือก (ปัจจุบันรองรับ Chrome, Chromium และ Firefox)
JLineup ไม่มีการพึ่งพาอื่นใดนอกจากเว็บเบราว์เซอร์ (Firefox หรือ Chrome/Chromium) และ JVM การทดลอง : นอกจากนี้ยังมี Linux AMD64 build ของเวอร์ชัน CLI ในตัวที่ไม่ต้องใช้ JVM ด้วยซ้ำ
ลองใช้ตัวอย่างการกำหนดค่าเล็กน้อยนี้เพื่อตรวจสอบ otto.de ระหว่างการปรับใช้:
{ "urls": { "https://www.otto.de": { "เส้นทาง": [ - ], "อุปกรณ์" : [ { "ความกว้าง" : 850, "ความสูง" : 600, "อัตราส่วนพิกเซล" : 1.0, "ชื่ออุปกรณ์" : "เดสก์ท็อป", "สัมผัส" : false }, { "ความกว้าง" : 1,000, "ความสูง" : 850, "อัตราส่วนพิกเซล" : 1.0, "ชื่ออุปกรณ์" : "เดสก์ท็อป", "สัมผัส" : false }, { "width" : 1200, "height" : 1000, "pixel-ratio" : 1.0, "ชื่ออุปกรณ์" : "DESKTOP", "touch" : false - - }, "รอหลังจากโหลดหน้า" : 0.5, "เบราว์เซอร์" : "chrome-headless"}
JLineup ทำงานก่อนและหลังการปรับใช้และสร้างรายงานดังนี้:
นอกจากนี้ยังมีรายงาน JSON ซึ่งดีมากหากคุณต้องการตรวจสอบสิ่งต่าง ๆ ด้วยสคริปต์:
ตัวอย่างรายงาน JLineup JSON
JLineup CLI มาเป็น Java Archive ที่สามารถเรียกใช้งานได้ ต้องมี Java 17 หรือสูงกว่าจึงจะสามารถรันได้
เปิดเทอร์มินัลแล้วดาวน์โหลดดังนี้:
wget https://repo1.maven.org/maven2/de/otto/jlineup-cli/4.12.1/jlineup-cli-4.12.1.jar -O jlineup.jar
จากนั้นพิมพ์
java -jar jlineup.jar --help
เพื่อดูวิธีใช้บรรทัดคำสั่ง
ดูเอกสารประกอบของ CLI สำหรับรายละเอียดเพิ่มเติมและบทช่วยสอนเล็กๆ น้อยๆ
นี่คือตัวอย่างว่า JLineup มีประโยชน์อย่างไรในการสร้างและปรับใช้ไปป์ไลน์แบบอัตโนมัติของคุณ สมมติว่านี่เป็นส่วนหนึ่งของไปป์ไลน์การรวมอย่างต่อเนื่อง:
JLineup 4.13 ได้รับการทดสอบเรียบร้อยแล้ว
โครม 128.x
ไฟร์ฟอกซ์ 130.x
ต้องติดตั้ง Chrome หรือ Firefox บนระบบหากคุณต้องการใช้อย่างใดอย่างหนึ่ง
JLineup เป็นเครื่องมือ CLI
JLineup เป็นเว็บเซิร์ฟเวอร์
การกำหนดค่างาน JLineup
JLineup ใช้เครื่องมือและไลบรารีของบุคคลที่สาม
Selenium ได้รับอนุญาตภายใต้ Apache 2.0 License
Webdrivermanager ได้รับอนุญาตภายใต้ลิขสิทธิ์ Apache 2.0
Jackson ได้รับอนุญาตภายใต้ Apache 2.0 License
Logback ได้รับอนุญาตภายใต้ Eclipse Public License
SLF4J API ได้รับอนุญาตภายใต้ใบอนุญาต MIT
Thymeleaf ได้รับอนุญาตภายใต้ลิขสิทธิ์ Apache 2.0
Edison Microservice ได้รับอนุญาตภายใต้ลิขสิทธิ์ Apache 2.0
Spring Boot ได้รับอนุญาตภายใต้ลิขสิทธิ์ Apache 2.0
เวอร์ชันไบนารี cli สร้างขึ้นด้วย GraalVM Community Edition GraalVM CE นำใบอนุญาตผลิตภัณฑ์ของตัวเองมาด้วย
Image Compare Viewer ได้รับอนุญาตภายใต้ใบอนุญาต MIT
Google Fonts ใช้ในรายงาน HTML เหล่านี้คือเงื่อนไข
AWS SDK สำหรับ Java 2.0 ได้รับใบอนุญาตภายใต้ใบอนุญาต Apache 2.0
โค้ดบางส่วนจาก Pixelmatch ถูกย้ายไปยัง Java สำหรับ JLineup
Pixelmatch ได้รับอนุญาตภายใต้ใบอนุญาต ISC
โค้ดบางส่วนจาก Looks-same ถูกย้ายไปยัง Java สำหรับ JLineup
Looks-same ได้รับอนุญาตภายใต้ใบอนุญาต MIT
JLineup เป็นการทดแทนที่เข้ากันได้กับการกำหนดค่าสำหรับ Lineup ซึ่งใช้งานใน Java รายการดั้งเดิมคือเครื่องมือ Ruby แต่ไม่ได้รับการบำรุงรักษาอีกต่อไป
เครดิตสำหรับผู้เล่นตัวจริงดั้งเดิมไปที่ Finn Lorbeer
หากคุณมีคำถามหรือข้อเสนอ โปรดเปิดประเด็นหรือเขียนอีเมลไปที่ marco DOT geweke AT otto.de