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

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

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

    Selenium Tiện ích mở rộng cốt lõi

  2. Người đánh giá/Khẳng định: Bạn thực hiện xác minh gì đối với dữ liệu bạn nhận được từ UI

Selenium Tiện ích mở rộng cốt lõi

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

Selenium Tiện ích mở rộng cốt lõi

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

Nhưng đôi khi chúng tôi cần thêm một số chức năng nữa cho yêu cầu dự án của mình. 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 mình. 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 đổi văn bản thành chữ hoa trước khi điền nó vào thành phần 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 đó, 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ẽ tìm hiểu cách tạo tiện ích mở rộng người dùng để chuyển Văn bản sang Chữ hoa

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

Để 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 Java Khái niệm đối tượng nguyên mẫu kịch bản.

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

Để tạo tiện ích mở rộng người dùng, bạn cần tạo Java phương thức script và thêm chúng vào nguyên mẫu đối tượng selenium và nguyên mẫu đối tượng PageBot.

Làm thế nào Selenium IDE có nhận ra Tiện ích mở rộng của người dùng không?

Sau khi thêm Tiện ích mở rộng người dùng vào Selenium IDE khi chúng tôi bắt đầu Selenium IDE, tất cả các tiện ích mở rộng này trong nguyên mẫu javascript đều được tải và Selenium IDE nhận ra 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 đều được bắt đầu bằng “do”, tức là nếu hành động đó dành cho văn bản viết hoa thì tên của nó sẽ là doTextUpperCase. Khi chúng tôi thêm phương thức hành động này vào Selenium SDI, Selenium IDE sẽ tự 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 doTextUpperCase hoạt động, Selenium IDE sẽ tạo hàm chờ tương ứng như TextUpperCaseAndWait. Nó có thể chấp nhận hai tham số

Ví dụ: Hành động văn bản viết hoa

Selenium.prototype.doTextUpperCase = function(locator, text) {
     // Here findElement is itself capable to handle all type of locator(xpath,css,name,id,className), We just need to pass the locator text
     var element = this.page().findElement(locator);
      
     // Create the text to type
     text = text.toUpperCase();
      
     // Replace the element text with the new text
     this.page().replaceText(element, text);
    };

Bước 2) Người đánh giá/Khẳng định- Tất cả người đánh giá đã đăng ký trong nguyên mẫu đối tượng selen sẽ có tiền tố

bởi “get” hoặc “is” 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.

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

Đối với mỗi Người đánh giá, sẽ có các chức năng xác minh tương ứng được bắt đầu bằng “verify”, “assert” và tiền tố chức năng chờ là “waitFor”

Ví dụ: Dành cho người đánh giá Văn bản viết hoa

Selenium.prototype.assertTextUpperCase = function(locator, text) {
     // All locator-strategies are automatically handled by "findElement"
     var element = this.page().findElement(locator);
      
     // Create the text to verify
     text = text.toUpperCase();
      
     // Get the actual element value
     var actualValue = element.value;
    
     // Make sure the actual value matches the expected
     Assert.matches(expectedValue, actualValue);
    };
    
    Selenium.prototype.isTextEqual = function(locator, text) {
     return this.getText(locator).value===text;
    };
    
    Selenium.prototype.getTextValue = function(locator, text) {
     return this.getText(locator).value;
    };

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

chúng ta cần mở rộng nguyên mẫu PageBot bằng một hàm có tiền tố “locateElementBy”.

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 cần tìm kiếm.

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

// The "inDocument" is a document you are searching.
    PageBot.prototype.locateElementByUpperCase = function(text, inDocument) {
     // Create the text to search for
     var expectedValue = text.toUpperCase();
      
     // Loop through all elements, looking for ones that have
     // a value === our expected value
     var allElements = inDocument.getElementsByTagName("*");
// This star '*' is a kind of regular expression it will go through every element (in HTML DOM every element surely have a tag name like<body>,<a>,<h1>,<table>,<tr>,<td> etc. ). Here our motive is to find an element which matched with the Upper Case text we have passed so we will search it with all elements and when we get match we will have the correct web element.
     for (var i = 0; i < allElements.length; i++) {
     var testElement = allElements[i];
     if (testElement.innerHTML && testElement.innerHTML === expectedValue) {
     return testElement;
     }
     }
     return null;
    };

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

  1. Đến phần Selenium IDE

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

Sử dụng tiện ích mở rộng lõi mới được tạo

  1. Trong phần General chọn vị trí vừa tạo Selenium Phần mở rộng cốt lõi

    Sử dụng tiện ích mở rộng lõi mới được tạo

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

Sử dụng tiện ích mở rộng lõi mới được tạo

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

Sử dụng tiện ích mở rộng lõi mới được tạo

Dưới đây là danh sách các tiện ích mở rộng/plugin phổ biến được sử dụng trong Selenium IDE

Họ 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 hiện chúng chỉ bằng một cú nhấp chuột
Thí điểm Flex X Để tự động hóa dựa trên Flex
FlexMonkium Để ghi và phát lại dựa trên Adobe Flex Kiểm tra in Selenium IDE
Ghi nhật ký tệp Để lưu nhật ký vào một tập tin
Kiểm soát lưu lượng Để kiểm soát luồng thực hiện kiểm thử
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 Để chờ một phần tử trong một khoảng thời gian nhất định
Ảnh chụp màn hình không thành công Chụp ảnh màn hình khi thất bại
Kết quả kiểm tra Lưu Trường hợp thử nghiệm kết quả cho một bộ thử nghiệm chỉ bằng một cú nhấp chuột

Bạn có thể nhận được tất cả những thứ này và nhiều hơn nữa từ SeleniumPhần tải xuống của trang web chính thức HQ

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

Tổng kết

  • Có ba phần của Selenium Chiến lược IDE, Hành động, Người đánh giá/Khẳng định, Trình định vị.
  • Tiện ích mở rộng người dùng được tạo khi Selenium IDE không đáp ứng được 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 về Selenium Phần mở rộng cốt lõi được sử dụng trong Hướng dẫn này