ออโต้ไอที อิน Selenium บทช่วยสอน: วิธีการใช้งาน?
⚡ สรุปอย่างชาญฉลาด
ออโต้อิท ใน Selenium เป็นภาษาสคริปต์ฟรีแวร์ที่ช่วยในการทำงานอัตโนมัติ Windows กล่องโต้ตอบ GUI และป๊อปอัปแบบเนทีฟที่ Selenium WebDriver ไม่สามารถควบคุมโดยตรงได้ จึงเหมาะที่จะใช้เป็นตัวช่วยสำหรับการอัปโหลดไฟล์ ดาวน์โหลดไฟล์ และการแจ้งเตือนการตรวจสอบสิทธิ์
AutoIt คืออะไร Selenium?
AutoIt เป็นภาษาสคริปต์ฟรีแวร์ที่ออกแบบมาเพื่อการทำงานอัตโนมัติ Windows GUI และการเขียนสคริปต์ทั่วไป มันใช้การผสมผสานระหว่างการเคลื่อนไหวของเมาส์ การกดแป้นพิมพ์ และการควบคุมหน้าต่าง เพื่อทำให้งานที่ทำไม่ได้ด้วยวิธีอื่นเป็นไปโดยอัตโนมัติ Selenium เว็บไดร์เวอร์
วิธีดาวน์โหลดและติดตั้ง AutoIt
ขั้นตอน 1) ไปที่นี้ ลิงค์
ขั้นตอน 2) วางเมาส์เหนือ 'AutoIt' และเมนูแบบเลื่อนลง 'AutoIt Editor'
ขั้นตอน 3) คลิกที่ตัวเลือก "ดาวน์โหลด AutoIt"
ขั้นตอน 4) ดาวน์โหลดโปรแกรม “AutoIt” โดยคลิกที่ปุ่ม 'ดาวน์โหลด AutoIt'
ขั้นตอน 5) ดาวน์โหลด “AutoIt editor” โดยคลิกที่ปุ่ม 'ดาวน์โหลด'
ขั้นตอน 6) คลิกที่ลิงค์ตามที่แสดงด้านล่าง
หลังจากดาวน์โหลดเสร็จ คุณจะได้รับไฟล์ติดตั้งสองไฟล์ดังที่แสดงในภาพด้านล่าง ไฟล์แรกคือ AutoIt เวอร์ชัน 3 การตั้งค่าและประการที่สองคือ Scitautoit3.
ขั้นตอน 7) ในการติดตั้ง AutoIt ให้คลิกที่ไฟล์ติดตั้ง AutoIt ทั้งสองไฟล์ทีละไฟล์
ขั้นตอน 8) หลังจากติดตั้งเสร็จเรียบร้อยแล้ว ให้เปิดโปรแกรม AutoIt Editor ขึ้นมา
ไปที่ 'C:\Program Files (x86)\AutoIt3\SciTE'
จากนั้นคลิกที่ไฟล์ 'SciTE.exe' โปรแกรมแก้ไข AutoIt จะเปิดขึ้นดังที่แสดงในภาพด้านล่าง
ขั้นตอน 9) ตอนนี้เปิดตัวระบุองค์ประกอบ (Element Identifier)
ไปที่ 'C:\Program Files (x86)\AutoIt3'
จากนั้นคลิกที่ไฟล์ 'Au3Info.exe' ตัวระบุองค์ประกอบจะเปิดขึ้นดังที่แสดงในภาพหน้าจอด้านล่าง
หมายเหตุ เมื่อคุณใช้งานตัวระบุองค์ประกอบนี้เสร็จแล้ว คุณต้องปิดมันด้วยตนเอง มันจะไม่ปิดโดยอัตโนมัติ
วิธีใช้งาน AutoIt ใน Selenium
ในส่วนนี้ เราจะมาดูวิธีการใช้งานโปรแกรมแก้ไข AutoIt และวิธีการค้นหาองค์ประกอบในหน้าต่างอัปโหลดไฟล์โดยใช้ AutoIt Element Identifier (Element identifier เป็นเครื่องมือชนิดหนึ่ง) Selenium IDE; ตัวระบุจะค้นหาองค์ประกอบของ GUI หน้าต่างหรือป๊อปอัปที่ไม่ใช่ HTML และให้แอตทริบิวต์ขององค์ประกอบนั้น เช่น ชื่อเรื่อง, ชั้น, ตัวอย่าง) และวิธีการเขียนสคริปต์ใน AutoIt Editor โดยใช้ 3 วิธี
ตัวอย่างเช่น: เราจะใช้หน้า “ติดต่อเรา” ของ Guruกด 99 เพื่ออัปโหลดเรซูเม่ (ไฟล์เอกสาร)
หลังจากคลิกปุ่ม 'เลือกไฟล์' จากหน้า “เขียนถึงเรา” เราจำเป็นต้องเรียกใช้สคริปต์ AutoIt การควบคุมจะถูกส่งไปยัง AutoIt ทันทีหลังจากคลิก 'เลือกไฟล์' ด้วยคำสั่งด้านล่าง ซึ่งจะจัดการส่วนของการอัปโหลดให้
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
สุดท้าย เมื่อเรารัน Selenium สคริปต์นี้จะกรอกแบบฟอร์ม -> อัปโหลดเรซูเม่ -> ส่งแบบฟอร์ม
ขั้นตอน 1) ตอนนี้เปิดตัวระบุองค์ประกอบ ไปที่ 'C:\Program Files (x86)\AutoIt3' แล้วคลิกที่ไฟล์ 'Au3Info.exe' หน้าต่างตัวระบุองค์ประกอบจะเปิดขึ้นดังที่แสดงในภาพด้านล่าง
ขั้นตอน 2) ตอนนี้ให้เปิดหน้าต่างอัปโหลดไฟล์โดยคลิกที่ 'เลือกไฟล์' ซึ่งก็คือ Windows กิจกรรม
ขั้นตอน 3) ลากเครื่องมือค้นหา (Finder Tool) ไปที่ช่อง "ชื่อไฟล์" ในหน้าต่างอัปโหลดไฟล์ เพื่อดูข้อมูลคุณลักษณะพื้นฐานดังที่แสดงในภาพด้านล่างพร้อมลูกศร
เราสามารถหาค่าของแอตทริบิวต์ได้ เช่น 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' เช่น 'Edit1'
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 inputs file path of a control.
หลังจากทำตามขั้นตอนข้างต้นแล้ว อย่าปิดหน้าต่าง (ตัวแก้ไขและตัวระบุองค์ประกอบ) ให้เปิดหน้าต่างเหล่านั้นไว้ คุณต้องเปิดหน้าต่างอัปโหลดไฟล์อีกครั้งเพื่อค้นหาคุณสมบัติของปุ่ม 'เปิด' ดังแสดงในขั้นตอนที่ 5 ด้านล่าง
ขั้นตอน 5) ตอนนี้ให้ลากเครื่องมือค้นหาไปที่ปุ่ม "เปิด" ในหน้าต่างอัปโหลดไฟล์ เพื่อค้นหาข้อมูลคุณลักษณะพื้นฐาน
ค่าเดิม (เช่น คุณสมบัติของช่องข้อความ 'ชื่อไฟล์') จะถูกเขียนทับด้วยค่าใหม่ของปุ่ม 'เปิด' คุณจะเห็นว่าคุณสมบัติคลาสได้เปลี่ยนเป็น "button" แล้ว ซึ่งก่อนหน้านี้คือ "edit" ในหน้าต่างระบุองค์ประกอบของ AutoIt
เราสามารถหาค่าของแอตทริบิวต์ได้ เช่น title='เปิด', คลาส = 'ปุ่ม' และ ตัวอย่าง='1′ ดังแสดงด้านล่าง ค่าเหล่านี้ใช้ในการเขียนสคริปต์ AutoIt ตามที่อธิบายไว้ด้านล่าง
ค่าพารามิเตอร์สำหรับ ควบคุมคลิก วิธี:
วิธีนี้คือการคลิกที่ปุ่ม 'เปิด' ในหน้าต่างอัปโหลดไฟล์
- พารามิเตอร์ที่ 1 ชื่อเรื่อง เปิด ".
- เราไม่สนใจพารามิเตอร์ตัวที่ 2; ข้อความ ไม่จำเป็นต้องใช้.
- พารามิเตอร์ที่ 3 รหัสควบคุม คือการรวมกันของคลาสและอินสแตนซ์ เช่น ” Button1 “
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.
ขั้นตอน 6) จากภาพหน้าจอด้านล่าง คุณจะเห็นว่าสคริปต์ AutoIt ได้ทำงานเสร็จสมบูรณ์แล้วเพื่อจัดการกับการอัปโหลดไฟล์ ตอนนี้คุณสามารถปิดตัวระบุองค์ประกอบและบันทึกสคริปต์เป็น "FileUpload" ในตำแหน่งที่กำหนด (E:\AutoIT) ได้แล้ว
ขณะนี้คุณไม่สามารถเรียกใช้สคริปต์นี้ได้โดยตรง คุณต้องคอมไพล์สคริปต์นี้ก่อน
ในการคอมไพล์สคริปต์นี้ คุณมีสองตัวเลือก “คอมไพล์สคริปต์ x64"และ"คอมไพล์สคริปต์ x86“ถ้าคุณมี Windows ถ้าเป็นเครื่อง 32 บิต ให้เลือก “คอมไพล์สคริปต์ x86และสำหรับ Windows สำหรับเครื่อง 64 บิต ให้เลือก “คอมไพล์สคริปต์ x64".
ขั้นตอน 7) 'FileUpload exe' ไฟล์จะถูกสร้างขึ้นหลังจากการคอมไพล์ คุณสามารถดูได้จากภาพด้านล่าง ตอนนี้เราสามารถใช้ไฟล์นี้ใน... Selenium สคริปต์ WebDriver
ต่อไปนี้เราจะใช้สคริปต์ AutoIt นี้ใน Selenium WebDriver ตรวจสอบผลลัพธ์ด้านล่าง
อัพโหลดไฟล์เข้า Selenium การใช้ AutoIt
ใน Selenium ในสคริปต์ เราจะค้นหาองค์ประกอบของแบบฟอร์มและกรอกข้อมูลในแต่ละองค์ประกอบตามที่ต้องการ จากนั้นอัปโหลดไฟล์ '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 in Selenium และอัปโหลดไฟล์
ขั้นตอน 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("https://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 AutoIt เป็นเครื่องมือโอเพนซอร์สที่ออกแบบมาเพื่อทำงานอัตโนมัติกับแอปพลิเคชันบนเว็บในเบราว์เซอร์ต่างๆ แต่สำหรับการจัดการ GUI ของหน้าต่างและป๊อปอัพที่ไม่ใช่ HTML ในแอปพลิเคชันนั้น AutoIt ถูกออกแบบมาให้ใช้งานง่ายกว่า Selenium จำเป็นต้องใช้ เนื่องจากกิจกรรมที่เกี่ยวข้องกับหน้าต่างเหล่านี้ไม่ได้รับการจัดการโดย Selenium.
ในบทเรียน AutoIt นี้ เราจะเรียนรู้วิธีการอัปโหลดไฟล์ Selenium การใช้งาน WebDriver โดยใช้ AutoIt นั้น จำเป็นต้องใช้เครื่องมือสามอย่างดังนี้
- Selenium ไดรเวอร์เว็บ
- ตัวแก้ไข AutoIt และตัวระบุองค์ประกอบ
- หน้าต่างที่คุณต้องการทำให้เป็นอัตโนมัติ





























