ออโต้ไอที อิน Selenium บทช่วยสอน: วิธีการใช้งาน?
AutoIt คืออะไร Selenium?
AutoIt เป็นภาษาสคริปต์ฟรีแวร์ที่ออกแบบมาเพื่อควบคุม GUI ของ Windows และสคริปต์ทั่วไป โดยใช้การเคลื่อนเมาส์ การกดแป้นพิมพ์ และการควบคุมหน้าต่างร่วมกันเพื่อควบคุมงานที่ไม่สามารถทำได้ด้วย Selenium Webdriver
วิธีดาวน์โหลดและติดตั้ง AutoIT
ขั้นตอน 1): ไปอันนี้ ลิงค์
ขั้นตอน 2): วางเมาส์เหนือเมนูแบบเลื่อนลง 'Autoit' และ 'Autoit Editor'
ขั้นตอน 3) คลิกที่ตัวเลือกการดาวน์โหลด 'AutoIT'
ขั้นตอน 4): ดาวน์โหลด “Autoit” โดยคลิกที่ปุ่ม 'ดาวน์โหลด Autoit'
ขั้นตอน 5): ตอนนี้ดาวน์โหลด “ตัวแก้ไขอัตโนมัติ” โดยคลิกที่ปุ่ม 'ดาวน์โหลด'
ขั้นตอน 6) คลิกที่ลิงค์ตามที่แสดงด้านล่าง
หลังจากดาวน์โหลดแล้ว คุณจะได้ไฟล์ติดตั้ง 2 ไฟล์ ดังแสดงในหน้าจอด้านล่าง อันดับแรกคือ AutoIt เวอร์ชัน 3 การตั้งค่าและประการที่สองคือ Scitautoit3 .
ขั้นตอน 7): สำหรับการติดตั้ง AutoIT-คลิกที่การตั้งค่า AutoIT ทั้งสองรายการทีละรายการ
ขั้นตอน 8): หลังจากติดตั้งสำเร็จ - เปิด AutoIT Editor
ไปที่ 'C:\Program Files (x86)\AutoIt3\SciTE'
และคลิกที่ไฟล์ 'SciTE.exe' ตัวแก้ไข AutoIT จะเปิดขึ้นตามที่แสดงในหน้าจอด้านล่าง
ขั้นตอน 9) : ตอนนี้เปิดตัวระบุองค์ประกอบ
ไปที่ 'C:\Program Files (x86)\AutoIt3 '
และคลิกที่ไฟล์ 'Au3Info.exe' ตัวระบุองค์ประกอบจะเปิดขึ้นดังแสดงในหน้าจอด้านล่าง
หมายเหตุ เมื่อคุณใช้ตัวระบุองค์ประกอบนี้เสร็จแล้ว คุณจะต้องปิดด้วยตนเอง องค์ประกอบนั้นจะไม่ปิดโดยอัตโนมัติ
วิธีการใช้งาน AutoIT ใน Selenium
ภายใต้หัวข้อนี้ เราจะดูวิธีการใช้ตัวแก้ไข AutoIt และวิธีค้นหาองค์ประกอบบนหน้าต่างอัปโหลดไฟล์ผ่าน AutoIT Element Identifier (ตัวระบุองค์ประกอบเป็นเครื่องมือเช่น selenium IDE ตัวระบุค้นหาองค์ประกอบของหน้าต่าง GUI หรือป๊อปอัปที่ไม่ใช่ HTML และระบุแอตทริบิวต์ขององค์ประกอบ เช่น ชื่อเรื่อง, ชั้น, ตัวอย่าง ) และวิธีการเขียนสคริปต์บนโปรแกรมแก้ไข AutoIT โดยใช้ 3 วิธี
ตัวอย่างเช่น: เราจะใช้หน้า “เขียนถึงเรา” ของ guru99 เพื่ออัพโหลดเรซูเม่ (ไฟล์ Doc)
หลังจากคลิกที่ปุ่ม 'เลือกไฟล์' จากหน้า "เขียนถึงเรา" เราจำเป็นต้องเรียกสคริปต์ AutoIT การควบคุมจะถูกถ่ายโอนไปยัง autoit ทันทีหลังจากคลิก 'เลือกไฟล์' ตามคำสั่งด้านล่างซึ่งดูแลการอัพโหลดบางส่วน
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
ในที่สุดเมื่อเรารันสคริปต์ Selenium มันจะกรอกแบบฟอร์ม -> อัปโหลดประวัติย่อ -> ส่งแบบฟอร์ม
ขั้นตอน 1): ตอนนี้เปิดองค์ประกอบ Identifier- ไปที่ 'C:\Program Files (x86)\AutoIt3' และคลิกที่ไฟล์ 'Au3Info.exe' หน้าต่างตัวระบุองค์ประกอบจะเปิดขึ้นดังแสดงในหน้าจอด้านล่าง
ขั้นตอน 2): ตอนนี้เปิดหน้าต่างอัปโหลดไฟล์โดยคลิกที่ 'เลือกไฟล์' ซึ่งเป็นกิจกรรมของ Windows
ขั้นตอน 3):ลากเครื่องมือค้นหาไปที่องค์ประกอบกล่อง "ชื่อไฟล์" ของหน้าต่างอัปโหลดไฟล์เพื่อค้นหาข้อมูลแอตทริบิวต์พื้นฐานตามที่แสดงในหน้าจอด้านล่างด้วยลูกศร
เราสามารถรับค่าของคุณลักษณะได้ เช่น title='เปิด', class='แก้ไข' และ ตัวอย่าง='1′ ตามที่แสดงด้านล่าง ค่าเหล่านี้ใช้ในการเขียนตัวอย่างสคริปต์ AutoIT ตามที่อธิบายไว้ในขั้นตอนที่ 4 ด้านล่าง
ขั้นตอน 4): ตอนนี้เปิดตัวแก้ไขสคริปต์ AutoIT ไปที่ 'C:\Program Files (x86)\AutoIt3\SciTE' และคลิกที่ 'SciTE.exe' ดังที่แสดงในขั้นตอนที่ 7 จากขั้นตอนที่ 1st หัวข้อเรื่อง
เริ่มเขียนสคริปต์เพื่อเลือกไฟล์ที่จะอัปโหลด
มีวิธีการมากมายที่เราสามารถใช้ในสคริปต์ได้ตามความต้องการ แต่ตอนนี้เราจะเน้นไปที่วิธีการด้านล่าง เนื่องจากวิธีการเหล่านี้จำเป็นสำหรับการเขียนสคริปต์อัพโหลดไฟล์:
- การควบคุมโฟกัส(” ชื่อ ”,” ข้อความ ”, controlID ) //ตั้งค่าโฟกัสอินพุตให้กับตัวควบคุมที่กำหนดบนหน้าต่าง
- ControlSetText(” title ”, text ”,controlID , File path ที่ต้องอัพโหลด ” ) // ตั้งค่าข้อความของตัวควบคุม
- ควบคุมคลิก(” ชื่อ ”,” ข้อความ ”, controlID ) //ส่งคำสั่งคลิกเมาส์ไปยังตัวควบคุมที่กำหนด
คุณจะเห็นวิธีการต่างๆ มากมายที่แสดงอยู่ดังที่แสดงในหน้าจอด้านล่าง คุณสมบัติที่ดีของ AutoIT ก็คือมันค่อนข้างจะเหมือน Eclipse ที่จะแนะนำวิธีการบางอย่างให้กับคุณ
ที่นี่ในตัวแก้ไข AutoIT เราได้เลือกแล้ว “ควบคุมโฟกัส” วิธี. ตัวระบุองค์ประกอบถูกเปิดและย่อขนาดแล้วเนื่องจากมีการระบุองค์ประกอบแล้วในขั้นตอนที่ 3 ข้างต้น เราสามารถเปิดได้โดยการขยายให้ใหญ่สุด
ตอนนี้ เราจะรับค่าจากตัวระบุองค์ประกอบสำหรับวิธีการ 'ControlFocus' และ 'ControlSetText' เนื่องจากวิธีการเหล่านี้ทำงานกับองค์ประกอบเดียวกัน เช่น กล่องข้อความ 'ชื่อไฟล์' แต่สำหรับวิธีการ 'ControlClick' จำเป็นต้องจับค่าขององค์ประกอบอื่น เช่น ปุ่ม 'เปิด'
ค่าพารามิเตอร์สำหรับ การควบคุมโฟกัส วิธี:
วิธีการนี้จะตั้งโฟกัสไปที่กล่องข้อความ 'ชื่อไฟล์' ของหน้าต่างอัปโหลดไฟล์
- พารามิเตอร์ที่ 1 ชื่อเรื่อง เปิด ".
- เราละเว้นพารามิเตอร์ตัวที่ 2 นั่นคือ ข้อความ ไม่จำเป็นต้องใช้.
- พารามิเตอร์ที่ 3 รหัสควบคุม คือการรวมกันของ class='Edit' และ Instance='1′ เช่น . 'แก้ไข1.'
ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.
ค่าพารามิเตอร์สำหรับ ControlSetText วิธี :
วิธีนี้ใช้เพื่อกำหนดเส้นทางของไฟล์ที่เราต้องการอัปโหลดในกล่องข้อความ 'ชื่อไฟล์' อีกวิธีหนึ่งคือใช้เพื่อตั้งค่าข้อความเป็นองค์ประกอบอินพุต
- พารามิเตอร์ที่ 1 ชื่อเรื่อง เปิด ".
- เราละเว้นพารามิเตอร์ตัวที่ 2 นั่นคือ ข้อความ ไม่จำเป็นต้องใช้.
- พารามิเตอร์ที่ 3 รหัสควบคุม คือการรวมกันของ class='Edit' และ Instance='1′ เช่น ” Edit1 “
- พารามิเตอร์ที่ 4 ข้อความใหม่ เราผ่านเส้นทางของไฟล์ที่เราต้องอัปโหลด
ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method input file path of a control.
หลังจากทำตามขั้นตอนข้างต้นแล้ว อย่าปิดหน้าต่าง (ตัวแก้ไขและตัวระบุองค์ประกอบ) ให้เปิดทิ้งไว้ คุณต้องเปิดหน้าต่างอัปโหลดไฟล์อีกครั้งเพื่อค้นหาคุณสมบัติของปุ่ม 'เปิด' ตามที่แสดงในขั้นตอนที่ 5 ด้านล่าง
ขั้นตอน 5): ตอนนี้ลากเครื่องมือค้นหาบนองค์ประกอบปุ่ม “เปิด” ของหน้าต่างตัวอัปโหลดไฟล์เพื่อค้นหาข้อมูลคุณลักษณะพื้นฐาน
ค่าก่อนหน้า (เช่น แอตทริบิวต์ของกล่องข้อความ 'ชื่อไฟล์') จะถูกเขียนทับด้วยค่าใหม่ของปุ่ม 'เปิด' คุณจะเห็นได้ว่าแอตทริบิวต์คลาสถูกเปลี่ยนเป็น "ปุ่ม" ซึ่งก่อนหน้านี้คือ "แก้ไข" ในหน้าต่างตัวระบุองค์ประกอบ AutoIT
เราสามารถรับค่าของคุณลักษณะได้ เช่น title='เปิด', คลาส = 'ปุ่ม' และ ตัวอย่าง='1′ ตามที่แสดงด้านล่าง ค่าเหล่านี้ใช้ในการเขียนสคริปต์ Autoit ตามที่อธิบายไว้ด้านล่าง
ค่าพารามิเตอร์สำหรับ ควบคุมคลิก วิธี:
วิธีการนี้คลิกที่ปุ่ม 'เปิด' ของหน้าต่างตัวอัพโหลดไฟล์
- พารามิเตอร์ที่ 1 ชื่อเรื่อง เปิด ".
- เราไม่สนใจพารามิเตอร์ตัวที่ 2 ที่ ข้อความ ไม่จำเป็นต้องใช้.
- พารามิเตอร์ที่ 3 รหัสควบคุม คือการรวมกันของคลาสและอินสแตนซ์ เช่น ” Button1 “
ControlClick("Open","","Button1") //This method click on 'Open' button of file uploader.
ขั้นตอน 6): คุณจะเห็นในหน้าจอด้านล่างว่าสคริปต์ AutoIT เสร็จสมบูรณ์เพื่อจัดการกับตัวอัปโหลดไฟล์ ตอนนี้คุณสามารถปิดตัวระบุองค์ประกอบและบันทึกสคริปต์เป็น ” FileUpload ” ที่ตำแหน่งที่กำหนด ( E:\AutoIT )
ขณะนี้คุณไม่สามารถรันสคริปต์นี้ได้โดยตรง คุณต้องคอมไพล์สคริปต์นี้
สำหรับการรวบรวมสคริปต์นี้ คุณมีสองตัวเลือก” คอมไพล์สคริปต์ x64 " และ " คอมไพล์สคริปต์ x86 “หากคุณมีเครื่อง Windows 32 บิต คุณก็ใช้” คอมไพล์สคริปต์ x86” และสำหรับเครื่อง Windows 64 บิต คุณก็เลือกใช้ " คอมไพล์สคริปต์ x64 ".
ขั้นตอนที่ 7): 'FileUpload exe' ไฟล์ที่สร้างขึ้นหลังจากการคอมไพล์ คุณสามารถดูได้ในหน้าจอด้านล่าง ตอนนี้เราสามารถใช้ไฟล์นี้ใน Selenium สคริปต์เว็บไดรเวอร์
ตอนนี้เราจะใช้สคริปต์ AutoIT นี้ใน Selenium ไดรเวอร์เว็บ ตรวจสอบด้านล่างเพื่อดูผลลัพธ์
อัพโหลดไฟล์เข้า Selenium ใช้ออโต้อิท
In Selenium script เราจะค้นหาองค์ประกอบของแบบฟอร์มและกรอกข้อมูลในแต่ละองค์ประกอบตามที่ต้องการและอัปโหลดไฟล์ 'resume.doc' โดยเรียกใช้ไฟล์ AutoIT exe ที่สร้างจากสคริปต์ AutoIT จากนั้นอนุญาตให้ส่งแบบฟอร์มใน Selenium สคริปต์ AutoIt
- จุดเปิด Eclipse และเริ่มเขียนโค้ด
- เมื่อ Selenium คลิกที่ปุ่มเลือกไฟล์ กล่องอัปโหลดไฟล์จะเปิดขึ้น
- จากนั้นเราจะต้องเรียกสคริปต์ AutoIT การควบคุมจะถูกโอนไปยัง AutoIT ทันทีเพื่ออัปโหลดไฟล์ จากนั้นการควบคุมจะส่งกลับไปยัง Selenium ดังแสดงด้านล่าง
ขั้นตอน 1): พัฒนาสคริปต์ Selenium ใน Eclipse
- Runtime คลาสอนุญาตให้สคริปต์เชื่อมต่อกับสภาพแวดล้อมที่สคริปต์กำลังทำงานอยู่
- getRuntime () รับรันไทม์ปัจจุบันที่เกี่ยวข้องกับกระบวนการนี้
- ผู้บริหาร () วิธีการรันสคริปต์ AutoIT ( FileUpload.exe )
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
ข้างบนบรรทัดจะโทร สคริปต์ AutoIT ในซีลีเนียมและอัพโหลดไฟล์
ขั้นตอน 2) : ดำเนินการ Selenium สคริปต์ใน Eclipse.
importjava.io.IOException; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class FileUpload { public static void main(String[] args) throws IOException { WebDriver driver=new FirefoxDriver(); driver.get("http://demo.guru99.com/test/autoit.html"); driver.findElement(By.id("postjob")).click(); driver.findElement(By.id("input_3")).sendKeys("Gaurav"); driver.findElement(By.id("id_4")).sendKeys("test.test@gmail.com"); driver.findElement(By.id("input_4")).click(); // below line execute the AutoIT script . Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe"); driver.findElement(By.id("input_6")).sendKeys("AutoIT in Selenium"); driver.findElement(By.id("input_2")).click(); driver.close(); } }
ขั้นตอน 3): ตรวจสอบผลลัพธ์ ไฟล์ resume.doc อัพโหลดสำเร็จ และจะแสดงข้อความขอบคุณ
เหตุใดจึงต้องใช้ AutoIt?
Selenium เป็นเครื่องมือโอเพ่นซอร์สที่ออกแบบมาเพื่อทำให้แอปพลิเคชันบนเว็บเป็นอัตโนมัติบนเบราว์เซอร์ที่แตกต่างกัน แต่เพื่อจัดการหน้าต่าง GUI และป๊อปอัปที่ไม่ใช่ HTML ในแอปพลิเคชัน ออโต้อิทเข้า Selenium จำเป็นเนื่องจากกิจกรรมตามหน้าต่างเหล่านี้ไม่ได้รับการจัดการโดย Selenium.
ในบทช่วยสอน AutoIt ต่อไปนี้ เราจะเรียนรู้วิธีอัปโหลดไฟล์ในไดรเวอร์เว็บ Selenium โดยใช้ AutoIt ในที่นี้ เราต้องมีเครื่องมือสามอย่างเพื่อทำสิ่งนี้
- Selenium ไดรเวอร์เว็บ
- ตัวแก้ไข AutoIT และตัวระบุองค์ประกอบ
- หน้าต่างที่คุณต้องการทำให้เป็นอัตโนมัติ
สรุป
- ดาวน์โหลดและติดตั้ง Element Identifier และ AutoIT editor
- เปิดเว็บไซต์เพื่อดำเนินการ
- Element Identifier ระบุองค์ประกอบของหน้าต่างตัวอัพโหลดไฟล์
- เตรียมสคริปต์ AutoIT ในตัวแก้ไขด้วยความช่วยเหลือของตัวระบุองค์ประกอบ
- สคริปต์ Autoit ใช้ในสคริปต์ Selenium webdriver
- ดำเนินการสคริปต์ Selenium
- ผลลัพธ์: อัปโหลดไฟล์สำเร็จแล้ว