Selenium RC có rất nhiều hạn chế dẫn đến sự phát triển của Selenium WebDriver.
Xem sự khác biệt chính giữa Selenium RC và Selenium WebDriver:
Kiến trúc
Kiến trúc của Selenium RC rất phức tạp vì nó sử dụng một RC Server trung gian để giao tiếp với trình duyệt. RC Server được cài đặt ban đầu trước khi chạy các tập lệnh thử nghiệm và đóng vai trò trung gian giữa các lệnh Selenium và trình duyệt của bạn.
Các bài viết liên quan:
Khi chúng tôi thực thi một tập lệnh thử nghiệm trong Selenium RC, các hoạt động sau được thực hiện nội bộ.
- Máy chủ đưa một chương trình JavaScript được gọi là Selenium Core vào trình duyệt.
- Sau đó, Selenium Core sẽ bắt đầu nhận các lệnh (lệnh Selenium) từ RC Server.
- Khi nhận được tất cả các hướng dẫn, Selenium Core sẽ thực thi chúng dưới dạng các lệnh JavaScript .
- Các lệnh JavaScript này hoạt động như hướng dẫn cho trình duyệt.
- Trình duyệt sẽ thực thi tất cả các hướng dẫn được cung cấp bởi Selenium Core và trả về một bản tóm tắt tổng thể cho Máy chủ. Bản tóm tắt tổng thể này đóng vai trò là kết quả cuối cùng được hiển thị trên màn hình người dùng.
Kiến trúc của Selenium WebDriver đơn giản hơn so với Selenium RC.
Trình duyệt được điều khiển trực tiếp từ cấp Hệ điều hành (Operating System). Các yêu cầu cơ bản để chạy tập lệnh thử nghiệm trên WebDriver là:
- Một IDE (Môi trường phát triển tích hợp) với bất kỳ ngôn ngữ lập trình nào được hỗ trợ như Java, C #, v.v.
- Trình duyệt để thực thi các hướng dẫn được tạo bởi tập lệnh thử nghiệm.
Xem thêm Selenium WebDriver – tạo một test case đầu tiên
Tốc độ
Selenium WebDriver hoạt động nhanh hơn Selenium RC vì nó tương tác trực tiếp với trình duyệt mà không cần sử dụng bất kỳ máy chủ proxy bên ngoài nào. Mặt khác, Selenium RC sử dụng một RC Server trung gian để giao tiếp với trình duyệt.
Việc thực thi các tập lệnh thử nghiệm trong Selenium RC mất nhiều thời gian hơn so với WebDriver, vì nó sử dụng các lệnh JavaScript làm hướng dẫn cho trình duyệt.
Hướng đối tượng
Selenium WebDriver hoàn toàn là API hướng đối tượng, trong khi Selenium RC là API hướng đối tượng ít hơn.
WebDriver hoàn toàn dựa trên các ngôn ngữ lập trình hướng đối tượng như Java, C #, v.v.
Thử nghiệm các ứng dụng di động
Selenium WebDriver hỗ trợ OS (Hệ điều hành) cho các ứng dụng di động như iOS, windows mobile và android. Mặt khác, Selenium RC không hỗ trợ thử nghiệm các ứng dụng di động.
Hỗ trợ trình duyệt
Selenium WebDriver cũng hỗ trợ trình duyệt HTMLUnit không đầu (Invisible Browser).
Lưu ý: HTMLUnit là một trình duyệt vô hình tạo điều kiện cho việc thực hiện các bài kiểm tra nhanh hơn vì nó không mất thời gian chờ đợi các phần tử trang tải.
Selenium RC không hỗ trợ trình duyệt HTMLUnit không đầu vì nó cần một trình duyệt thực để hoạt động.
Xem thêm Selenium WebDriver- hướng dẫn testing trên trình duyệt web