Tiện ích mở rộng lõi Selenium (User-Extensions.js)

Mục lục:

Anonim

Để hiểu tiện ích mở rộng, trước tiên chúng ta hãy hiểu ba trụ cột của IDE selen

  1. Hành động: Thao tác bạn đang thực hiện trên Màn hình giao diện người dùng

  2. Người đánh giá / Xác nhận: Việc xác minh bạn thực hiện đối với dữ liệu bạn nhận được từ giao diện người dùng

  1. Chiến lược định vị: Làm cách nào chúng tôi có thể tìm thấy phần tử trong giao diện người dùng.

Giờ đây, Selenium IDE có một thư viện rất trưởng thành với nhiều Chiến lược Hành động, Xác nhận / Người đánh giá và Định vị.

Nhưng đôi khi chúng ta cần thêm một số chức năng vào nó cho các yêu cầu dự án của chúng ta. Trong tình huống đó, chúng tôi có thể mở rộng thư viện này bằng cách thêm các tiện ích mở rộng tùy chỉnh của chúng tôi. Các tiện ích mở rộng tùy chỉnh này được gọi là 'Tiện ích mở rộng người dùng'.

Ví dụ: chúng ta cần một Hành động có thể chuyển văn bản thành chữ hoa trước khi điền nó vào một phần tử web. Bạn không thể tìm thấy Hành động này trong thư viện Hành động mặc định. Trong trường hợp này, bạn có thể tạo 'Tiện ích mở rộng người dùng' của riêng mình. Trong hướng dẫn này, chúng ta sẽ học cách tạo tiện ích mở rộng người dùng để chuyển Văn bản thành Chữ hoa

Yêu cầu để tạo tiện ích mở rộng người dùng Selenium:

Để tạo tiện ích mở rộng người dùng cho Selenium IDE, chúng ta cần biết khái niệm cơ bản về JavaScript và khái niệm đối tượng nguyên mẫu Java Script.

Để tạo tiện ích mở rộng người dùng của mình, bạn cần tạo các phương thức tập lệnh Java và thêm chúng vào nguyên mẫu đối tượng selen và nguyên mẫu đối tượng PageBot.

Làm thế nào để Selenium IDE nhận ra Tiện ích mở rộng người dùng?

Sau khi thêm Tiện ích mở rộng người dùng vào Selenium IDE khi chúng tôi khởi động Selenium IDE, tất cả các tiện ích mở rộng này trong nguyên mẫu javascript sẽ được tải và Selenium IDE nhận dạng chúng theo tên của chúng.

Cách tạo tiện ích mở rộng người dùng

Bước 1) Hành động - tất cả các hành động được bắt đầu bởi "do", tức là nếu hành động dành cho văn bản chữ hoa hơn tên của nó sẽ là doTextUpperCase. Khi chúng ta thêm phương thức hành động này trong Selenium IDE, bản thân Selenium IDE sẽ tạo một phương thức chờ cho hành động này. Vì vậy, trong trường hợp này khi chúng ta tạo hành động doTextUpperCase , Selenium IDE sẽ tạo một hàm chờ tương ứng là TextUpperCaseAndWait . Nó có thể chấp nhận hai tham số

Ví dụ: Hành động văn bản chữ hoa

Selenium.prototype.doTextUpperCase = function (locator, text) {// Ở đây findElement tự nó có khả năng xử lý tất cả các loại định vị (xpath, css, name, id, className), Chúng ta chỉ cần truyền văn bản định vịvar element = this.page (). findElement (định vị);// Tạo văn bản để nhậptext = text.toUpperCase ();// Thay thế văn bản phần tử bằng văn bản mớithis.page (). ReplaceText (phần tử, văn bản);}

Bước 2) Người đánh giá / Xác nhận- Tất cả người đánh giá đã đăng ký trong nguyên mẫu đối tượng selen sẽ được đặt trước

bởi "get" hoặc "là" Ex. getValueFromCompoundTable, isValueFromCompoundTable. Nó có thể chấp nhận hai tham số, một cho mục tiêu và một cho trường giá trị trong trường hợp thử nghiệm.

Đối với mỗi Người đánh giá, sẽ có các chức năng xác minh tương ứng được đặt tiền tố bằng "verify", "khẳng định" và chức năng chờ có tiền tố là "waitFor"

Ví dụ: Đối với người đánh giá văn bản chữ hoa

Selenium.prototype.assertTextUpperCase = function (locator, text) {// Tất cả các chiến lược định vị được tự động xử lý bởi "findElement"var element = this.page (). findElement (định vị);// Tạo văn bản để xác minhtext = text.toUpperCase ();// Nhận giá trị phần tử thực tếvar realValue = element.value;// Đảm bảo giá trị thực khớp với giá trị mong đợiAssert.matches (giá trị mong đợi, giá trị thực tế);}Selenium.prototype.isTextEqual = function (locator, text) {trả về this.getText (định vị) .value === văn bản;}Selenium.prototype.getTextValue = function (locator, text) {trả về this.getText (định vị) .value;}

Bước 3) Chiến lược định vị- Nếu chúng ta muốn tạo chức năng của riêng mình để định vị một phần tử thì

chúng ta cần mở rộng nguyên mẫu PageBot với một hàm có tiền tố "định vịElementBy."

Nó sẽ có hai tham số, đầu tiên sẽ là chuỗi định vị và thứ hai sẽ là tài liệu

nơi nó cần được tìm kiếm.

Ví dụ: Đối với bộ định vị văn bản chữ hoa

// "InDocument" là tài liệu bạn đang tìm kiếm.PageBot.prototype.locateElementByUpperCase = function (text, inDocument) {// Tạo văn bản để tìm kiếmvar dự kiếnValue = text.toUpperCase ();// Lặp qua tất cả các phần tử, tìm kiếm những phần tử có// một giá trị === giá trị mong đợi của chúng tôivar allElements = inDocument.getElementsByTagName ("*");// Dấu sao '*' này là một loại biểu thức chính quy nó sẽ đi qua mọi phần tử (trong HTML DOM mọi phần tử chắc chắn có tên thẻ như , ,

, , ,
, v.v.). Ở đây động cơ của chúng tôi là tìm một phần tử phù hợp với văn bản Chữ hoa mà chúng tôi đã chuyển qua, vì vậy chúng tôi sẽ tìm kiếm nó với tất cả các phần tử và khi chúng tôi khớp, chúng tôi sẽ có phần tử web chính xác.for (var i = 0; i

Làm thế nào để sử dụng tiện ích mở rộng cốt lõi mới được tạo?

  1. Đi tới Selenium IDE

    Nhấp vào Tùy chọn -> Tùy chọn…

  1. Trong phần Chung, chọn vị trí của Tiện ích mở rộng lõi Selenium mới được tạo

  2. Nhấp vào OK và khởi động lại Selenium IDE

  1. Bạn sẽ tìm thấy phần mở rộng trong danh sách lệnh

Đây là danh sách các tiện ích mở rộng / trình cắm thêm phổ biến được sử dụng trong Selenium IDE

Tên Mục đích
Yêu thích Để đánh dấu một bộ thử nghiệm là yêu thích và thực thi chúng bằng một cú nhấp chuột
Flex Pilot X Đối với tự động hóa dựa trên Flex
FlexMonkium Đối với thử nghiệm ghi và phát lại dựa trên Adobe Flex trong Selenium IDE
Ghi nhật ký tệp Để lưu nhật ký trong tệp
Kiểm soát lưu lượng Để kiểm soát luồng thực thi kiểm tra
Làm nổi bật các yếu tố Để đánh dấu một điều khiển web
Chờ đợi ngầm Để đợi một phần tử trong giới hạn thời gian nhất định
ScreenShot khi bị lỗi Chụp ảnh màn hình khi bị lỗi
Kết quả kiểm tra Lưu kết quả Test Case cho một bộ thử nghiệm chỉ bằng một cú nhấp chuột

Bạn có thể lấy tất cả những thứ này và nhiều thứ khác từ phần tải xuống của trang web chính thức của SeleniumHQ

http://docs.seleniumhq.org/download/

Tóm lược:

  • Có ba phần của Selenium IDE, Hành động, Người đánh giá / Khẳng định, Chiến lược định vị.
  • Tiện ích mở rộng người dùng được tạo khi Selenium IDE không đáp ứng yêu cầu hiện tại.
  • Để tạo tiện ích mở rộng người dùng, cần phải thêm javascript vào nguyên mẫu đối tượng của selenium.
  • Sau khi tạo tiện ích mở rộng, cần phải thêm nó vào Selenium IDE và khởi động lại IDE.

Tải xuống Tiện ích mở rộng lõi Selenium được sử dụng trong Hướng dẫn này