Vĩnh Long 24h

Cách sử dụng AutoIT với Selenium Webdriver: Ví dụ về Tải lên Tệp

AutoIt là gì?

AutoIt là một ngôn ngữ scripting phần mềm miễn phí được thiết kế để tự động hóa windows GUI và tập lệnh chung. Nó sử dụng sự kết hợp của chuyển động chuột, tổ hợp phím và thao tác điều khiển window để tự động hóa một tác vụ mà selenium webdriver không thể thực hiện được.

Tại sao 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ý window GUI và window bật lên không phải HTML trong ứng dụng. AutoIt trong Selenium là bắt buộc vì hoạt động dựa trên window này không được xử lý bởi Selenium.

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

  • Selenium Webdriver
  • Trình chỉnh sửa AutoIT và Element Identifier
  • window bạn muốn tự động hóa

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

Bước 1) : Truy cập liên kết này .

Bước 2) : Di chuột trên menu thả xuống ‘Tự động chỉnh sửa’ và ‘Trình chỉnh sửa tự động’.

Bước 3) Nhấp vào tùy chọn ‘AutoIT’ Downloads.

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

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

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

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

Bước 6) : Để cài đặt AutoIT, hãy nhấp vào từng thiết lập AutoIT.

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

Đi tới ‘C: Program Files (x86) AutoIt3 SciTE’

và nhấp vào tệp ‘SciTE.exe’, trình chỉnh sửa AutoIT sẽ mở ra như được hiển thị trong màn hình bên dưới.

Bước 8) : Bây giờ mở Định danh phần tử.

Đi tới ‘C: Program Files (x86) AutoIt3’

Cách sử dụng AutoIT với Selenium

Và nhấp vào tệp ‘Au3Info.exe’, Element Identifier sẽ mở ra như hiển thị trong màn hình bên dưới.

Lưu ý: Sau khi thực hiện xong với Element Identifier này, bạn cần phải đóng theo cách thủ công, nó sẽ không tự động đóng.

Tìm phần tử thông qua Element Identifier và viết script trên trình soạn thảo AutoIT.

Dưới đây, chúng ta sẽ thấy cách sử dụng trình chỉnh sửa AutoIt và cách tìm phần tử trên window file uploader thông qua Element Identifier AutoIT (Element Identifier là một công cụ như selenium IDE, mã định danh tìm phần tử của window GUI hoặc window bật lên không phải HTML và cung cấp thuộc tính của phần tử như tiêu đề , lớp , trường hợp ) và cách viết tập lệnh trên trình soạn thảo AutoIT bằng 3 phương thức.

Ví dụ: Chúng tôi sẽ sử dụng trang “Viết thư cho chúng tôi” của guru99 để tải lên sơ yếu lý lịch (tệp Doc).

Tham khảo thêm  Đáp án cuộc thi Tìm hiểu an toàn giao thông An Giang

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 chế độ tự động sau khi nhấp vào ‘Chọn tệp’ bằng câu lệnh dưới đây, sẽ đảm nhận phần tải lên.

Runtime.getRuntime (). Exec (“E: \ AutoIT \ FileUpload.exe”);

Cuối cùng, khi chúng tôi 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.

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

Bước 2) : Bây giờ mở window file uploader bằng cách nhấp vào ‘Chọn tệp’ là hoạt động của window.

Bước 3) : Kéo công cụ tìm kiếm trên phần tử hộp “Tên tệp” của window file uploader để 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 với mũi tên.

Chúng ta có thể lấy giá trị của các thuộc tính như title = ‘Open’ , class = ‘Edit’instance = ‘1’ như hình bên dưới. Các giá trị này được sử dụng để viết ví dụ tập lệnh AutoIT như được giải thích trong bước 4 bên dưới.

Bước 4) : Bây giờ mở trình soạn thảo tập lệnh AutoIT, truy cập ‘C: Program Files (x86) AutoIt3 SciTE’ và nhấp vào ‘SciTE.exe’ như được hiển thị trong bước 7 từ chủ đề thứ nhất .

Bắt đầu viết scripting để chọn một 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 một 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 dưới đây vì các phương pháp này được yêu cầu để viết tập lệnh tải lên tệp:

  1. ControlFocus (“title”, “text”, controlID) // Đặt tiêu điểm đầu vào cho một điều khiển nhất định trên một window.
  2. ControlSetText (“title”, “text”, controlID, “Đường dẫn tệp cần tải lên”) // Đặt văn bản của một điều khiển.
  3. ControlClick (“title”, “text”, controlID) // Gửi lệnh nhấp chuột đến 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 tốt của AutoIT là nó giống như Eclipse gợi ý cho bạn một số phương pháp.

Ở đây trong trình chỉnh sửa AutoIT, chúng tôi đã chọn phương pháp “tiêu điểm điều khiển” . Element Identifier đã được mở và thu nhỏ như phần tử đã được xác định ở bước trên 3. Chúng ta có thể mở nó bằng cách phóng to nó.

Bây giờ, chúng ta sẽ lấy các giá trị từ Element Identifier 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 nắm bắt các giá trị của phần tử khác nhau tức là “Mở” cái nút.

Tham khảo thêm  Cách Đuổi Ruồi Cho Quán Ăn Bằng Mẹo Vặt và Thuốc Diệt Ruồi

Giá trị tham số cho phương thức ControlFocus :

Phương pháp này đặt tiêu điểm vào hộp văn bản ‘tên tệp’ của window file uploader.

  • Tiêu đề tham số đầu tiên là “Mở”.
  • Chúng tôi bỏ qua tham số thứ 2, văn bản không bắt buộc.
  • Tham số thứ 3 controlID là sự kết hợp của class = ‘Edit’ và Instance = ‘1’ tức là,. ‘Chỉnh sửa1.’
    ControlFocus (“Open”, “”, “Edit1”) // Phương thức này đặt tiêu điểm đầu vào thành hộp văn bản ‘Tên tệp’.

Giá trị tham số cho phương thức ControlSetText :

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

  • Tiêu đề tham số đầu tiên là “Mở”.
  • Chúng tôi bỏ qua tham số thứ 2, văn bản không bắt buộc.
  • Tham số thứ 3 controlID là sự kết hợp của class = ‘Edit’ và Instance = ‘1’ tức là “Edit1”.
  • Thông 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”) // Phương thức này đường dẫn tệp đầu vào của một điều khiển.

Sau khi làm theo bước trên, đừng đóng window (trình chỉnh sửa và định danh phần tử), hãy giữ cho nó vẫn mở. Một lần nữa, bạn cần mở window file uploader để tìm các thuộc tính của Nút ‘Mở’ như được hiển thị trong 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 phần tử nút “Mở” của window file uploader để 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’) 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” mà trước đây là “chỉnh sửa” trong window định danh phần tử AutoIT.

Chúng ta có thể lấy giá trị của các thuộc tính như title = ‘Open’ , class = ‘Button’instance = ‘1’ như hình bên dưới. Các giá trị này được sử dụng để viết tập lệnh Autoit như được giải thích trong phần bên dưới.

Giá trị tham số cho phương thức ControlClick :

Phương pháp này nhấp vào nút ‘Mở’ của window file uploader.

  • Tiêu đề tham số đầu tiên là “Mở”.
  • Chúng tôi bỏ qua tham số thứ 2; các văn bản không cần.
  • Tham số thứ 3 controlID là sự kết hợp của class và Instance, tức là “Button1”.

ControlClick (“Open”, “”, “Button1”) // Phương pháp này nhấp vào nút ‘Open’ của file uploader.

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 đã hoàn tất để xử lý file uploader. Bây giờ bạn có thể đóng Element Identifier và lưu tập lệnh dưới dạng “FileUpload” tại vị trí nhất định (E: AutoIT).

Tham khảo thêm  Tổng đài SeABank 1900 555 587 ! Hotline chăm sóc khách hàng miễn phí

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

Để biên dịch tập lệnh này, bạn có hai tùy 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 Windows 32-bit thì bạn chọn ” biên dịch tập lệnh x86″ và đối với máy Windows 64-bit thì bạn chọn ” biên dịch tập lệnh x64 . “

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

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

AutoIT Tải lên tệp trong Selenium Webdriver

Trong tập lệnh Selenium, chúng tôi tìm các phần tử của biểu mẫu và điền dữ liệu vào mỗi phần tử 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 tập lệnh Selenium AutoIt.

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

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

  • Lớp thời gian chạy 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 được liên kết với quá trình này.
  • các phương thức execute () 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.

Bước 2) : Thực thi tập lệnh Selenium 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(“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();

     }

}

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

Sự kết luận:

  • Đã tải xuống và cài đặt Element Identifier và trình chỉnh sửa AutoIT.
  • Mở trang web để thực hiện hoạt động.
  • Element Identifier xác định các phần tử của window file uploader.
  • Tập lệnh AutoIT được chuẩn bị sẵn trong trình soạn thảo với sự trợ giúp của Element Identifier.
  • Tập lệnh Autoit được sử dụng trong tập lệnh selenium webdriver.
  • Đã thực thi tập lệnh selen.
  • Kết quả: Đã tải tệp lên thành công.
Rate this post

You cannot copy content of this page