AutoIT trong Selenium Hướng dẫn: Làm thế nào để sử dụng nó?

AutoIt có trong gì Selenium?

AutoIt là một ngôn ngữ kịch bản miễn phí được thiết kế để tự động hóa GUI Windows và kịch bản chung. Nó sử dụng sự kết hợp của chuyển động chuột, phím tắt và thao tác điều khiển cửa sổ để tự động hóa một tác vụ mà Selenium WebDriver không thể thực hiện được.

Cách tải và cài đặt AutoIT

Bước 1): Tới đây liên kết.

Bước 2): Di chuột vào danh sách thả xuống 'Autoit' và 'Autoit Editor'.

Tải và cài đặt AutoIT

Bước 3) Nhấp vào tùy chọn Tải xuống 'AutoIT'.

Tải và cài đặt AutoIT

Bước 4): Tải xuống “Autoit” bằng cách nhấp vào nút 'Tải xuống Autoit' .

Tải và cài đặt AutoIT

Bước 5): Bây giờ hãy tải xuống “Trình chỉnh sửa Autoit” bằng cách nhấp vào nút 'Tải xuống' .

Tải và cài đặt AutoIT

Bước 6) Bấm vào liên kết như hình dưới đây.

Tải và cài đặt AutoIT

Sau khi tải xuống, bạn sẽ nhận được hai tệp cài đặt như trong màn hình bên dưới, đầu tiên là AutoIt phiên bản 3 thiết lập và thứ hai là Scitautoit3 .

Tải và cài đặt AutoIT

Bước 7): Để cài đặt AutoIT-Click vào từng thiết lập AutoIT một .

Bước 8): Sau khi cài đặt thành công – hãy mở AutoIT Editor.

Đi tới 'C:\Program Files (x86)\AutoIt3\SciTE'

Tải và cài đặt AutoIT

và nhấp vào tệp 'SciTE.exe', trình soạn thảo AutoIT sẽ mở ra như minh họa trong màn hình bên dưới.

Tải và cài đặt AutoIT

Bước 9) : Bây giờ mở Mã định danh phần tử .

Đi tới 'C:\Program Files (x86)\AutoIt3'

Tải và cài đặt AutoIT

Và nhấp vào tệp 'Au3Info.exe', mã định danh phần tử sẽ mở ra như hiển thị trong màn hình bên dưới.

Tải và cài đặt AutoIT

Lưu ý: Sau khi thực hiện xong với mã định danh phần tử này, bạn cần đóng thủ công, nó sẽ không tự động đóng.

Cách sử dụng AutoIT trong Selenium

Trong phần này, chúng ta sẽ xem cách sử dụng trình soạn thảo AutoIt và cách tìm phần tử trên cửa sổ trình tải lên tệp thông qua Trình nhận dạng phần tử AutoIT (Phần tử nhận dạng phần tử là một công cụ như Selenium IDE, mã định danh tìm phần tử của cửa sổ GUI hoặc cửa sổ bật lên không phải HTML và cung cấp thuộc tính của yếu tố như tiêu đề, tốt nghiệp lớp XNUMX, ví dụ ) và cách viết script trên AutoIT editor bằng 3 phương pháp.

Ví dụ: Chúng ta sẽ sử dụng trang “Write to us” của guru99 để upload sơ yếu lý lịch (file Doc).

Sau khi nhấp vào nút 'Chọn tệp' từ trang “Viết cho chúng tôi”, chúng ta cần gọi tập lệnh AutoIT. Điều khiển ngay lập tức được chuyển sang tự động sau khi nhấp vào 'Chọn tệp' bằng câu lệnh bên dưới để đảm nhiệm việc tải lên phần.

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

Cuối cùng, khi chúng ta chạy tập lệnh Selenium-nó sẽ điền vào biểu mẫu-> tải lên sơ yếu lý lịch-> Gửi biểu mẫu.

Sử dụng AutoIT trong Selenium

Bước 1): Bây giờ hãy mở Mã định danh phần tử- Đi đến 'C:\Program Files (x86)\AutoIt3' và nhấp vào tệp 'Au3Info.exe', cửa sổ định danh phần tử sẽ mở ra như hiển thị trong màn hình bên dưới.

Sử dụng AutoIT trong Selenium

Bước 2): Bây giờ hãy mở cửa sổ tải tệp lên bằng cách nhấp vào 'Chọn tệp' là hoạt động của Windows.

Sử dụng AutoIT trong Selenium

Bước 3): Kéo công cụ tìm kiếm vào phần tử hộp “Tên tệp” của cửa sổ tải tệp lên để tìm thông tin thuộc tính cơ bản như được hiển thị trong màn hình bên dưới bằng mũi tên.

Sử dụng AutoIT trong Selenium

Chúng ta có thể nhận được giá trị của các thuộc tính tức là tiêu đề='Mở', class='Chỉnh sửa'ví dụ='1' như hình dưới đây. Các giá trị này được sử dụng để viết ví dụ về tập lệnh AutoIT như được giải thích ở bước 4 bên dưới.

Sử dụng AutoIT trong Selenium

Bước 4): Bây giờ hãy mở trình soạn thảo tập lệnh AutoIT, goto 'C:\Program Files (x86)\AutoIt3\SciTE' và nhấp vào 'SciTE.exe' như trong bước 7 từ bước 1st đề tài.

Bắt đầu viết tập lệnh để chọn tệp để tải lên.

Có rất nhiều phương pháp có sẵn mà chúng ta có thể sử dụng trong tập lệnh theo yêu cầu, nhưng ngay bây giờ chúng ta sẽ tập trung vào các phương pháp bên dưới vì những phương pháp này là bắt buộc để viết tập lệnh tải lên tệp:

  1. Kiểm soát tiêu điểm(“tiêu đề“,” văn bản “,controlID ) // Đặt tiêu điểm đầu vào cho một điều khiển nhất định trên cửa sổ.
  2. Bộ điều khiển(“title”,” text “,controlID ,” Đường dẫn file cần upload ” ) // Đặt văn bản của điều khiển.
  3. Kiểm soátNhấp chuột(“tiêu đề“,” văn bản “,controlID ) // Gửi lệnh click chuột tới một điều khiển nhất định.

Bạn có thể thấy một số phương pháp được hiển thị như trong màn hình bên dưới. Tính năng hay của AutoIT là nó hơi giống Eclipse điều đó gợi ý cho bạn một số phương pháp.

Sử dụng AutoIT trong Selenium

Ở đây trong trình soạn thảo AutoIT, chúng tôi đã chọn “điều khiển tập trung” phương pháp. Mã định danh phần tử đã được mở và thu nhỏ vì phần tử đã được xác định ở bước 3 ở trên. Chúng ta có thể mở nó bằng cách tối đa hóa nó.

Bây giờ, chúng ta sẽ lấy các giá trị từ mã định danh phần tử cho các phương thức 'ControlFocus' và 'ControlSetText' vì các phương thức này hoạt động trên cùng một phần tử, tức là hộp văn bản 'Tên tệp' nhưng đối với phương thức 'ControlClick' cần phải nắm bắt các giá trị của phần tử khác, tức là nút 'Mở'.

Giá trị tham số cho Kiểm soát tiêu điểm phương pháp:

Phương pháp này sẽ tập trung vào hộp văn bản 'tên tệp' của cửa sổ tải tệp lên.

  • tham số thứ 1 tiêu đề là “Mở”.
  • Chúng tôi bỏ qua tham số thứ 2, văn bản không được yêu cầu.
  • tham số thứ 3 ID điều khiển là sự kết hợp của class='Edit' và Instance='1′ tức là, . 'Chỉnh sửa1.'
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Sử dụng AutoIT trong Selenium

Giá trị tham số cho Bộ điều khiển phương pháp :

Phương pháp này được sử dụng để xác định đường dẫn của tệp mà chúng ta cần tải lên trong hộp văn bản 'tên tệp'. Theo cách khác, chúng ta có thể nói rằng phương pháp này được sử dụng để đặt văn bản vào phần tử đầu vào.

  • tham số thứ 1 tiêu đề là “Mở”.
  • Chúng tôi bỏ qua tham số thứ 2, văn bản không được yêu cầu.
  • tham số thứ 3 ID điều khiển là sự kết hợp của class='Edit' và Instance='1′ tức là, ” Edit1 “.
  • tham số thứ 4 văn bản mới, chúng tôi chuyển đường dẫn của tệp mà chúng tôi cần tải lên.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method input file path of a control.

Sử dụng AutoIT trong Selenium

Sau khi thực hiện các bước trên, không đóng cửa sổ (trình chỉnh sửa và định danh phần tử), hãy giữ nguyên trạng thái mở. Bạn cần mở lại cửa sổ tải tệp lên để tìm thuộc tính của Nút 'Mở' như được hiển thị ở bước 5 bên dưới.

Bước 5): Bây giờ hãy kéo công cụ tìm kiếm trên thành phần nút “Mở” của cửa sổ trình tải tệp lên để tìm thông tin thuộc tính cơ bản.

Các giá trị trước đó (tức là các thuộc tính của hộp văn bản 'Tên tệp') được ghi đè bằng các giá trị mới của nút 'Mở'. Bạn có thể thấy thuộc tính lớp hiện đã được thay đổi thành "nút" trước đó là "sửa" trong cửa sổ định danh phần tử AutoIT.

Sử dụng AutoIT trong Selenium

Chúng ta có thể nhận được giá trị của các thuộc tính tức là tiêu đề='Mở', class='Nút'ví dụ='1' như hình dưới đây. Các giá trị này được sử dụng để viết tập lệnh Autoit như được giải thích bên dưới.

Sử dụng AutoIT trong Selenium

Giá trị tham số cho Kiểm soátNhấp chuột phương pháp:

Phương pháp này nhấp vào nút 'Mở' của cửa sổ trình tải tệp lên.

  • tham số thứ 1 tiêu đề là “Mở”.
  • Chúng tôi bỏ qua tham số thứ 2; các văn bản không được yêu cầu.
  • tham số thứ 3 ID điều khiển là sự kết hợp giữa lớp và Instance, tức là ” Button1 “.
ControlClick("Open","","Button1") //This method click on 'Open' button of file uploader.

Sử dụng AutoIT trong Selenium

Bước 6): Bạn có thể thấy trong màn hình bên dưới rằng tập lệnh AutoIT đã được hoàn thành để xử lý trình tải lên tệp. Bây giờ bạn có thể đóng mã định danh thành phần và lưu tập lệnh dưới dạng ” FileUpload ” tại vị trí nhất định ( E:\AutoIT ).

Sử dụng AutoIT trong Selenium

Bây giờ bạn không thể thực thi trực tiếp tập lệnh này, bạn cần biên dịch tập lệnh này.

Để biên dịch tập lệnh này, bạn có hai lựa chọn ” biên dịch tập lệnh x64 " Và " biên dịch tập lệnh x86 “, nếu bạn có máy tính chạy windows 32-bit thì bạn hãy dùng” biên dịch tập lệnh x86” và đối với máy tính Windows 64-bit thì bạn sử dụng ” biên dịch tập lệnh x64 ".

Sử dụng AutoIT trong Selenium

Bước 7):'FileUpload exe' tập tin được tạo sau khi biên dịch, bạn có thể thấy trong màn hình bên dưới. Bây giờ chúng ta có thể sử dụng tập tin này trong Selenium tập lệnh webdriver.

Sử dụng AutoIT trong Selenium

Bây giờ chúng ta sẽ sử dụng tập lệnh AutoIT này trong Selenium trình điều khiển web. Kiểm tra bên dưới để biết đầu ra.

Tải lên tệp trong Selenium sử dụng Autoit

In Selenium script, chúng tôi tìm các thành phần của biểu mẫu và điền dữ liệu vào từng thành phần theo yêu cầu và tải lên tệp 'resume.doc' bằng cách thực thi tệp exe AutoIT được tạo từ tập lệnh AutoIT và sau đó cho phép gửi biểu mẫu trong Selenium Kịch bản AutoIt.

  • Mở Eclipse và bắt đầu viết mã.
  • Khi selenium nhấp vào nút Chọn tệp, hộp tải tệp lên sẽ mở ra.
  • Sau đó chúng ta cần gọi tập lệnh AutoIT, điều khiển được chuyển ngay sang AutoIT để tải tệp lên và sau đó điều khiển gửi lại selen như hình bên dưới.

Tải lên tệp vào Selenium Sử dụng Autoit

Bước 1): Phát triển tập lệnh Selenium trong Eclipse.

  • Runtime lớp cho phép tập lệnh giao tiếp với môi trường mà tập lệnh đang chạy.
  • getRuntime () lấy thời gian chạy hiện tại liên quan đến quá trình này.
  • hành () các phương thức thực thi tập lệnh AutoIT ( FileUpload.exe ).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

dòng trên sẽ gọi Tập lệnh AutoIT trong selen và tải lên tệp .

Tải lên tệp vào Selenium Sử dụng Autoit

Bước 2) : Thực hiện Selenium kịch bản trong 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();
     }
}

Bước 3): Xác minh đầu ra, tệp sơ yếu lý lịch được tải lên thành công và thông báo cảm ơn sẽ được hiển thị.

Tải lên tệp vào Selenium Sử dụng Autoit

Tại sao nên sử dụng AutoIt?

Selenium là một công cụ mã nguồn mở được thiết kế để tự động hóa các ứng dụng dựa trên web trên các trình duyệt khác nhau nhưng để xử lý GUI cửa sổ và các cửa sổ bật lên không phải HTML trong ứng dụng. Tự động vào Selenium là bắt buộc vì hoạt động dựa trên cửa sổ này không được xử lý bởi Selenium.

Sử dụng AutoIt

Tiếp theo trong hướng dẫn AutoIt này, chúng ta sẽ tìm hiểu cách tải tệp lên trình điều khiển web Selenium bằng AutoIt. Ở đây chúng ta cần ba công cụ để làm điều này.

  • Selenium webdriver
  • Trình soạn thảo AutoIT và mã định danh phần tử
  • Cửa sổ bạn muốn tự động hóa

Kết luận

  • Đã tải xuống và cài đặt Trình chỉnh sửa phần tử nhận dạng phần tử và AutoIT.
  • Đã mở trang web để thực hiện thao tác.
  • Mã định danh phần tử xác định các phần tử của cửa sổ tải lên tệp.
  • Tập lệnh AutoIT đã được chuẩn bị trong trình chỉnh sửa với sự trợ giúp của mã định danh Phần tử.
  • Tập lệnh Autoit được sử dụng trong tập lệnh webdriver selen.
  • Đã thực thi tập lệnh selen.
  • Đầu ra: Đã tải file lên thành công.