Selenium hiện đang là một công cụ nổi tiếng đối với những người làm trong ngành kiểm thử phần mềm tự động. Bài viết về tổng quan của Selenium để tiếp cận và sử dụng Selenium sử dụng trong Automation Test hiệu quả.
Selenium là gì?
Selenium là một công cụ mã nguồn mở (open-source tool) được sử dụng để tự động hóa trong quá trình kiểm thử phần mềm trên trình duyệt (web browser).
Selenium có những loại nào?
Selenium gồm 4 loại cơ bản sau:
Selenium IDE (Integrated Development Environment): đây là một plug-in trên trình duyệt Firefox, được sử dụng để record và xem lại các thao tác của một quy trình hay test case.
Selenium RC (Remote Control) khởi động server và tương tác với trình duyệt. Tuy nhiên, đây là một phiên bản cũ và không còn được sử dụng.
Selenium WebDriver được dùng để thực hiện kiểm thử tự động ở trình duyệt mà không cần chạy qua một server khác như Selenium RC.
Selenium Grid cho phép chạy nhiều kịch bản test case trên nhiều máy, nhiều hệ điều hành và nhiều trình duyệt khác nhau cùng một thời điểm.
Dòng lịch sử phát triển của Selenium
Đây là những sự kiện chính trong quá trình phát triển của Selenium. Những sự kiện đưa Selenium từ khi là một dự án nội bộ đến khi trở thành một tiêu chuẩn trong Automation Test.
2004
Jason Huggins làm việc tại ThoughtWorks (Đây là một công ty phần mềm) cần thực hiện các công việc của anh ấy thông qua trình duyệt.
Huggins đã phát triển tool bằng cách sử dụng JavaScript cho phép người dùng có thể viết code để việc tương tác với trình duyệt. Thời điểm đó Selenium được đặt tên là JavaScript TestRunner.
Sau đó không lâu, Paul Hammant đã nhìn thấy bản demo và bắt đầu có ý tưởng open source Selenium.
2005
Trong thời điểm đó, không chỉ ở nội bộ ThoughtWorks. Tại Bea, Dan Fabulich và Nelson Sproul đã cùng nhau tạo ra Selenium RC.
2006 Selenium IDE Made in Japan ra đời
Shinya Kasatani đã nhận ra anh ấy có thể đưa code vào IDE module vào trình duyệt Firefox. IDE có thể record và playback trong cùng một plugin.
2007 Selenium WebDriver (Selenium 2.0)
Trở lại với ThoughWorks, Simon Stewart đã tích cực tạo ra những “driver” chuyên biệt cho mọi loại trình duyệt phổ biến. Dự án này đã thành công và trở nên nổi tiếng với cái tên WebDriver như hiện nay.
2008
Tại ThoughtWorks, Philippe Hanrigou đã tạo ra các server cho phép tester có thể truy cập và chạy trên các phiên bản trình duyệt khác nhau trên nhiều thiết bị cùng một lúc. Dự án này được gọi là Grid.
2016
Selenium RC không được sử dụng nữa. WebDriver trở thành tiêu chuẩn cho automation test – aka Selenium 3.0.
2019
WebDriver trở thành tiêu chuẩn protocol của W3C.
Ưu điểm và hạn chế của Selenium
Những ưu điểm của Selenium
Như đã viết ở trên, Selenium là công cụ mã nguồn mở nên ưu điểm đầu tiên và quan trọng đó là miễn phí.
Bên cạnh đó còn có một vài lý do sau:
- Kịch bản test (test scripts) có thể viết bằng nhiều ngôn ngữ lập trình đang phổ biến hiện nay như: Java, Python, C#, Ruby, Perl và .Net.
- Test có thể chạy ở nhiều hệ điều hành: Windows, Mac và Linux.
- Hỗ trợ đa dạng nhiều loại trình duyệt như Mozilla Firefox, Internet Explorer (IE), Google Chrome, Safari hoặc Opera.
- Có thể tích hợp với các công cụ như TestNG và Junit để quản lý test case và tạo báo cáo test.
- Được tích hợp với Maven, Jenkins và Docker.
Tuy nhiên Selenium vẫn còn những điểm hạn chế sau:
- Selenium chỉ có thể sử dụng để test ở trình duyệt (browser), không thể test ở các phần mềm khác.
- Selenium là open-source, không có gì đảm bảo rằng Selenium sẽ tồn tại mãi mãi, hiện nay Selenium vẫn dựa vào đóng góp của cộng đồng.
- Không thể thực hiện test với hình ảnh. Tuy nhiên vẫn có thể tích hợp Selenium với Sikuli để khắc phục.
- Selenium không thể tạo báo cáo kết quả riêng. Nhưng chúng ta có thể tạo báo cáo bằng cách tích hợp Selenium với các frameworks khác như TestNG hoặc Junit.
Tham khảo:
Selenium: Definition, How it works and Why you need it | BrowserStack
What is Selenium? Getting started with Selenium Automation Testing (edureka.co)