Selenium - Điều khiển từ xa

Selenium RC là gì?

Selenium Remote Control (RC) là dự án Selenium chính duy trì trong một thời gian dài trước khi Selenium WebDriver (Selenium 2.0) ra đời. Hiện nay Selenium RC hầu như không được sử dụng vì WebDriver cung cấp nhiều tính năng mạnh mẽ hơn, tuy nhiên người dùng vẫn có thể tiếp tục phát triển các tập lệnh bằng RC.

Nó cho phép chúng tôi viết các bài kiểm tra giao diện người dùng ứng dụng web tự động với sự trợ giúp của toàn bộ sức mạnh của các ngôn ngữ lập trình như Java, C #, Perl, Python và PHP để tạo các bài kiểm tra phức tạp hơn như đọc và ghi tệp, truy vấn cơ sở dữ liệu và gửi kết quả kiểm tra qua email .

Kiến trúc Selenium RC

Selenium RC hoạt động theo cách mà các thư viện máy khách có thể giao tiếp với Máy chủ Selenium RC thông qua mỗi lệnh Selenium để thực thi. Sau đó, máy chủ chuyển lệnh Selenium đến trình duyệt bằng các lệnh JavaScript Selenium-Core.

Trình duyệt thực thi lệnh Selenium bằng trình thông dịch JavaScript của nó.

Selenium RC có hai phần.

  • Máy chủ Selenium khởi chạy và giết trình duyệt. Thêm vào đó, nó thông dịch và thực hiện các lệnh Selenese. Nó cũng hoạt động như một proxy HTTP bằng cách chặn và xác minh các thông điệp HTTP được truyền giữa trình duyệt và ứng dụng đang được thử nghiệm.

  • Thư viện máy khách cung cấp giao diện giữa mỗi ngôn ngữ lập trình (Java, C #, Perl, Python và PHP) và Máy chủ Selenium-RC.

RC Scripting

Bây giờ chúng ta hãy viết một đoạn script mẫu bằng Selenium Remote Control. Hãy để chúng tôi sử dụnghttp://www.calculator.net/để hiểu về Selenium RC. Chúng tôi sẽ thực hiện phép tính Phần trăm bằng 'Máy tính Phần trăm' có trong mô-đun 'Máy tính Toán học'.

Step 1 - Khởi động Điều khiển từ xa Selenium (với sự trợ giúp của dấu nhắc lệnh).

Step 2 - Sau khi khởi chạy Selenium RC, mở Eclipse và tạo một "New Project" như hình dưới đây.

Step 3 - Nhập tên dự án và nhấp vào nút 'Tiếp theo'.

Step 4 - Xác minh thư mục Nguồn, Dự án, Thư viện và Đầu ra và nhấp vào 'Hoàn tất'.

Step 5 - Nhấp chuột phải vào vùng chứa 'dự án' và chọn 'Định cấu hình Đường dẫn xây dựng'.

Step 6- Các thuộc tính cho 'selrcdemo' sẽ mở ra. Điều hướng đến tab 'Thư viện' và chọn 'Thêm JAR bên ngoài'. Chọn tệp jar Selenium RC mà chúng tôi đã tải xuống và nó sẽ xuất hiện như hình dưới đây.

Step 7 - Các Thư viện tham chiếu được hiển thị như bên dưới.

Step 8 - Tạo một tệp lớp mới bằng cách nhấp chuột phải vào thư mục 'src' và chọn 'New' >> 'class'.

Step 9 - Nhập tên của tệp lớp và kích hoạt 'public static void main' như hình dưới đây.

Step 10 - Lớp Created được tạo theo cấu trúc thư mục như hình bên dưới.

Step 11- Bây giờ là lúc viết mã. Đoạn mã sau có các chú thích được nhúng vào đó để làm cho người đọc hiểu những gì đã được đưa ra.

package selrcdemo;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class rcdemo {
   public static void main(String[] args) throws InterruptedException {

      // Instatiate the RC Server
      Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net");
      selenium.start();   // Start
      selenium.open("/");  // Open the URL
      selenium.windowMaximize();

      // Click on Link Math Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[3]/a");
      Thread.sleep(2500); // Wait for page load

      // Click on Link Percent Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[4]/div[3]/a");
      Thread.sleep(4000); // Wait for page load

      // Focus on text Box
      selenium.focus("name = cpar1");
      
      // enter a value in Text box 1
      selenium.type("css=input[name = \"cpar1\"]", "10");
      
      // enter a value in Text box 2
      selenium.focus("name = cpar2");
      selenium.type("css = input[name = \"cpar2\"]", "50");

      // Click Calculate button
      selenium.click("xpath = .//*[@id = 'content']/table/tbody/tr/td[2]/input");

      // verify if the result is 5
      String result = selenium.getText(".//*[@id = 'content']/p[2]");

      if (result == "5") {
         System.out.println("Pass");
      } else {
         System.out.println("Fail");
      }
   }
}

Step 12 - Bây giờ, chúng ta hãy thực thi tập lệnh bằng cách nhấp vào Nút 'Chạy'.

Step 13 - Tập lệnh sẽ bắt đầu thực thi và người dùng có thể xem lịch sử lệnh trong Tab 'Lịch sử Lệnh'.

Step 14- Trạng thái cuối cùng của ứng dụng được hiển thị như bên dưới. Tỷ lệ phần trăm được tính toán và nó hiển thị kết quả trên màn hình như hình dưới đây.

Step 15- Kết quả của bài kiểm tra được in trên bảng điều khiển Eclipse như hình dưới đây vì chúng tôi đã in kết quả ra bảng điều khiển. Trong thời gian thực, đầu ra được ghi vào tệp HTML hoặc tệp Văn bản đơn giản.