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. Và đã bao giờ bạn tự hỏi tại sao nó đang được sử dụng rộng rãi bởi hầu hết các công ty phần mềm? Nếu bạn vẫn chưa có được câu trả lời này, hãy dành 1 ít thời gian để đọc qua bài viết này, sẽ rất có ích cho sự nghiệp của bạn sau này đấy.

Selenium là gì?

Selenium là một bộ công cụ chuyên dụng trong kiểm thử tự động open source dành cho các ứng dụng web, cũng như hỗ trợ hoạt động trên các trình duyệt có nền tảng khác nhau như Mac, Linux, Windows,.. Với Selenium thì bạn hoàn toàn có thể viết các test script bằng nhiều ngôn ngữ lập trình khác nhau như: Java, PHP, C#, Ruby hoặc Python.

Selenium được sử dụng để có thể tự động hoá cho các thao tác với trình duyệt hoặc dễ hiểu hơn là nó hỗ trợ giả lập lại các tương tác nằm trên trình duyệt tương tự như một người dùng thực thụ. Ví dụ bạn có thể lập trình để tự động bật trình duyệt, mở một đường link, nhập dữ liệu, hay lấy thông tin dữ liệu trên một website nào đó.

Ưu điểm của Selenium

Selenium là công cụ mã nguồn mở (Open-Source), chính vì vậy, bạn có thể sử dụng hoàn toàn 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.

Trước khi đi tìm hiểu chi tiết về Selenium, chúng ta cần tìm hiểu lại chút xíu vì sao lại cần đến kiểm thử tự động (Automation Testing) và liệu rằng đây có phải là xu hướng của tương lai? Hãy cùng iTMS Coaching tìm hiểu chi tiết về những chủ đề bên dưới:

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

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. Selenium RC và WebDriver đã được sáp nhập để tạo ra Selenium 2 .
  • 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.

Tìm hiểu về Selenium IDE

Selenium Integrated Development Environment (IDE), là framework đơn giản nhất và dễ học nhất trong bộ Selenium. Nó là một plug-in chỉ dành cho trình duyệt.

Ưu điểm:

  1. Dễ dàng cài đặt và sử dụng
  2. Không yêu cầu người dùng phải có kỹ năng lập trình, chỉ cần bạn có hiểu biết một chút về HTML và DOM là đã có thể sử dụng được tool rồi.
  3. Có thể export các test đã tạo để sử dụng trong Webdriver hoặc Selenium RC
  4. Có cung cấp chức năng để bạn có thể report kết quả hoặc các hỗ trợ khi sử dụng
  5. Bạn có thể sử dụng tích hợp với các extension khác nữa.

Nhược điểm:

  1. Là 1 extension mà bạn chỉ có thể cài đặt trên trình duyệt Fire Fox
  2. Nó được thiết kể để tạo các test đơn giản hoặc prototype test
  3. Với IDE thì bạn không thể thực hiện được các tính toán, câu lệnh phức tạp, hay có điều kiện.
  4. Hiệu năng hoạt động thì chậm hơn nhiều so với Webdriver và Selenium RC

Selenium Webdriver

Selenium Webdriver được đánh giá là tốt hơn Selenium IDE và Selenium RC trên rất nhiều các khía cạnh. Selenium Webdriver thực hiện automate tương tác với trình duyệt với hướng tiếp cận hiện đại và ổn định hơn. Các tương tác với trình duyệt được gửi trực tiếp từ Selenium driver mà không thông qua Javascript như selenium RC.

Selenium Webdriver hỗ trợ nhiều các ngôn ngữ lập trình như: Java, C#, PHP, Python, Perl và Ruby.

Ưu điểm:

  1. Communicate trực tiếp với trình duyệt
  2. Tương tác với trình duyệt giống như thao tác của một người dùng thật
  3. Tốc độ nhanh hơn so với Selenium IDE
  4. Thao tác dễ dàng hơn với các phép tính toán logic hay các điều kiện phức tạp

Nhược điểm:

  1. Cài đặt phức tạp hơn so với Selenium IDE
  2. Đòi hỏi người dùng phải có kĩ năng lập trình

Trong chương trình đào tạo Automation Test với Selenium tại iTMS Coaching, các học viên sẽ được tập trung học kỹ hơn ở phần Selenium Webdriver này.

Selenium Grid

Về lý thuyết ta có thể hiểu đây là ta xây dựng một Selenium hub dùng để khởi chay nhiều các test thông qua các máy và các trình duyệt khác nhau tại cùng một thời điểm. Có thể hiểu đơn giản thông qua hình dưới đây:

Phân biệt Manual Testing vs Automation Testing

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *