ออโต้ไอที อิน Selenium บทช่วยสอน: วิธีการใช้งาน?

AutoIt คืออะไร Selenium?

AutoIt เป็นภาษาสคริปต์ฟรีแวร์ที่ออกแบบมาเพื่อควบคุม GUI ของ Windows และสคริปต์ทั่วไป โดยใช้การเคลื่อนเมาส์ การกดแป้นพิมพ์ และการควบคุมหน้าต่างร่วมกันเพื่อควบคุมงานที่ไม่สามารถทำได้ด้วย Selenium Webdriver

วิธีดาวน์โหลดและติดตั้ง AutoIT

ขั้นตอน 1): ไปอันนี้ ลิงค์

ขั้นตอน 2): วางเมาส์เหนือเมนูแบบเลื่อนลง 'Autoit' และ 'Autoit Editor'

ดาวน์โหลดและติดตั้ง AutoIT

ขั้นตอน 3) คลิกที่ตัวเลือกการดาวน์โหลด 'AutoIT'

ดาวน์โหลดและติดตั้ง AutoIT

ขั้นตอน 4): ดาวน์โหลด “Autoit” โดยคลิกที่ปุ่ม 'ดาวน์โหลด Autoit'

ดาวน์โหลดและติดตั้ง AutoIT

ขั้นตอน 5): ตอนนี้ดาวน์โหลด “ตัวแก้ไขอัตโนมัติ” โดยคลิกที่ปุ่ม 'ดาวน์โหลด'

ดาวน์โหลดและติดตั้ง AutoIT

ขั้นตอน 6) คลิกที่ลิงค์ตามที่แสดงด้านล่าง

ดาวน์โหลดและติดตั้ง AutoIT

หลังจากดาวน์โหลดแล้ว คุณจะได้ไฟล์ติดตั้ง 2 ไฟล์ ดังแสดงในหน้าจอด้านล่าง อันดับแรกคือ AutoIt เวอร์ชัน 3 การตั้งค่าและประการที่สองคือ Scitautoit3 .

ดาวน์โหลดและติดตั้ง AutoIT

ขั้นตอน 7): สำหรับการติดตั้ง AutoIT-คลิกที่การตั้งค่า AutoIT ทั้งสองรายการทีละรายการ

ขั้นตอน 8): หลังจากติดตั้งสำเร็จ - เปิด AutoIT Editor

ไปที่ 'C:\Program Files (x86)\AutoIt3\SciTE'

ดาวน์โหลดและติดตั้ง AutoIT

และคลิกที่ไฟล์ 'SciTE.exe' ตัวแก้ไข AutoIT จะเปิดขึ้นตามที่แสดงในหน้าจอด้านล่าง

ดาวน์โหลดและติดตั้ง AutoIT

ขั้นตอน 9) : ตอนนี้เปิดตัวระบุองค์ประกอบ

ไปที่ 'C:\Program Files (x86)\AutoIt3 '

ดาวน์โหลดและติดตั้ง AutoIT

และคลิกที่ไฟล์ 'Au3Info.exe' ตัวระบุองค์ประกอบจะเปิดขึ้นดังแสดงในหน้าจอด้านล่าง

ดาวน์โหลดและติดตั้ง AutoIT

หมายเหตุ เมื่อคุณใช้ตัวระบุองค์ประกอบนี้เสร็จแล้ว คุณจะต้องปิดด้วยตนเอง องค์ประกอบนั้นจะไม่ปิดโดยอัตโนมัติ

วิธีการใช้งาน AutoIT ใน Selenium

ภายใต้หัวข้อนี้ เราจะดูวิธีการใช้ตัวแก้ไข AutoIt และวิธีค้นหาองค์ประกอบบนหน้าต่างอัปโหลดไฟล์ผ่าน AutoIT Element Identifier (ตัวระบุองค์ประกอบเป็นเครื่องมือเช่น selenium IDE ตัวระบุค้นหาองค์ประกอบของหน้าต่าง GUI หรือป๊อปอัปที่ไม่ใช่ HTML และระบุแอตทริบิวต์ขององค์ประกอบ เช่น ชื่อเรื่อง, ชั้น, ตัวอย่าง ) และวิธีการเขียนสคริปต์บนโปรแกรมแก้ไข AutoIT โดยใช้ 3 วิธี

ตัวอย่างเช่น: เราจะใช้หน้า “เขียนถึงเรา” ของ guru99 เพื่ออัพโหลดเรซูเม่ (ไฟล์ Doc)

หลังจากคลิกที่ปุ่ม 'เลือกไฟล์' จากหน้า "เขียนถึงเรา" เราจำเป็นต้องเรียกสคริปต์ AutoIT การควบคุมจะถูกถ่ายโอนไปยัง autoit ทันทีหลังจากคลิก 'เลือกไฟล์' ตามคำสั่งด้านล่างซึ่งดูแลการอัพโหลดบางส่วน

Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

ในที่สุดเมื่อเรารันสคริปต์ Selenium มันจะกรอกแบบฟอร์ม -> อัปโหลดประวัติย่อ -> ส่งแบบฟอร์ม

ใช้ AutoIT ใน Selenium

ขั้นตอน 1): ตอนนี้เปิดองค์ประกอบ Identifier- ไปที่ 'C:\Program Files (x86)\AutoIt3' และคลิกที่ไฟล์ 'Au3Info.exe' หน้าต่างตัวระบุองค์ประกอบจะเปิดขึ้นดังแสดงในหน้าจอด้านล่าง

ใช้ AutoIT ใน Selenium

ขั้นตอน 2): ตอนนี้เปิดหน้าต่างอัปโหลดไฟล์โดยคลิกที่ 'เลือกไฟล์' ซึ่งเป็นกิจกรรมของ Windows

ใช้ AutoIT ใน Selenium

ขั้นตอน 3):ลากเครื่องมือค้นหาไปที่องค์ประกอบกล่อง "ชื่อไฟล์" ของหน้าต่างอัปโหลดไฟล์เพื่อค้นหาข้อมูลแอตทริบิวต์พื้นฐานตามที่แสดงในหน้าจอด้านล่างด้วยลูกศร

ใช้ AutoIT ใน Selenium

เราสามารถรับค่าของคุณลักษณะได้ เช่น title='เปิด', class='แก้ไข' และ ตัวอย่าง='1′ ตามที่แสดงด้านล่าง ค่าเหล่านี้ใช้ในการเขียนตัวอย่างสคริปต์ AutoIT ตามที่อธิบายไว้ในขั้นตอนที่ 4 ด้านล่าง

ใช้ AutoIT ใน Selenium

ขั้นตอน 4): ตอนนี้เปิดตัวแก้ไขสคริปต์ AutoIT ไปที่ 'C:\Program Files (x86)\AutoIt3\SciTE' และคลิกที่ 'SciTE.exe' ดังที่แสดงในขั้นตอนที่ 7 จากขั้นตอนที่ 1st หัวข้อเรื่อง

เริ่มเขียนสคริปต์เพื่อเลือกไฟล์ที่จะอัปโหลด

มีวิธีการมากมายที่เราสามารถใช้ในสคริปต์ได้ตามความต้องการ แต่ตอนนี้เราจะเน้นไปที่วิธีการด้านล่าง เนื่องจากวิธีการเหล่านี้จำเป็นสำหรับการเขียนสคริปต์อัพโหลดไฟล์:

  1. การควบคุมโฟกัส(” ชื่อ ”,” ข้อความ ”, controlID ) //ตั้งค่าโฟกัสอินพุตให้กับตัวควบคุมที่กำหนดบนหน้าต่าง
  2. ControlSetText(” title ”, text ”,controlID , File path ที่ต้องอัพโหลด ” ) // ตั้งค่าข้อความของตัวควบคุม
  3. ควบคุมคลิก(” ชื่อ ”,” ข้อความ ”, controlID ) //ส่งคำสั่งคลิกเมาส์ไปยังตัวควบคุมที่กำหนด

คุณจะเห็นวิธีการต่างๆ มากมายที่แสดงอยู่ดังที่แสดงในหน้าจอด้านล่าง คุณสมบัติที่ดีของ AutoIT ก็คือมันค่อนข้างจะเหมือน Eclipse ที่จะแนะนำวิธีการบางอย่างให้กับคุณ

ใช้ AutoIT ใน Selenium

ที่นี่ในตัวแก้ไข 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.

ใช้ AutoIT ใน Selenium

ค่าพารามิเตอร์สำหรับ 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.

ใช้ AutoIT ใน Selenium

หลังจากทำตามขั้นตอนข้างต้นแล้ว อย่าปิดหน้าต่าง (ตัวแก้ไขและตัวระบุองค์ประกอบ) ให้เปิดทิ้งไว้ คุณต้องเปิดหน้าต่างอัปโหลดไฟล์อีกครั้งเพื่อค้นหาคุณสมบัติของปุ่ม 'เปิด' ตามที่แสดงในขั้นตอนที่ 5 ด้านล่าง

ขั้นตอน 5): ตอนนี้ลากเครื่องมือค้นหาบนองค์ประกอบปุ่ม “เปิด” ของหน้าต่างตัวอัปโหลดไฟล์เพื่อค้นหาข้อมูลคุณลักษณะพื้นฐาน

ค่าก่อนหน้า (เช่น แอตทริบิวต์ของกล่องข้อความ 'ชื่อไฟล์') จะถูกเขียนทับด้วยค่าใหม่ของปุ่ม 'เปิด' คุณจะเห็นได้ว่าแอตทริบิวต์คลาสถูกเปลี่ยนเป็น "ปุ่ม" ซึ่งก่อนหน้านี้คือ "แก้ไข" ในหน้าต่างตัวระบุองค์ประกอบ AutoIT

ใช้ AutoIT ใน Selenium

เราสามารถรับค่าของคุณลักษณะได้ เช่น title='เปิด', คลาส = 'ปุ่ม' และ ตัวอย่าง='1′ ตามที่แสดงด้านล่าง ค่าเหล่านี้ใช้ในการเขียนสคริปต์ Autoit ตามที่อธิบายไว้ด้านล่าง

ใช้ AutoIT ใน Selenium

ค่าพารามิเตอร์สำหรับ ควบคุมคลิก วิธี:

วิธีการนี้คลิกที่ปุ่ม 'เปิด' ของหน้าต่างตัวอัพโหลดไฟล์

  • พารามิเตอร์ที่ 1 ชื่อเรื่อง เปิด ".
  • เราไม่สนใจพารามิเตอร์ตัวที่ 2 ที่ ข้อความ ไม่จำเป็นต้องใช้.
  • พารามิเตอร์ที่ 3 รหัสควบคุม คือการรวมกันของคลาสและอินสแตนซ์ เช่น ” Button1 “
ControlClick("Open","","Button1") //This method click on 'Open' button of file uploader.

ใช้ AutoIT ใน Selenium

ขั้นตอน 6): คุณจะเห็นในหน้าจอด้านล่างว่าสคริปต์ AutoIT เสร็จสมบูรณ์เพื่อจัดการกับตัวอัปโหลดไฟล์ ตอนนี้คุณสามารถปิดตัวระบุองค์ประกอบและบันทึกสคริปต์เป็น ” FileUpload ” ที่ตำแหน่งที่กำหนด ( E:\AutoIT )

ใช้ AutoIT ใน Selenium

ขณะนี้คุณไม่สามารถรันสคริปต์นี้ได้โดยตรง คุณต้องคอมไพล์สคริปต์นี้

สำหรับการรวบรวมสคริปต์นี้ คุณมีสองตัวเลือก” คอมไพล์สคริปต์ x64 " และ " คอมไพล์สคริปต์ x86 “หากคุณมีเครื่อง Windows 32 บิต คุณก็ใช้” คอมไพล์สคริปต์ x86” และสำหรับเครื่อง Windows 64 บิต คุณก็เลือกใช้ " คอมไพล์สคริปต์ x64 ".

ใช้ AutoIT ใน Selenium

ขั้นตอนที่ 7): 'FileUpload exe' ไฟล์ที่สร้างขึ้นหลังจากการคอมไพล์ คุณสามารถดูได้ในหน้าจอด้านล่าง ตอนนี้เราสามารถใช้ไฟล์นี้ใน Selenium สคริปต์เว็บไดรเวอร์

ใช้ AutoIT ใน Selenium

ตอนนี้เราจะใช้สคริปต์ AutoIT นี้ใน Selenium ไดรเวอร์เว็บ ตรวจสอบด้านล่างเพื่อดูผลลัพธ์

อัพโหลดไฟล์เข้า Selenium ใช้ออโต้อิท

In Selenium script เราจะค้นหาองค์ประกอบของแบบฟอร์มและกรอกข้อมูลในแต่ละองค์ประกอบตามที่ต้องการและอัปโหลดไฟล์ 'resume.doc' โดยเรียกใช้ไฟล์ AutoIT exe ที่สร้างจากสคริปต์ AutoIT จากนั้นอนุญาตให้ส่งแบบฟอร์มใน Selenium สคริปต์ AutoIt

  • จุดเปิด Eclipse และเริ่มเขียนโค้ด
  • เมื่อ Selenium คลิกที่ปุ่มเลือกไฟล์ กล่องอัปโหลดไฟล์จะเปิดขึ้น
  • จากนั้นเราจะต้องเรียกสคริปต์ AutoIT การควบคุมจะถูกโอนไปยัง AutoIT ทันทีเพื่ออัปโหลดไฟล์ จากนั้นการควบคุมจะส่งกลับไปยัง Selenium ดังแสดงด้านล่าง

อัพโหลดไฟล์เข้า Selenium การใช้ออโต้อิท

ขั้นตอน 1): พัฒนาสคริปต์ Selenium ใน Eclipse

  • Runtime คลาสอนุญาตให้สคริปต์เชื่อมต่อกับสภาพแวดล้อมที่สคริปต์กำลังทำงานอยู่
  • getRuntime () รับรันไทม์ปัจจุบันที่เกี่ยวข้องกับกระบวนการนี้
  • ผู้บริหาร () วิธีการรันสคริปต์ AutoIT ( FileUpload.exe )
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

ข้างบนบรรทัดจะโทร สคริปต์ AutoIT ในซีลีเนียมและอัพโหลดไฟล์

อัพโหลดไฟล์เข้า 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("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 อัพโหลดสำเร็จ และจะแสดงข้อความขอบคุณ

อัพโหลดไฟล์เข้า Selenium การใช้ออโต้อิท

เหตุใดจึงต้องใช้ AutoIt?

Selenium เป็นเครื่องมือโอเพ่นซอร์สที่ออกแบบมาเพื่อทำให้แอปพลิเคชันบนเว็บเป็นอัตโนมัติบนเบราว์เซอร์ที่แตกต่างกัน แต่เพื่อจัดการหน้าต่าง GUI และป๊อปอัปที่ไม่ใช่ HTML ในแอปพลิเคชัน ออโต้อิทเข้า Selenium จำเป็นเนื่องจากกิจกรรมตามหน้าต่างเหล่านี้ไม่ได้รับการจัดการโดย Selenium.

ใช้ออโต้อิท

ในบทช่วยสอน AutoIt ต่อไปนี้ เราจะเรียนรู้วิธีอัปโหลดไฟล์ในไดรเวอร์เว็บ Selenium โดยใช้ AutoIt ในที่นี้ เราต้องมีเครื่องมือสามอย่างเพื่อทำสิ่งนี้

  • Selenium ไดรเวอร์เว็บ
  • ตัวแก้ไข AutoIT และตัวระบุองค์ประกอบ
  • หน้าต่างที่คุณต้องการทำให้เป็นอัตโนมัติ

สรุป

  • ดาวน์โหลดและติดตั้ง Element Identifier และ AutoIT editor
  • เปิดเว็บไซต์เพื่อดำเนินการ
  • Element Identifier ระบุองค์ประกอบของหน้าต่างตัวอัพโหลดไฟล์
  • เตรียมสคริปต์ AutoIT ในตัวแก้ไขด้วยความช่วยเหลือของตัวระบุองค์ประกอบ
  • สคริปต์ Autoit ใช้ในสคริปต์ Selenium webdriver
  • ดำเนินการสคริปต์ Selenium
  • ผลลัพธ์: อัปโหลดไฟล์สำเร็จแล้ว