Selenium là gì? Tổng quan những thông tin cần biết về Selenium

1917
28-03-2022
Selenium là gì? Tổng quan những thông tin cần biết về Selenium

Kiểm thử là giai đoạn quan trọng nhất trong vòng đời phát triển phần mềm. Trong đó, Selenium được biết đến là công cụ kiểm thử phổ biến được sử dụng rộng rãi trong cộng đồng kiểm thử trên toàn cầu. Để hiểu rõ Selenium là gì cùng những kiến thức tổng quan về công cụ kiểm thử tự động này, hãy cùng Bizfly Cloud tìm hiểu sâu hơn trong bài viết dưới đây nhé!

Selenium là gì? 

Selenium là một bộ công cụ kiểm thử tự động (Automation Testing) mã nguồn mở hoàn toàn miễn phí và hỗ trợ hoạt động trên trình duyệt có nhiều nền tảng khác nhau như Linux, Windows, Mac,... cho các ứng dụng web. Với Selenium, bạn hoàn toàn có khả năng viết các test script bằng nhiều loại ngôn ngữ lập trình phổ biến khác nhau như C#, Java, Ruby, Java, Python, PHP, Perl, Javascript,...

Selenium khá giống với HP Quick Test nhưng điểm khác biệt lớn nhất của Selenium chính là khả năng dựa trên nền tảng web để tập trung vào tự động hoá các ứng dụng. Kiểm thử Selenium không chỉ là một công cụ độc lập mà nó còn là một bộ công cụ của phần mềm. Mỗi bộ công cụ sẽ phục vụ cho từng yêu cầu kiểm thử khác biệt.

Selenium là một bộ công cụ phần mềm chuyên dụng có khả năng Automation Testing

Selenium là một bộ công cụ phần mềm chuyên dụng có khả năng Automation Testing

Lịch sử phát triển Selenium 

Để có thể hiểu rõ ràng hơn khái niệm Selenium là gì thì bạn nên tìm hiểu thêm về lịch sử phát triển của công cụ này:

  • Selenium là công cụ thử nghiệm các ứng dụng web được phát triển vào năm 2004 bởi lập trình viên Jason Huggins làm việc tại tại Th ThinkWorks với tên gọi là JavaScript Test Runner. Ông đã phát triển thư viện Javascript để chạy tự động các test trên nhiều trình duyệt. Đây chính là cơ sở để Selenium IDE và Selenium RC ra đời.
  • Năm 2006, Simon Stewart - một nhân viên của Google tiếp tục phát triển Selenium với công việc được đặt tên là WebDriver. Nhờ có công cụ này, Google đã nhận được một lượng người sử dụng Selenium rất lớn nhưng đứng trước những hạn chế của sản phẩm thì các tester vẫn phải làm việc rất vất vả.
  • Năm 2008, Selenium và WebDriver chính thức được kết hợp bởi Selenium đang dần lớn mạnh và WebDriver lại là công cụ của tương lai. Với sự kết hợp này, người dùng được cung cấp một tệp những tính năng lớn.

Cái tên Selenium xuất hiện từ một trò đùa của Huggins dành cho Mercury (công ty đã từng tạo ra một framework thử nghiệm phổ biến hơn khi Selenium đang trong quá trình phát triển) - đối thủ cạnh tranh của mình.

Lịch sử phát triển Selenium

Mục đích sử dụng Selenium 

Selenium thường được sử dụng cho những mục đích chính và phổ biến dưới đây:

  • Selenium có thể automate cho các thao tác với trình duyệt hay đơn giản hơn là giả lập các trang tương tác thuộc trình duyệt tương tự như một người dùng thực. Do đó, bạn có thể chủ động lập trình để bật các trình duyệt, mở link, đăng nhập dữ liệu, tải dữ liệu một cách tự động từ một web page hay một get into page.
  • Selenium là tùy biến nên bạn có thể sử dụng và làm nhiều thứ để tận dụng tối đa sức mạnh của phần mềm này. Bên cạnh mục đích kiểm thử, bạn có thể tự xây dựng cho doanh nghiệp mình một project để tiến hành automate cho những công việc nhàm chán hay công việc lặp đi lặp lại.

Một số tính năng nổi bật của Selenium

Selenium là phần mềm mã nguồn mở với nhiều tính năng hữu ích như:

- Hỗ trợ nhiều trình duyệt

Selenium hỗ trợ nhiều trình duyệt khác nhau (Google Chrome, Mozilla Firefox, MS Edge, Opera và Safari) để thực thi các test case.

- Khả năng tương thích đa ngôn ngữ

Selenium hỗ trợ nhiều ngôn ngữ lập trình khác nhau (Java, Python, C # .Net, Ruby, JavaScript và Kotlin) để viết các trường hợp kiểm tra

- Tính linh hoạt (Khả năng làm việc với các Hệ điều hành khác nhau)

Selenium là phần mềm di động. Nó có thể hoạt động với các Hệ điều hành khác nhau như Linux, Mac, UNIX và Windows.

- Selenium hỗ trợ thực hiện kiểm thử song song giúp giảm thời gian và tăng hiệu quả của các kiểm thử.

- Dễ dàng nhận dạng và sử dụng các Web Element

Selenium giúp dễ dàng xác định các Web Element trên ứng dụng web với sự trợ giúp của một số locator. Điều này giúp cho việc triển khai các element dễ dàng hơn nhiều trong bộ tự động hóa kiểm thử. Có nhiều Selenium IDE khác nhau mà bạn có thể thêm vào web của mình thông qua các extension.

- Khả năng tái sử dụng và các tính năng bổ sung

Tất cả các script được viết với sự hỗ trợ của Selenium đều có khả năng hỗ trợ kiểm tra tính tương thích của trình duyệt. Các plugin bổ sung giúp mở rộng phạm vi thử nghiệm ứng dụng và chúng có thể tùy chỉnh.

- Không cần cài đặt máy chủ

Bạn không cần cài đặt máy chủ cho Selenium. Selenium có thể tương tác trực tiếp với trình duyệt.

- Sử dụng một ngôn ngữ cho các kiểm thử

Selenium sử dụng DSL để kiểm thử các ứng dụng web. Ngôn ngữ này bao gồm 200 câu lệnh và là một ngôn ngữ lập trình dễ học.

- Kiểm thử dễ dàng

Selenium cho phép người dùng tự động hóa các tập lệnh kiểm thử trên các thiết bị khác nhau như Android, iPhone, v.v.

Những thành phần quan trọng của Selenium

Selenium là một phần mềm chuyên dụng hỗ trợ thực hiện kiểm thử mà ở đó, mỗi thành phần sẽ đáp ứng từng nhu cầu kiểm thử khác nhau. Về cơ bản, Selenium bao gồm bốn thành phần quan trọng sau:

  • Selenium IDE (Integrated Developer Environment): Thành phần này là một plug-in nằm trên trình duyệt Firefox dựa trên một test case hay một quy trình bất kỳ để thực hiện việc record hay play lại các thao tác.
  • Selenium RC (Remote Control): Đây là thành phần có khả năng hỗ trợ các Selenium Server hoạt động và tương tác với các trình duyệt web.
  • Selenium WebDriver: Nhiệm vụ của thành phần này là tiến hành gửi lệnh khởi chạy và thực hiện tương tác với các trình duyệt một cách trực tiếp mà không cần phải thông qua bất kỳ server nào như RC.
  • Selenium Grid: Được sử dụng với mục đích khởi chạy các kiểm thử, Selenium Grid có thể thực hiện thông qua các trình duyệt cũng như các máy khác nhau trong cùng một thời điểm được xác định.

Tuy có bốn thành phần nhưng do tính chất giống nhau nên Selenium team đã quyết định kết hợp Selenium RC và Selenium WebDriver lại với nhau để khởi tạo Selenium với những tính năng hiện đại hơn và mạnh mẽ hơn. Và hầu hết các Selenium Project đều lựa chọn sử dụng Selenium 2.

Mỗi thành phần của Selenium sẽ đáp ứng từng nhu cầu kiểm thử khác nhau

Mỗi thành phần của Selenium sẽ đáp ứng từng nhu cầu kiểm thử khác nhau

Ưu, nhược điểm nổi bật của Selenium 

Một Selenium thường có những ưu, nhược điểm như sau:

- Ưu điểm:

  • Quá trình cài đặt và sử dụng Selenium vô cùng đơn giản.
  • Cấu hình phần cứng không yêu cầu quá cao.
  • Hỗ trợ đa dạng trình duyệt, hệ điều hành và các ngôn ngữ lập trình.
  • Bộ API được cung cấp hoàn thiện
  • Một bộ test lớn được tạo ra với nhiều bài test nhỏ hơn để tiết kiệm thời gian.
  • Thay vì phải sử dụng một nguồn nhân lực cố định thực hiện kiểm thử tốn thời gian thì Selenium có thể tự động kiểm thử nhanh chóng.

- Nhược điểm:

  • Thành phần Selenium IDE chỉ có thể sử dụng được trên trình duyệt FireFox nhưng tương lai có thể hỗ trợ cho nhiều trình duyệt hơn nữa.
  • Selenium IDE không thể thực hiện việc tính toán hay những câu lệnh mang tính phức tạp.
  • Quá trình cài đặt Selenium WebDriver cần tiêu tốn nhiều thời gian và người thực hiện phải có kinh nghiệm.
  • Nếu bạn chạy kiểm thử nhiều hơn so với giới hạn đáp ứng của phần cứng thì quá trình test sẽ không trả về kết quả tốt thậm chí còn bị đứng máy.
  • Để có thể sử dụng hiệu quả Selenium, bạn phải là người có nhiều kinh nghiệm cũng như kỹ năng lập trình.
  • Do không có bộ phận hỗ trợ chuyên dụng nên các dự án thương mại thường gặp lỗi khi triển khai. Và bạn cần phải tìm bên thứ ba để được hỗ trợ.
  • Selenium chỉ hỗ trợ cho các ứng dụng web.
Ưu, nhược điểm nổi bật của Selenium

So sánh Selenium với QTP và RFT 

Bên cạnh Selenium thì còn hai công cụ hỗ trợ kiểm thử khác cũng phổ biến không kém là QTP và RFT. Thực hiện so sánh các công cụ này sẽ giúp bạn đưa ra được sự lựa chọn phù hợp nhất.

  • Selenium: Do là ứng dụng mã nguồn mở nên người dùng có thể sử dụng chúng hoàn toàn miễn phí với mức độ tiêu thụ phần cứng rất thấp. Môi trường hỗ trợ của Selenium vô cùng đa dạng bao gồm Windows, OS, Linux, JVM,... tương ứng với các ngôn ngữ lập trình là Java, C#, Python, Ruby, PHP, Perl, Javascript,...Tuy nhiên, Selenium không có đội ngũ hỗ trợ và yêu cầu người thực hiện phải có kinh nghiệm cũng như kỹ năng lập trình.
  • QTP và RPT: Các công cụ này đều yêu cầu bản quyền với chi phí cao và mức tiêu thụ phần cứng lớn hơn rất nhiều so với Selenium. Ngoài ra, môi trường hỗ trợ của hai công cụ này chỉ dừng lại tại Windows với ngôn ngữ lập trình nghèo nàn là VB Script, Java và C#. Tuy nhiên, QTp và RPT lại có bộ phận hỗ trợ chuyên nghiệp.

Qua phần so sánh này có thể thấy sự vượt trội của Selenium về sự miễn phí và tiết kiệm tài nguyên. Đương nhiên để đáp ứng được sự miễn phí này thì bạn phải có kỹ năng và kinh nghiệm lập trình chuyên nghiệp.

Tuỳ theo những điều kiện thực tế của dự án hay đặc thù kiểm thử mà bạn có thể lựa chọn cho mình những công cụ phù hợp. Bên cạnh Selenium vẫn còn khá nhiều phần mềm kiểm thử phổ biến khác nhưng vị trí của Selenium sẽ không thể phai mờ với các Tester. Với những chia sẻ hữu ích của Bizfly Cloud chắc chắn đủ để bạn hiểu rõ Selenium là gì cũng như những nội dung cần thiết cho việc sử dụng phần mềm hỗ trợ kiểm thử ứng dụng web này.

Bizfly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

Bizfly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của Bizfly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

TAGS: Selenium
SHARE