ในระหว่างการดำเนินการทดสอบระบบอัตโนมัติ UI เมื่อการตรวจสอบล้มเหลวคุณมักจะพบว่าบันทึกที่พิมพ์ไม่ได้ช่วยให้เราค้นหาปัญหาได้อย่างมีประสิทธิภาพ เราต้องการภาพหน้าจอของช่วงเวลาที่ล้มเหลวในการทำซ้ำฉากความล้มเหลวในเวลานั้นจากนั้นแก้ไขสาเหตุของข้อผิดพลาด
ขึ้นอยู่กับข้อกำหนดนี้ฟังก์ชันภาพหน้าจอของซีลีเนียมสามารถใช้งานได้
รหัสการใช้งานมีดังนี้:
นำเข้า java.io.file; นำเข้า java.io.ioexception; นำเข้า org.apache.commons.io.fileutils; นำเข้า org.apache.commons.lang3.time.dateutils; นำเข้า org.openqa.selenium.outputtype; org.openqa.selenium.webdriver; นำเข้า org.openqa.selenium.interactions.actions; โมฆะคงที่สาธารณะ Takescreeshot (สตริงหน้าจอ, โครเมียม webdriver) {ลอง {// ระบุ outputType.file เป็นพารามิเตอร์ ไฟล์ scrfile = ((takesscreenshot) Chrome) .getScreenshotas (outputType.File); // รหัสคีย์ดำเนินการหน้าจอโดยค่าเริ่มต้นบันทึกภาพหน้าจอไปยังไดเรกทอรี TEMP fileutils.copyfile (SCRFile, ไฟล์ใหม่ (ScreenPath)); // ใช้เมธอด CopyFile () ของคลาสเครื่องมือ FileUtils เพื่อบันทึกวัตถุไฟล์ที่ส่งคืนโดย GetSCreenShotas () } catch (ioexception e) {system.out.println ("ข้อผิดพลาดในการยิงหน้าจอ:" + screenpath); System.out.println ("ข้อผิดพลาดนี้สามารถดูได้ในภาพหน้าจอ:"+ScreenPath); } catch (Exception E) {// todo: จัดการข้อยกเว้น}} โมฆะคงที่สาธารณะ TakesCreenShot (WebDriver Chrome, String imgname) {String ScreenName = ImgName+DateUtils.millis_per_day+". jpg"; String FileString = "D: // Selenium // Schoolpalerp_qtp // image"; if (! (ไฟล์ใหม่ (filestring) .isdirectory ())) {// ตรวจสอบว่าไดเรกทอรีมีอยู่ไฟล์ใหม่ (filestring) .mkdir (); // หากไม่มีอยู่ให้สร้างไดเรกทอรีใหม่} ไฟล์ dir = ไฟล์ใหม่ (filestring); if (! dir.exists ()) dir.mkdirs (); String ScreenPath = dir.getAbsolutePath () + "//" + screenName; Takescreeshot (ScreenPath, Chrome); -รหัสตัวอย่างข้างต้นสำหรับฟังก์ชันภาพหน้าจอของการทดสอบระบบอัตโนมัติ UI ของซีลีเนียมคือเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น