Selenium là một công cụ tự động hóa thử nghiệm phần mềm được sử dụng để kiểm tra ứng dụng web. Nền tảng cho phép người dùng tạo và thực thi các kịch bản thử nghiệm tự động để kiểm tra tính năng của các ứng dụng web trên nhiều trình duyệt hoặc nhiều nền tảng khác nhau.
Selenium cung cấp nhiều ngôn ngữ lập trình giúp cho việc viết và triển khai các kịch bản thử nghiệm trở nên linh hoạt hơn. Bên cạnh đó, Selenium còn hoạt động trên nhiều nền tảng khác nhau, bao gồm:
Sự linh hoạt trong việc hỗ trợ Multiple đã giúp Selenium trở thành một công cụ thử nghiệm tự động phổ biến và mạnh mẽ trong cộng đồng phát triển phần mềm.
Lịch sử phát triển của Selenium bắt đầu từ việc viết Script kiểm thử bằng JavaScript bởi Jason Huggins vào năm 2004 tại ThoughtWorks. Công cụ này được gọi tắt là “JavaScript Test Runner” và dùng để tự động hoá các bước thử nghiệm trên ứng dụng web.
Vào năm 2006, Selenium Remote Control (Selenium RC) chính thức được giới thiệu lần đầu tiên trên thị trường. Selenium RC cho phép người dùng kiểm thử trên nhiều trình duyệt và nền tảng bằng cách sử dụng nhiều ngôn ngữ lập trình khác nhau. Điển hình như Java, C#, Perl, PHP, Python và Ruby.
Đến năm 2008, Selenium WebDriver (ban đầu được gọi là Selenium 2.0) được ra mắt. WebDriver tạo ra một API cho việc tương tác trực tiếp với trình duyệt, đồng thời cung cấp khả năng kiểm thử linh hoạt và hiệu quả hơn.
Năm 2011, Selenium 2.0 và Selenium WebDriver được kết hợp nhằm tạo ra Selenium WebDriver. Sự kiện này đã làm cho Selenium trở thành một trong những công cụ kiểm thử tự động phổ biến nhất trên thị trường.
Cuối cùng, Selenium Grid được nghiên cứu để cung cấp khả năng kiểm thử song song trên nhiều nền tảng và trình duyệt khác nhau. Từ đó, Selenium tiếp tục cập nhật và cải tiến liên tục để đáp ứng nhu cầu sử dụng ngày càng phức tạp trong lĩnh vực kiểm thử tự động trên ứng dụng web.
Đây là một công cụ cung cấp giao diện người dùng đơn giản để ghi, chỉnh sửa và chạy các kịch bản thử nghiệm trên trình duyệt web. Selenium IDE tạo kịch bản thử nghiệm trong thời gian ngắn và hỗ trợ thử nghiệm cơ bản diễn ra thuận lợi hơn.
Đây là thành phần chính của Selenium với khả năng cung cấp API linh hoạt để tương tác với trình duyệt web. WebDriver cho phép người dùng viết mã kiểm thử bằng nhiều ngôn ngữ lập trình và chạy chúng trên các trình duyệt khác nhau.
Công cụ có nhiệm vụ phục vụ cho việc thực thi đồng thời các kịch bản thử nghiệm trên nhiều trình duyệt và hệ thống khác nhau. Selenium Grid cho phép phân phối các kịch bản thử nghiệm trên các thiết bị và môi trường riêng biệt. Từ đó làm tăng hiệu suất và giảm thời gian kiểm thử.
Selenium RC (Remote Control) đã được loại bỏ và thay thế bởi Selenium WebDriver. Tuy nhiên, để hiểu rõ hơn về cấu trúc Selenium trước khi có sự thay đổi này, bạn hãy theo dõi các thành phần chính như sau:
Phiên bản Selenium mới nhất được tối ưu hóa để cung cấp các tính năng và công cụ cần thiết trong việc kiểm thử, tương tác với ứng dụng web. Cụ thể, Selenium đưa ra các phương pháp và hàm để tương tác với các thành phần web như textbox, button, dropdown…
Ngoài ra, Selenium cho phép kiểm tra tính đúng đắn và hiệu suất của các tính năng trên ứng dụng web bằng việc thực thi các kịch bản thử nghiệm tự động. Điều này đảm bảo rằng ứng dụng web có thể hoạt động một cách mượt mà trên nhiều trình duyệt và nền tảng khác nhau.
Selenium được thiết kế để hỗ trợ nhiều nền tảng khác nhau. Trong đó bao gồm các trình duyệt web phổ biến như Chrome, Firefox, Internet Explorer, Edge, Safari và Opera trên các hệ điều hành Windows, MacOS và Linux. Người dùng có thể kiểm thử tính đúng đắn và khả năng tương thích của ứng dụng web trên nhiều môi trường khác nhau một cách toàn diện hơn.
Selenium hỗ trợ nhiều ngôn ngữ lập trình phổ biến như Java, C#, Python, Ruby, JavaScript (sử dụng Node.js), PHP và Perl. Công nghệ cho phép người dùng lựa chọn ngôn ngữ lập trình ưa thích để viết các kịch bản thử nghiệm. Từ đó tạo điều kiện thuận lợi cho việc sử dụng và triển khai Selenium trong môi trường phát triển phần mềm.
Selenium được tích hợp tốt với các công cụ quản lý kiểm thử như JUnit và TestNG cũng như các công cụ CI/CD là Jenkins. Hoạt động này kiến tạo quy trình kiểm thử tự động liền mạch và hiệu quả. Thông qua cách kết hợp Selenium vào quy trình kiểm thử và triển khai dự án phần mềm.
Là một tính năng mạnh mẽ của Selenium cho phép người dùng thực thi song song các kịch bản thử nghiệm trên nhiều trình duyệt và nền tảng khác nhau. Điều này làm tăng hiệu suất và giảm thời gian kiểm thử bằng cách chạy các thử nghiệm đồng thời trên nhiều máy. Selenium Grid có khả năng mở rộng và đamt bảo tính nhất quán trong việc kiểm thử phần mềm.
Dưới đây là một số ưu điểm và nhược điểm của Selenium IDE
Selenium, QTP (QuickTest Professional, hiện đã đổi tên thành UFT – Unified Functional Testing) và RFT (Rational Functional Tester) đều là các công cụ phổ biến được sử dụng để kiểm thử tự động, tuy nhiên cả hai đều có các tính chất khác nhau. Dưới đây là cách so sánh giữa Selenium, QTP/UFT và RFT theo một số tiêu chí cơ bản:
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE