2 thành phần chính của Selenium RC là:
- Máy chủ Selenium: Thực hiện phân tích và chạy các lệnh được gửi đến từ ứng dụng cần kiểm thử và các thao tác như HTTP proxy, phân tích và xác minh các thông điệp HTTP giữa trình duyệt và ứng dụng cần kiểm tra.
- Các thư viện máy khách: Cung cấp giao tiếp giữa ngôn ngữ lập trình và máy chủ Selenium RC.
Máy chủ Selenium
Máy chủ Selenium nhận lệnh từ chương trình kiểm thử Selenium, thực hiện biên dịch nó và gửi lại thông báo kết quả của việc chạy các test case.
Máy chủ Selenium được tích hợp Selenium Core và tự động đưa nó vào trình duyệt. Điều này xảy ra khi chương trình được kiểm thử mở trên trình duyệt (sử dụng một chức năng thư viện máy khách API). Selenium-Core là một chương trình JavaScript, thực tế là một tập các chức năng JavaScript dùng để biên dịch và thực thi các lệnh Selenese sử dụng trình duyệt trong thông dịch JavaScript.
Máy chủ nhận các lệnh Selenese từ chương trình được kiểm thử sử dụng các đề nghị HTTP GET/POST đơn giản. Điều này có nghĩa là chúng ta có thể sử dụng mọi ngôn ngữ lập trình có khả năng gửi yêu cầu HTTP tới các kịch bản kiểm thử tự động trên trình duyệt.
Các thư viện máy khách
Các thư viện máy khách cung cấp giao diện hỗ trợ lập trình, cho phép chạy lệnh Selenium từ chương trình của chúng ta. Các thư viện máy khách hỗ trợ cho các ngôn ngữ lập trình khác nhau thì khác nhau. Giao diện lập trình (API) là một tập các chức năng chạy lệnh Selenium từ chương trình của chúng ta, trong mỗi giao diện có một chức năng lập trình hỗ trợ lệnh Selenium.
Thư viện máy khách sử dụng lệnh Selenese và chuyển tới máy chủ Selenium để xử lý các hoạt động cụ thể và kiểm tra ngược lại với các ứng dụng cần kiểm tra. Thư viện máy khách cũng nhận kết quả của lệnh và chuyển trở lại chương trình của chúng ta. Chương trình có thể nhận kết quả và lưu nó vào một biến chương trình và thông báo trở lại thành công hay thất bại hoặc có thể thực thi các hành động trực tiếp nếu nó là các lỗi không được mong đợi.
Để thực hiện kiểm thử một chương trình, ta cần viết một chương trình chạy một tập lệnh Selenese sử dụng thư viện khách API và nếu đã có một kịch bản kiểm thử được tạo bởi Selenium IDE, ta có thể sử dụng chức năng “Export the Selenium RC Code”. Selenium-IDE có thể biên dịch các lệnh Selenium của nó một các hàm gọi API của Drive khách.