การทดสอบแฟลชด้วย Selenium ไดรเวอร์เว็บ
การทดสอบแฟลชคืออะไร?
การทดสอบแฟลชคือประเภทการทดสอบที่ใช้ในการตรวจสอบว่าวิดีโอที่ใช้แฟลช เกม ภาพยนตร์ ฯลฯ ทำงานตามที่คาดไว้ กล่าวอีกนัยหนึ่ง การทดสอบการทำงานของแฟลชเรียกว่า การทดสอบแฟลช Flash เป็นซอฟต์แวร์ยอดนิยมที่พัฒนาโดย Mircommedia (ปัจจุบันได้รับจาก Adobe) ใช้ในการพัฒนาเกม แอพพลิเคชั่น แอนิเมชั่นกราฟิก ภาพยนตร์ โทรศัพท์มือถือ เกม โปรแกรม ฯลฯ ค่ะ
In Selenium ระบบอัตโนมัติหากไม่พบองค์ประกอบโดยตัวระบุตำแหน่งทั่วไป เช่น รหัส คลาส ชื่อ ฯลฯ- แล้ว XPath จำเป็นต้องค้นหาองค์ประกอบบนหน้าเว็บเพื่อดำเนินการกับองค์ประกอบนั้นโดยเฉพาะ แต่ในการทดสอบ Flash XPath ไม่สามารถเข้าถึงวัตถุแฟลช ดังนั้นจึงจำเป็นต้องใช้วัตถุ Flashwebdriver เพื่อค้นหาวัตถุแฟลชในแอปพลิเคชันใด ๆ
ที่นี่คุณจะเห็นวิธีการรันแฟลช การทดสอบ และวิธีการทดสอบแฟลชด้วย Selenium.
ข้อกำหนดเบื้องต้นสำหรับการทดสอบ Flash
ด้านล่างนี้เป็นข้อกำหนดในการทดสอบแอปพลิเคชันแฟลช
- แอปพลิเคชั่นแฟลช
- รองรับเว็บเบราว์เซอร์
- ปลั๊กอิน Adobe Flash Player
เครื่องมือ-ด้านล่างนี้คือเครื่องมือทดสอบที่มีประโยชน์ในการทดสอบแฟลช
- Selenium
- สบู่ UI
- สอบเสร็จ
- สตูดิโอทดสอบ ฯลฯ
Selenium เป็นเครื่องมือยอดนิยมสำหรับการทดสอบเว็บ คุณสามารถสร้างกรอบงานข้ามแพลตฟอร์มที่แตกต่างกันและในภาษาอื่นได้ เป็นเครื่องมือโอเพ่นซอร์สและสามารถดาวน์โหลดได้จากเว็บไซต์อย่างเป็นทางการ ง่ายต่อการกำหนดค่า ใช้งาน และนำไปใช้งาน
การทดสอบ Flash แตกต่างจากองค์ประกอบอื่นๆ อย่างไร
- เหตุใดการจับวัตถุแบบแฟลชจึงทำได้ยาก จะแก้ไขได้อย่างไร?
Flash เป็นเทคโนโลยีที่ล้าสมัย การจับวัตถุแฟลชเป็นเรื่องยากเนื่องจากแตกต่างจาก HTML นอกจากนี้ Flash ยังเป็นไฟล์ SWF แบบฝัง (รูปแบบเว็บขนาดเล็ก) นอกจากนี้ยังเป็นเรื่องยากที่จะเข้าถึงออบเจ็กต์ Flash บนอุปกรณ์เคลื่อนที่
การพัฒนา Flash นั้นยากกว่าการพัฒนาหน้า HTML โดยใช้มุมมอง SEO (การเพิ่มประสิทธิภาพเครื่องมือค้นหา) เนื่องจากเครื่องมือค้นหาไม่สามารถอ่าน Flash ได้อย่างสมบูรณ์ อย่างไรก็ตาม เทคโนโลยีขั้นสูง เช่น HTML 5 ถูกนำมาใช้เพื่อเอาชนะปัญหาต่างๆ เช่น ประสิทธิภาพและความปลอดภัย
- ทดสอบแอปพลิเคชันแฟลชด้วยวิธีใด
แอปพลิเคชัน Flash ได้รับการทดสอบในสองวิธี:
- คู่มือ - คุณสามารถทดสอบออบเจ็กต์ Flash ได้โดยดำเนินการกรณีทดสอบด้วยตนเอง เนื่องจากเป็นเรื่องง่ายและง่ายต่อการทดสอบ หลังจากแก้ไขข้อบกพร่อง คุณต้องแน่ใจว่าแฟลชทำงานอย่างถูกต้องตามที่คาดไว้และแจ้งสัญญาณ
- ระบบอัตโนมัติ - คุณใช้ในการเขียนสคริปต์โดยใช้เครื่องมืออัตโนมัติเช่น Selenium, SoapUI, TestComplete ฯลฯ และรันสคริปต์
- ความแตกต่างระหว่าง Flash และองค์ประกอบอื่นๆ
ตามที่กล่าวไว้ข้างต้น ข้อแตกต่างที่สำคัญระหว่าง flash และองค์ประกอบอื่นๆ ก็คือ Flash จะฝังอยู่ในไฟล์ SWF ในขณะที่องค์ประกอบอื่นๆ จะฝังอยู่ในไฟล์ HTML นั่นเป็นเหตุผลว่าทำไม HTML จึงง่ายต่อการจับภาพเมื่อเทียบกับแฟลช
คุณจะได้รับ ID วัตถุแฟลชของแอพภาพยนตร์แฟลช / แฟลชได้อย่างไร
ในเว็บเพจใดๆ แท็ก < object > ใช้สำหรับมัลติมีเดียที่ฝังไว้ (เช่น Flash, ActiveX, Video เป็นต้น) มันหมายถึง "ฝัง" ภายในเอกสาร HTML แท็กนี้กำหนดคอนเทนเนอร์ที่ฝังอยู่ในแท็ก < object /> หรือ < embed /> ใน HTML ) สำหรับเนื้อหาเชิงโต้ตอบหรือแอปพลิเคชันภายนอก ชื่อวัตถุใช้เพื่อค้นหาวัตถุแฟลชบนหน้าเว็บ
ตัวอย่างเช่น ในตัวอย่างด้านล่าง คุณจะเห็นว่าภาพยนตร์แฟลชถูกกำหนดไว้ในแท็ก "ฝัง" ในเอกสารหรือไฟล์ 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 ดังนั้นเพื่อที่จะดำเนินการใดๆ กับออบเจ็กต์เหล่านี้ นักพัฒนาจำเป็นต้องกำหนด ID ออบเจ็กต์ที่เหมาะสม
หน้าจอด้านล่างแสดง ID วัตถุ “MyFlashMovie” ที่กำหนดไว้สำหรับ Flash:
วิธีใช้ Flash อัตโนมัติ Selenium การบันทึก IDE
คุณยังสามารถตั้งค่าแฟลชอัตโนมัติได้โดยใช้ Selenium ไอดี.
ขั้นตอน 1) คุณต้องเปิดแอปพลิเคชั่นแฟลชแล้ว Selenium IDE ดังแสดงในหน้าจอด้านล่าง:
ขั้นตอน 2) ตอนนี้คลิกที่ปุ่ม "บันทึกสีแดง" ทางด้านขวามือและเริ่มต้นดำเนินการกับภาพยนตร์ Flash จากนั้นคุณจะพบสคริปต์ที่บันทึกไว้ดังแสดงด้านล่าง:
หลังจากบันทึกแล้ว หากผู้ใช้ต้องการรันสคริปต์ ก็สามารถคลิกที่ปุ่ม “green run” ดังที่แสดงในหน้าจอด้านล่าง ที่ Selenium IDE จะดำเนินการสคริปต์ทีละขั้นตอน
วิธีใช้ Flash อัตโนมัติ Selenium เว็บไดรเวอร์
คุณยังสามารถตั้งค่าแฟลชอัตโนมัติได้โดยใช้ Selenium ไดรเวอร์เว็บผ่านอ็อบเจกต์ Flashwebdriver จากนั้นเรียกใช้เมธอดเพื่อใช้งานอ็อบเจกต์แฟลช คุณต้อง ดาวน์โหลดไฟล์ jar flashwebdriver:
ขั้นตอน 1) หลังจากดาวน์โหลด ให้เพิ่มไฟล์ jar ในโครงการของคุณดังที่แสดงในหน้าจอด้านล่าง
ขั้นตอน 2) ภายใต้ไฟล์ JAR ของแฟลชมีคลาส flashobjectwebdriver แยกต่างหาก นำ flashWebdriver “myFlashmovie” ไปใช้งานในสคริปต์ Selenium ของคุณตามที่แสดงบนหน้าจอด้านล่าง
หลังจากเพิ่มคลาสไดรเวอร์เว็บ "MyFlashMovie" แล้ว คุณจะสามารถเข้าถึงวัตถุ Flash ได้
เมื่อใดจึงจะทำการทดสอบแฟลชอัตโนมัติ
โดยปกติแล้ว คุณจะต้องทำการทดสอบ Flash อัตโนมัติเมื่อไม่สามารถเข้าถึงออบเจ็กต์ Flash ได้โดยง่าย ส่งผลให้การทดสอบถูกยกเลิก และด้วยเหตุนี้จึงไม่สามารถทดสอบออบเจ็กต์ Flash ได้
การสร้างสคริปต์ Selenium สำหรับการทดสอบ Flash
ขั้นตอน 1) คุณใช้แฟลชภาพยนตร์ “Guru99” เพื่อทดสอบสถานการณ์แฟลช
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 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: เมื่อดำเนินการตามสคริปต์ข้างต้น ภาพยนตร์แฟลชจะเริ่มเล่นและหยุด ฯลฯ
ความท้าทายในการทดสอบแฟลช
- การทำให้แอปแฟลชอัตโนมัติเป็นสิ่งที่ท้าทาย หากต้องการทำให้แอปแฟลชเป็นแบบอัตโนมัติ คุณสามารถใช้ FlexMonkium ซึ่งเป็นส่วนเสริมได้ Selenium ไอดี.
- คุณอาจประสบปัญหาในการเปิดใช้งานแอปบันทึก / เล่น Flex โดยใช้ Selenium-การรวม Flexmonkium วิธีแก้ปัญหาคือผู้ใช้ต้องติดตั้งและรวม Flex Monkium เข้ากับ IDE ของ Selenium อย่างระมัดระวัง การติดตั้งอย่างถูกต้องจะช่วยให้บันทึกและทำงานอัตโนมัติกับแอพแฟลชได้
สรุป
- ในการทดสอบ Flash คุณต้องตรวจสอบว่าวิดีโอแฟลช เกม ภาพยนตร์ ฯลฯ ทำงานตามที่คาดหวังไว้หรือไม่
- คุณใช้แอตทริบิวต์ของแฟลช เช่น ID ของอ็อบเจกต์ เพื่อค้นหาอ็อบเจกต์แฟลช และด้วยเหตุนี้ คุณจึงสามารถดำเนินการกับอ็อบเจกต์แฟลชได้ตามต้องการ เช่น เล่น หยุด เป็นต้น
- ความแตกต่างที่สำคัญระหว่าง flash และองค์ประกอบอื่นๆ ก็คือ Flash จะฝังอยู่ในไฟล์ SWF ในขณะที่องค์ประกอบอื่นๆ จะฝังอยู่ในไฟล์ HTML
- คุณต้องทำการทดสอบ Flash อัตโนมัติตามปกติเมื่อไม่สามารถเข้าถึงวัตถุ Flash ได้อย่างง่ายดาย
- เครื่องมือที่มีประโยชน์ในการทดสอบแฟลชได้แก่
- Selenium
- สบู่ UI
- สอบเสร็จ
- สตูดิโอทดสอบ ฯลฯ
- การทำให้แอปแฟลชอัตโนมัติเป็นสิ่งที่ท้าทาย หากต้องการทำให้แอปแฟลชเป็นแบบอัตโนมัติ คุณสามารถใช้ FlexMonkium ซึ่งเป็นส่วนเสริมได้ Selenium ไอดี.