คลาสหุ่นยนต์ใน Selenium WebDriver: วิธีการ ความสำคัญ & การนำไปใช้
เผยแพร่แล้ว: 2021-05-02สคริปต์ไดรเวอร์เว็บ Selenium ใช้ฟังก์ชัน Java เพื่อทำให้เดสก์ท็อปป๊อปอัปและเบราว์เซอร์ทำงานโดยอัตโนมัติ โดยไม่ต้องมีฟังก์ชันเหล่านี้เป็นส่วนหนึ่งของแพ็คเกจซีลีเนียมของ Web Driver API (Application Programming Interface) แต่เป็นส่วนหนึ่งของ Java API AWT (Abstract Window Toolkit) .
เป็นเรื่องที่น่าสนใจหรือไม่ที่จะทราบเพิ่มเติมว่านี่คือฟังก์ชันใดและทำงานอย่างไรใน JAVA และทำงานอัตโนมัติ ฟังก์ชัน Java นี้เรียกว่า 'Robot Class' บทความนี้ครอบคลุมแนวคิดของคลาสหุ่นยนต์ วิธีการใช้งาน ความสำคัญ การนำไปใช้ในซีลีเนียม และข้อจำกัดในบทความนี้
สารบัญ
คลาสหุ่นยนต์คืออะไร?
แพ็คเกจ Java AWT รวม Robot Java ในคลาส Robot วัตถุประสงค์หลักของคลาส Robot คือการทดสอบอัตโนมัติสำหรับการใช้งาน Java และจำลองการทำงานของเมาส์และคีย์บอร์ดแบบเรียลไทม์โดยอัตโนมัติ สามารถรวมเข้ากับเฟรมเวิร์กระบบอัตโนมัติที่มีอยู่ได้อย่างง่ายดาย ซึ่งจะช่วยเพิ่มการเข้าถึง
มีการใช้กันอย่างแพร่หลายในการทดสอบระบบอัตโนมัติของ Selenium เพื่อควบคุมแป้นพิมพ์และเมาส์ขณะโต้ตอบกับหน้าต่าง OS (ระบบปฏิบัติการ) เช่น พิมพ์หรือดาวน์โหลดป๊อปอัปและแอปพลิเคชันพื้นฐาน เช่น เครื่องคิดเลขและแผ่นจดบันทึก คลาสหุ่นยนต์ที่สร้างขึ้นใน Java V.1.3 ถูกนำมาใช้เนื่องจาก Selenium Webdriver ไม่สามารถจัดการป๊อปอัปและแอปพลิเคชันดังกล่าวได้
วิธีการปรับใช้คลาสหุ่นยนต์
Robot Class สามารถใช้งานได้ง่ายโดยใช้ฟังก์ชันแป้นพิมพ์และฟังก์ชันเมาส์ ต้องใช้วิธีการเพียงไม่กี่วิธีในการปรับใช้ Robot Class ที่ช่วยในการเรียกใช้สคริปต์ทดสอบ เช่น KeyPress(), KeyRelease(), MouseMove(), MousePress(), MouseRelease() และ KeyEvent()
- ฟังก์ชันการทำงานของ แป้นพิมพ์ ทำงานบนการจำลองแป้นต่างๆ ของแป้นพิมพ์และการทำงานของแป้นต่างๆ ฟังก์ชั่น Public void KeyPress (int keycode) ใช้เพื่อกดคีย์พารามิเตอร์อินพุต ฟังก์ชัน void KeyRelease สาธารณะ (int keycode) จะปล่อยคีย์พารามิเตอร์อินพุตหลังจากฟังก์ชัน keyPress
- ฟังก์ชันการทำงาน ของเมาส์ ทำงานโดยจำลองการทำงานของเมาส์ต่างๆ ฟังก์ชันโมฆะสาธารณะ mouseMove (int x, int y) จะย้ายตัวชี้เมาส์บนหน้าจอขึ้นอยู่กับพิกัดอินพุตสำหรับ x และ y ฟังก์ชันการกดเมาส์เป็นโมฆะสาธารณะ (ปุ่ม int) จะจำลองการกดเมาส์ที่คล้ายกับฟังก์ชัน keyPress
ความสำคัญของคลาสหุ่นยนต์ในซีลีเนียม
- จำลองและจัดการเหตุการณ์แป้นพิมพ์และเมาส์
- ช่วยในการอัพโหลด/ดาวน์โหลดไฟล์ในโปรแกรมควบคุมเว็บ Selenium
- จัดการป๊อปอัปได้อย่างมีประสิทธิภาพ
- อัพโหลดไฟล์ได้ง่าย ๆ ขณะใช้ คลาส Robot ใน ไดรเวอร์เว็บ Selenium
- ผสานรวมกับเฟรมเวิร์กระบบอัตโนมัติที่มีอยู่ได้อย่างง่ายดาย
อ่านเพิ่มเติม: แนวคิดและหัวข้อโครงการซีลีเนียม
การนำ Robot Class ไปใช้ใน Selenium
Robot Class ใน Selenium สร้าง เหตุการณ์ อินพุตระบบในเครื่องเพื่อทำการทดสอบโดยอัตโนมัติและสร้างการสาธิตการทำงานด้วยตนเอง นอกจากนี้ยังสร้างแอปพลิเคชั่นอื่นๆ ที่จำเป็นในการควบคุมเมาส์และคีย์บอร์ด คลาสหุ่นยนต์ถูกนำมาใช้เพื่อเอาชนะข้อจำกัดของไดรเวอร์เว็บในการจัดการป๊อปอัปของระบบปฏิบัติการ ช่วยเพิ่มฟังก์ชันการทำงานที่ใช้งานได้จริงของเฟรมเวิร์กการทำงานอัตโนมัติ
เว็บแอปพลิเคชันในซีลีเนียมใช้ตัวระบุตำแหน่งของแอปพลิเคชันและกำหนดตำแหน่งของหน้าเว็บเพื่อดำเนินการตามนั้น ในบางกรณี ในขณะที่ทำให้ระบบปฏิบัติการ windows ทำงานอัตโนมัติ จำเป็นต้องจัดการหน้าต่างป๊อปอัปและป๊อปอัปการตรวจสอบสิทธิ์ของ windows คลาส Robot ทำหน้าที่เหล่านี้ดังที่ได้กล่าวไว้ก่อนหน้านี้ในซีลีเนียม แม้ว่าจะไม่ทำให้การทำงานของ Windows เป็นแบบอัตโนมัติ แต่ก็สามารถใช้เพื่อทำงานดังกล่าวได้
คลาสหุ่นยนต์ในขั้นตอนการใช้งานซีลีเนียม
- เพื่อเชื่อมโยงไดรเวอร์เบราว์เซอร์กับ ChromeDriver และระบุเส้นทาง
- รับ URL ของหน้าเว็บที่เกี่ยวข้อง (Uniform Resource Locator) และในขณะที่นำทางป๊อปอัปของระบบปฏิบัติการปรากฏขึ้น
- ค้นหาองค์ประกอบหน้าเว็บโดยใช้ ตัวระบุตำแหน่งองค์ประกอบ
- ใช้ Robot Class เพื่อจัดการป๊อปอัปและสร้างอินสแตนซ์ของ Robot Class ในโค้ด
Robot Class มีอยู่ในแพ็คเกจ AWT ของ JDK (Java Development Kit)
ชำระเงิน: เงินเดือนนักพัฒนา Selenium ในอินเดีย
ข้อจำกัดของคลาสหุ่นยนต์
- เหตุการณ์แป้นพิมพ์หรือเมาส์ใช้งานได้เฉพาะกับหน้าต่างปัจจุบันที่อาจส่งผลให้พฤติกรรมไม่เหมาะสมของ Robot Class ในทางตรงกันข้าม มีหน้าต่างหลายบานหรือหลายเบราว์เซอร์ที่ทำการทดสอบ
- สลับไปมาระหว่างหน้าต่างหรือกรอบต่างๆ ได้ยาก
- เมื่อการเรียกใช้โค้ดถูกย้ายไปยังหน้าต่างอื่นในขณะที่ดำเนินการเหตุการณ์ของหุ่นยนต์ เหตุการณ์แป้นพิมพ์หรือเมาส์จะยังคงอยู่ในหน้าต่างก่อนหน้า
- ฟังก์ชันบางอย่างขึ้นอยู่กับความละเอียดหน้าจอที่อาจนำไปสู่การใช้โค้ดที่ไม่มีประสิทธิภาพในเครื่องต่างๆ เช่น MouseMove()
- ในการทดสอบ VM (Virtual Machine) ความน่าจะเป็นของความล้มเหลวของสคริปต์มีมากกว่า
เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
เนื่องจากระบบอัตโนมัติกลายเป็นพื้นฐานในแต่ละกิจกรรมบนคอมพิวเตอร์ ดังนั้น Robot Class ใน Selenium จึง มีความสำคัญ พูดง่ายๆ ก็คือ Robot Class จาก Java เป็นคลาสภายนอกที่ใช้ใน Selenium ver เพื่อทำให้ฟังก์ชันของแป้นพิมพ์และเมาส์เป็นแบบอัตโนมัติ
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java, OOP และการพัฒนาซอฟต์แวร์ฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์ฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง 9+ โครงการและการมอบหมาย สถานะศิษย์เก่า IIIT-B โครงการหลักในทางปฏิบัติและความช่วยเหลือด้านงานกับ บริษัท ชั้นนำ
webdriver ในซีลีเนียมคืออะไร?
Webdriver เป็นเครื่องมือสำหรับทำการทดสอบบนเว็บโดยอัตโนมัติ มันมี API สำหรับตรวจจับและควบคุมเบราว์เซอร์และอุปกรณ์ที่เปิดใช้งานเว็บอื่น ๆ WebDriver อาจถูกนำไปใช้ในภาษาการเขียนโปรแกรมที่หลากหลายรวมถึง C #, Java, Ruby, PHP, Python เป็นต้น WebDriver เป็นเครื่องมือยอดนิยมที่ใช้เพื่อทำให้เว็บแอปพลิเคชันอัตโนมัติ . WebDriver เป็นเครื่องมือสำหรับการโต้ตอบกับเว็บเบราว์เซอร์โดยอัตโนมัติ โปรเจ็กต์ Selenium มีไลบรารี่ที่ไม่ขึ้นกับเบราว์เซอร์สำหรับการทดสอบเว็บแอปพลิเคชัน คุณสามารถเขียนการทดสอบในภาษาการเขียนโปรแกรมหลายภาษา WebDriver มีกาวที่ช่วยให้คุณเรียกภาษาต่างๆ เหล่านี้ได้จากสคริปต์ทดสอบเดียว
ภาษาโปรแกรมใดบ้างที่สามารถใช้กับซีลีเนียมได้
คอมโพเนนต์ WebDriver ของ Selenium สามารถใช้กับภาษาการเขียนโปรแกรมใดๆ ที่อนุญาตให้เชื่อมต่อระยะไกลได้ ซึ่งรวมถึง Java, Python, Scala, Ruby, Perl และ PHP เป็นต้น ในการเขียนการทดสอบ คุณจะต้องติดตั้งไคลเอ็นต์ WebDriver ตามภาษาที่คุณต้องการ ซึ่งสามารถทำได้โดยใช้ขั้นตอนการติดตั้งที่เหมาะสมสำหรับภาษา ซีลีเนียมรองรับภาษาการเขียนโปรแกรมเกือบทุกภาษา ตัวอย่างเช่น คุณสามารถใช้ Python และ Ruby ร่วมกับ Selenium (และคุณสามารถใช้ภาษาต่างๆ เช่น C, C++ และ Java เพื่อเขียนส่วนขยาย Selenium)
คลาสหุ่นยนต์ใน Selenium webdriver คืออะไร?
คลาสหุ่นยนต์ใน Selenium ใช้เพื่อสั่งการเบราว์เซอร์เพื่อย้ายไปยังพิกัดเฉพาะในนั้น คลาส Robot เป็นโปรแกรมจำลองเบราว์เซอร์สำหรับ Selenium Webdriver เป็นพร็อกซีสำหรับเบราว์เซอร์จริง และสามารถใช้เพื่อทำให้การโต้ตอบกับหน้าเว็บเป็นแบบอัตโนมัติ เช่นเดียวกับผู้ใช้จริง หุ่นยนต์ถูกสร้างขึ้นทันทีโดยส่ง User Agent ที่ต้องการไปยังอินสแตนซ์ WebDriver พิเศษ คลาสหุ่นยนต์เป็นส่วนต่อประสานใน Selenium Webdriver ซึ่งใช้ในการสร้างตัวระบุตำแหน่งใหม่ (เช่น ค้นหาองค์ประกอบ) มีวิธีการสร้างตัวระบุตำแหน่งต่างๆ เช่น By.id(), By.name(), By.linkText(), By.xpath() เป็นต้น