ไลบรารี Java ฟรีสำหรับการบันทึกวิดีโออัตโนมัติ

ไลบรารี Java แบบโอเพ่นซอร์สเพื่อรวม Video Recorder เข้ากับ Selenium Grid ของคุณ, บันทึกวิดีโอของโหนดระยะไกล, และวิเคราะห์ความล้มเหลวด้วยหลักฐานภาพที่ชัดเจน

Video Recorder คืออะไร?

การทดสอบส่วนต่อประสานผู้ใช้ โดยเฉพาะในหลายเบราว์เซอร์และอุปกรณ์ต่าง ๆ สามารถเปรียบเสมือนพยายามจับควันด้วยมือเปล่า เมื่อการทดสอบล้มเหลว คุณจะต้องงงและสงสัยว่าอะไรผิดพลาด เกิดจากปัญหาเรื่องเวลา? องค์ประกอบที่หายไป? สภาวะการแข่งขันที่แปลกประหลาด? ที่นี่คือจุดที่ไลบรารี Video Recorder เข้ามาช่วย – เครื่องมือ Java ที่บันทึกวิดีโอของการทดสอบ UI ของคุณโดยอัตโนมัติด้วยเพียงไม่กี่การทำเครื่องหมาย ไลบรารีนี้พร้อมให้ดาวน์โหลดบน GitHub โดย Sergey Pirogov ทำให้การบันทึกวิดีโอเป็นเรื่องง่ายมากโดยให้ผู้พัฒนาสามารถเพิ่มการทำเครื่องหมายหรือการกำหนดค่าเล็กน้อยเพื่อเริ่มบันทึกอัตโนมัติระหว่างการทดสอบ แทนที่จะต้องทำซ้ำบั๊กด้วยตนเอง ทีมงานสามารถดูวิดีโอบันทึกเพื่อเข้าใจสิ่งที่เกิดขึ้นระหว่างการดำเนินการทดสอบได้อย่างง่ายดาย.

Video Recorder เป็นไลบรารี Java แบบโอเพ่นซอร์สที่ผสานรวมอย่างราบรื่นกับเฟรมเวิร์กการทดสอบที่นิยม เช่น JUnit 4/5, TestNG, และ Spock แทนที่จะต้องเริ่มและหยุดการบันทึกหน้าจอด้วยตนเอง คุณเพียงแค่เพิ่มคำสั่ง @Video ลงในเมธอดการทดสอบของคุณ ไลบรารีจะจัดการส่วนที่เหลือ – เริ่มบันทึกก่อนที่การทดสอบของคุณจะทำงานและบันทึกวิดีโอเมื่อเสร็จสิ้น โดยทั่วไปจะบันทึกเฉพาะเมื่อการทดสอบล้มเหลว (แม้ว่าคุณจะกำหนดค่าให้บันทึกในกรณีอื่นได้) ไลบรารีใช้ Monte Media (Java แท้, ตั้งค่าง่ายแต่รองรับฟอร์แมตจำกัด) หรือ FFmpeg (มีประสิทธิภาพมากกว่า, รองรับโค้ดเคสและการตั้งค่าหน้าจอที่หลากหลาย) เป็นตัวบันทึกพื้นฐาน สำหรับการทดสอบระยะไกล เช่นบน Selenium Grid มันสามารถบันทึกวิดีโอบนโหนดระยะไกลได้โดยไม่ต้องตั้งค่าเพิ่มเติม.

Previous Next

เริ่มต้นใช้งาน Video Recorder

วิธีแนะนำในการใช้ไลบรารี Video Recorder คือการเพิ่มการพึ่งพา Maven โปรดใช้คำสั่งต่อไปนี้เพื่อการทำงานที่ราบรื่น.

การพึ่งพา Maven สำหรับไลบรารี Video Recorder

<dependency> <groupId>com.automation-remarks</groupId> <artifactId>video-recorder-testng</artifactId> <version>LATEST</version> </dependency>

ติดตั้ง documents4j จาก GitHub


implementation 'com.automation-remarks:video-recorder-junit5:2.0'

การบันทึกวิดีโอแบบอ้างอิงคำอธิบายผ่าน Java

หนึ่งในข้อได้เปรียบที่ใหญ่ที่สุดของไลบรารี Video Recorder แบบโอเพนซอร์สคือการออกแบบที่ขับเคลื่อนด้วย annotation. นักพัฒนาสามารถเปิดการบันทึกได้อย่างง่ายดายโดยการเพิ่ม annotation ลงในคลาสหรือเมธอดของการทดสอบ. สิ่งนี้ช่วยลดโค้ดซ้ำซ้อนและทำให้การรวมเข้ากับเฟรมเวิร์กการทดสอบ Java เช่น JUnit เป็นเรื่องตรงไปตรงมามากขึ้น. Annotation @Video จะเริ่มบันทึกโดยอัตโนมัติก่อนการทดสอบเริ่มต้นและหยุดบันทึกหลังจากเสร็จสิ้น. มีประโยชน์หลายประการเช่นการเปลี่ยนแปลงโค้ดขั้นต่ำ การนำไปใช้ที่ง่ายและไฟล์ทดสอบที่สะอาดขึ้น.

How to Recode Annotation-Based Video via Java Library?

import com.automation.remarks.video.annotations.Video;

public class LoginTest {

    @Video
    public void testLogin() {
        System.out.println(\"Executing login test...\");
    }
}

ustom Video Naming

การตั้งชื่อวิดีโอแบบกำหนดเองผ่านไลบรารี Java

ไลบรารี Video Recorder แบบโอเพนซอร์สช่วยให้นักพัฒนา Java สามารถกำหนดรูปแบบการตั้งชื่อวิดีโอแบบกำหนดเองสำหรับการบันทึกได้ ช่วยให้ทีมจัดระเบียบการบันทึกได้อย่างมีประสิทธิภาพมากขึ้น. สิ่งนี้มีประโยชน์เมื่อรันชุดการทดสอบหลายชุด. มันเป็นประโยชน์อย่างมากและให้ข้อได้เปรียบเช่นการจัดระเบียบไฟล์ที่ดียิ่งขึ้น การค้นหา artifact ที่ง่ายขึ้นและการรวมรายงานที่ดีขึ้น. นี่คือตัวอย่างง่ายที่แสดงวิธีทำการดำเนินการนี้.

วิธีสร้างไฟล์วิดีโอผ่านไลบรารี Java?

@Video(name = \"checkout_flow_test\")
public void checkoutTest() {
    System.out.println(\"Checkout process running\");
}

การตั้งชื่อวิดีโอแบบกำหนดเองผ่านไลบรารี Java

Video Recorder มีความสามารถสูงและควบคุมทุกอย่าง – ตั้งแต่โฟลเดอร์เอาต์พุตและโหมดการบันทึก (บันทึกเสมอ, เมื่อเกิดข้อผิดพลาด, เฉพาะการทดสอบที่มี annotation) ไปจนถึงอัตราเฟรมและขนาดหน้าจอ. สร้างไฟล์ video.properties ใน classpath ของคุณ, หรือส่งพารามิเตอร์ผ่านบรรทัดคำสั่งของ Maven/Gradle. สิ่งนี้ทำให้คุณตั้งกลยุทธ์การบันทึกที่แตกต่างสำหรับการพัฒนาท้องถิ่น (บันทึกเสมอ) กับ CI (บันทึกเฉพาะกรณีที่ล้มเหลว).

วิธีใช้คุณสมบัติต่าง ๆ ของการบันทึกด้วยไลบรารี Video Recorder?

# Only record tests annotated with @Video (default)
video.mode=ANNOTATED
# Save videos only when a test fails (saves disk space)
video.save.mode=FAILED_ONLY
# Output directory – use an environment variable for CI
video.folder=${user.home}/test-reports/videos
# Frame rate – lower for faster processing, higher for smooth playback
video.frame.rate=15
# Use FFmpeg for better codec support
recorder.type=FFMPEG

การรวม FFmpeg สำหรับการบันทึกประสิทธิภาพสูง

สำหรับผู้ใช้ระดับสูง ไลบรารีสามารถเรียกใช้ FFmpeg โดยตรง (แทน Monte Media) FFmpeg ให้การใช้ CPU ต่ำกว่า มีโค้ดเดคมากขึ้น (H.264, VP9) และความสามารถในการบันทึกหน้าต่างหรือพื้นที่ของแอปพลิเคชันเฉพาะ คุณเพียงแค่ต้องติดตั้ง FFmpeg บนเครื่องทดสอบและใช้ยูทิลิตี้ SendSignalCtrlC.exe บน Windows เพื่อการหยุดที่ราบรื่น

 ไทย