การทดสอบแฟลชด้วย Selenium ไดรเวอร์เว็บ
⚡ สรุปอย่างชาญฉลาด
การทดสอบแฟลชด้วย Selenium WebDriver ตรวจสอบว่าวิดีโอ เกม และแอนิเมชันที่ใช้ Flash ทำงานได้อย่างถูกต้อง เอกสารนี้อธิบายเกี่ยวกับการจับภาพวัตถุ SWF ที่ฝังอยู่ การกำหนดรหัสวัตถุ และการเล่นอัตโนมัติโดยใช้ WebDriver Selenium การบันทึก IDE และคลาส FlashObjectWebDriver เพื่อการตรวจสอบความถูกต้องที่น่าเชื่อถือ

การทดสอบแฟลชคืออะไร?
การทดสอบ Flash คือการทดสอบประเภทหนึ่งที่ใช้ตรวจสอบว่าวิดีโอ เกม ภาพยนตร์ ฯลฯ ที่ใช้ Flash ทำงานได้ตามที่คาดหวัง กล่าวอีกนัยหนึ่ง การทดสอบการทำงานของ Flash เรียกว่า การทดสอบ Flash การทดสอบแฟลช Flash เป็นซอฟต์แวร์ยอดนิยมที่พัฒนาโดย Macromedia (ปัจจุบันถูกซื้อกิจการโดย Adobe) ใช้ในการพัฒนาเกม แอปพลิเคชัน แอนิเมชั่นกราฟิก ภาพยนตร์ และอื่นๆ โทรศัพท์มือถือ เกม โปรแกรม ฯลฯ
In Selenium ระบบอัตโนมัติหากไม่พบองค์ประกอบโดยตัวระบุตำแหน่งทั่วไป เช่น รหัส คลาส ชื่อ ฯลฯแล้ว XPath จำเป็นต้องค้นหาองค์ประกอบบนหน้าเว็บเพื่อดำเนินการกับองค์ประกอบนั้น แต่ในการทดสอบ Flash นั้น XPath ไม่สามารถเข้าถึงอ็อบเจ็กต์ Flash ได้ ดังนั้นจึงจำเป็นต้องมีอ็อบเจ็กต์ Flashwebdriver เพื่อค้นหาอ็อบเจ็กต์ Flash ในแอปพลิเคชันใดๆ
ที่นี่คุณจะเห็นวิธีการรันแฟลช การทดสอบ และวิธีการทดสอบแฟลชด้วย Selenium.
ข้อกำหนดเบื้องต้นสำหรับการทดสอบ Flash
ก่อนเริ่มต้น โปรดตรวจสอบข้อกำหนดต่อไปนี้เพื่อทดสอบแอปพลิเคชัน Flash:
- แอปพลิเคชั่นแฟลช
- เว็บเบราว์เซอร์ที่รองรับ
- ปลั๊กอิน Adobe Flash Player
เครื่องมือ- ด้านล่างนี้คือเครื่องมือทดสอบที่มีประโยชน์ในการทดสอบแฟลช
- Selenium
- สบู่ UI
- TestComplete
- สตูดิโอทดสอบ ฯลฯ
Selenium เป็นเครื่องมือยอดนิยมสำหรับการทดสอบเว็บ คุณสามารถสร้างเฟรมเวิร์กสำหรับแพลตฟอร์มต่างๆ และภาษาโปรแกรมที่แตกต่างกันได้ เป็นเครื่องมือโอเพนซอร์สและสามารถดาวน์โหลดได้จากเว็บไซต์อย่างเป็นทางการ ใช้งานง่าย ตั้งค่าได้สะดวก และนำไปใช้งานได้ง่าย
การทดสอบ Flash แตกต่างจากการทดสอบองค์ประกอบอื่นๆ อย่างไร
เมื่อเตรียมสิ่งที่จำเป็นครบถ้วนแล้ว การทำความเข้าใจว่าเหตุใด Flash จึงมีพฤติกรรมแตกต่างจากองค์ประกอบ HTML มาตรฐานในระหว่างการทดสอบจึงเป็นสิ่งสำคัญ
- เหตุใดการจับภาพวัตถุด้วยแฟลชจึงเป็นเรื่องยาก? และจะแก้ไขปัญหานี้ได้อย่างไร?
Flash เป็นเทคโนโลยีที่ล้าสมัยแล้ว การจับภาพวัตถุ Flash ทำได้ยาก เนื่องจากมันแตกต่างจาก HTML นอกจากนี้ Flash ยังเป็นไฟล์ SWF (Small Web Format) ที่ฝังอยู่ภายใน ทำให้การเข้าถึงวัตถุ Flash บนอุปกรณ์เคลื่อนที่ทำได้ยากเช่นกัน
เดเวโลping Flash นั้นยากกว่า Developerping จากมุมมองของ SEO (การเพิ่มประสิทธิภาพกลไกค้นหา) หน้าเว็บ HTML นั้นไม่เหมาะสม เนื่องจาก Flash ไม่สามารถอ่านได้อย่างสมบูรณ์โดยเครื่องมือค้นหา อย่างไรก็ตาม เทคโนโลยีขั้นสูงอย่าง HTML 5 ได้ถูกนำมาใช้เพื่อแก้ไขปัญหาต่างๆ เช่น ประสิทธิภาพและความปลอดภัย
- แอปพลิเคชัน Flash ทดสอบด้วยวิธีใดบ้าง?
แอปพลิเคชัน Flash ได้รับการทดสอบในสองวิธี:
- คู่มือ - คุณสามารถทดสอบออบเจ็กต์ Flash ได้โดยดำเนินการกรณีทดสอบด้วยตนเอง เนื่องจากเป็นเรื่องง่ายและง่ายต่อการทดสอบ หลังจากแก้ไขข้อบกพร่อง คุณต้องแน่ใจว่าแฟลชทำงานอย่างถูกต้องตามที่คาดไว้และแจ้งสัญญาณ
- ระบบอัตโนมัติ - คุณเขียนสคริปต์โดยใช้เครื่องมืออัตโนมัติใดๆ ก็ได้ เช่น Selenium, SoapUI, TestCompleteเป็นต้น แล้วจึงเรียกใช้สคริปต์
- ความแตกต่างระหว่าง Flash กับองค์ประกอบอื่นๆ
ดังที่กล่าวมาข้างต้น ความแตกต่างหลักระหว่าง Flash กับองค์ประกอบอื่นๆ คือ Flash ฝังอยู่ในไฟล์ SWF ในขณะที่องค์ประกอบอื่นๆ ฝังอยู่ในไฟล์ HTML นั่นเป็นเหตุผลที่ทำให้การจับภาพ HTML ง่ายกว่า Flash
จะหา Flash Object ID ของภาพยนตร์ Flash หรือแอป Flash ได้อย่างไร
เมื่อคุณเข้าใจความแตกต่างระหว่าง Flash และ HTML แล้ว ขั้นตอนต่อไปคือการค้นหาวัตถุ Flash โดยใช้รหัสวัตถุ (Object ID)
ในเว็บเพจใดๆ แท็ก <object> ใช้สำหรับฝังมัลติมีเดีย (เช่น Flash, ActiveX, วิดีโอ ฯลฯ) ซึ่งหมายถึงการ "ฝัง" ลงในเอกสาร HTML แท็กนี้กำหนดคอนเทนเนอร์ที่ฝังอยู่ในแท็ก <object /> หรือ <embed /> ในเอกสาร HTML สำหรับเนื้อหาแบบโต้ตอบหรือแอปพลิเคชันภายนอก ชื่อของ object ใช้เพื่อระบุตำแหน่งของ Flash object บนเว็บเพจ
ตัวอย่างเช่น ในตัวอย่างด้านล่าง คุณจะเห็นว่าภาพยนตร์ Flash ถูกกำหนดไว้ในแท็ก "embed" ในเอกสารหรือไฟล์ HTML
ตัวอย่าง:
/* Html page*/ <html> <body marginwidth="0" marginheight="0"> <embed width="100%" height="100%" name="plugin" src="http://video/movie_play.swf" type="application/flash"/> </body> </html>
ใช้รหัสวัตถุเพื่อค้นหาองค์ประกอบ Flash
คุณสามารถใช้แอตทริบิวต์ของแฟลช เช่น ID ของอ็อบเจกต์ เพื่อค้นหาอ็อบเจกต์แฟลช และคุณสามารถดำเนินการกับอ็อบเจกต์แฟลชได้ตามต้องการ เช่น เล่น หยุด เป็นต้น
ดังที่ได้กล่าวไปแล้ว วัตถุ Flash ไม่สามารถเข้าถึงได้โดยใช้ XPath ดังนั้นในการดำเนินการใดๆ กับวัตถุเหล่านี้ นักพัฒนาจำเป็นต้องกำหนดรหัสวัตถุที่เหมาะสม
หน้าจอด้านล่างแสดงให้เห็นว่ารหัสวัตถุ “MyFlashMovie” ถูกกำหนดให้กับ Flash แล้ว:
วิธีใช้ Flash อัตโนมัติ Selenium การบันทึก IDE
เมื่อกำหนดรหัสวัตถุแล้ว คุณสามารถบันทึกการโต้ตอบบนภาพยนตร์ Flash ได้โดยตรงผ่านทาง... Selenium ไอดี.
คุณยังสามารถตั้งค่าแฟลชอัตโนมัติได้โดยใช้ Selenium ไอดี.
ขั้นตอน 1) คุณต้องเปิดแอปพลิเคชัน Flash ก่อน จากนั้น Selenium IDE ดังแสดงในภาพหน้าจอด้านล่าง:
ขั้นตอน 2) ตอนนี้คลิกที่ปุ่ม "บันทึกสีแดง" ทางด้านขวามือ แล้วเริ่มดำเนินการกับภาพยนตร์ Flash จากนั้นคุณจะพบสคริปต์ที่บันทึกไว้ดังที่แสดงด้านล่าง:
หลังจากบันทึกเสร็จแล้ว หากผู้ใช้ต้องการเรียกใช้สคริปต์ ก็สามารถคลิกที่ปุ่ม "เรียกใช้สีเขียว" ดังแสดงในภาพด้านล่าง Selenium IDE จะดำเนินการสคริปต์ทีละขั้นตอน
วิธีใช้ Flash อัตโนมัติ Selenium ไดรเวอร์เว็บ
เพื่อการควบคุมที่มากกว่าการบันทึก Selenium WebDriver ช่วยให้คุณสามารถควบคุมวัตถุ Flash ผ่านทางโปรแกรมได้
คุณยังสามารถตั้งค่าแฟลชอัตโนมัติได้โดยใช้ Selenium ใช้เว็บไดรเวอร์ผ่านอ็อบเจ็กต์ Flashwebdriver แล้วเรียกเมธอดเพื่อดำเนินการกับอ็อบเจ็กต์ Flash คุณจำเป็นต้อง... ดาวน์โหลดไฟล์ jar flashwebdriver:
ขั้นตอน 1) หลังจากดาวน์โหลดเสร็จแล้ว ให้เพิ่มไฟล์ jar ลงในโปรเจ็กต์ของคุณตามที่แสดงในภาพด้านล่าง
ขั้นตอน 2) ภายใต้ไฟล์ jar ของ flash จะมีคลาส flashobjectwebdriver แยกต่างหาก ให้ใช้งาน flashWebdriver “myFlashmovie” ในสคริปต์ Selenium ของคุณตามที่แสดงในภาพด้านล่าง
หลังจากเพิ่มคลาสเว็บไดรเวอร์ “MyFlashMovie” แล้ว คุณจะสามารถเข้าถึงอ็อบเจ็กต์ Flash ได้
เมื่อใดจึงจะทำการทดสอบแฟลชอัตโนมัติ
โดยปกติแล้ว คุณจำเป็นต้องทำการทดสอบ Flash แบบอัตโนมัติเมื่อไม่สามารถเข้าถึงอ็อบเจ็กต์ Flash ได้ง่าย มิเช่นนั้นการทดสอบจะถูกยกเลิกและล้มเหลวในการทดสอบอ็อบเจ็กต์ Flash
การสร้างสคริปต์ Selenium สำหรับการทดสอบ Flash
เมื่อนำขั้นตอนทั้งหมดมารวมกัน นี่คือสคริปต์ที่ใช้งานได้สมบูรณ์ซึ่งสามารถเริ่มต้นและควบคุมการทำงานได้ Guruภาพยนตร์แฟลชสาธิต 99 เรื่อง
ขั้นตอน 1) คุณใช้ “Guruภาพยนตร์แฟลชขนาด 99 นิ้ว เพื่อทดสอบสถานการณ์การใช้งานแฟลช
https://demo.guru99.com/test/flash-testing.html
ขั้นตอน 2) เขียนสคริปต์ใน Selenium เปิดโปรแกรม Eclipse แล้วรันโค้ดด้านล่างนี้ โค้ดด้านล่างนี้ เมื่อรันแล้วจะทำสิ่งต่อไปนี้:
- เปิด Firefox เบราว์เซอร์
- เปิดตัวเว็บไซต์แฟลช guru99
- เล่นภาพยนตร์แฟลชและ
- แล้วหยุดหนัง..
import org.openqa.selenium.firefox.FirefoxDriver; import Flash.FlashObjectWebDriver; public class Flash { public static void main(String[] args) throws InterruptedException { // Open firefox browser FirefoxDriver driver = new FirefoxDriver(); // Maximize browser driver.manage().window().maximize(); // Under Flash jar file there is a separate FlashObjectWebDriver class FlashObjectWebDriver flashApp = new FlashObjectWebDriver(driver, "myFlashMovie"); // Pass the URL of video driver.get("https://demo.guru99.com/test/flash-testing.html"); Thread.sleep(5000); flashApp.callFlashObject("Play"); Thread.sleep(5000); flashApp.callFlashObject("StopPlay"); Thread.sleep(5000); flashApp.callFlashObject("SetVariable","/:message","Flash testing using selenium Webdriver"); System.out.println(flashApp.callFlashObject("GetVariable","/:message")); } }
ขั้นตอน 3) เรียกใช้สคริปต์ด้านบน
Output: เมื่อรันสคริปต์ข้างต้น ภาพยนตร์แฟลชจะเริ่มเล่นและหยุด เป็นต้น
ความท้าทายในการทดสอบแฟลช
- การทำให้แอป Flash ทำงานโดยอัตโนมัติเป็นเรื่องท้าทาย คุณสามารถใช้ FlexMonkium ซึ่งเป็นส่วนเสริมสำหรับ Flash เพื่อทำให้แอป Flash ทำงานโดยอัตโนมัติได้ Selenium ไอดี.
- คุณอาจพบปัญหาในการเปิดใช้งานการบันทึก/เล่นแอป Flex โดยใช้ Selenium- การผสานรวม Flexmonkium วิธีแก้ปัญหาคือ ผู้ใช้ต้องติดตั้งและผสานรวม Flexmonkium เข้ากับระบบ Selenium ศึกษา IDE อย่างละเอียด การติดตั้งที่ถูกต้องจะช่วยให้สามารถบันทึกเพื่อทำงานอัตโนมัติกับแอปพลิเคชัน Flash ได้








