Selenium là gì? Tìm hiểu về bộ công cụ Selenium

Kiểm thử là quy trình tiến độ quan trọng nhất trong vòng đời tăng trưởng ứng dụng và tiềm năng chính của nó là bảo vệ ứng dụng không có lỗi, phân phối được nhu yếu của người mua. Kiểm thử là một quy trình rất khó khăn vất vả vì nó tương quan đến việc triển khai thủ thông những trường hợp kiểm thử so với những ứng dụng khác nhau để phát hiện lỗi và sai sót .
Nhưng nếu tất cả chúng ta hoàn toàn có thể tự động hóa quy trình kiểm thử thì sao ? Điều đó sẽ làm cho quy trình bớt đơn điệu hơn và Selenium làm được điều này. Hãy cùng chúng tôi tìm hiểu và khám phá về Selenium là gì, nhưng thứ nhất hãy xem những thử thách so với kiểm thử bằng tay thủ công

Những thử thách so với kiểm thử bằng tay thủ công

selenium là gì

Kiểm thử thủ công là một trong những cách cơ bản của kiểm thử phần mềm. Nó không yêu cầu kiến thức về bất kỳ công cụ kiểm thử nào và thực tế có thể kiểm thử bất kỳ ứng dụng nào.

Trình kiểm thử thực thi thủ công bằng tay những test case so với những ứng dụng và so sánh hiệu quả trong thực tiễn với tác dụng mong ước. Bất kỳ sự độc lạ nào giữa 2 điều này đều được coi là lỗi và được khắc phục ngay lập tức. Các kiểm thử sau đó được chạy lại để bảo vệ một ứng dụng trọn vẹn không có lỗi .
Kiểm thử thủ công bằng tay có điểm yếu kém riêng của nó, tuy nhiên một vài trong số đó hoàn toàn có thể gồm có :

  • Cực kỳ tốn thời gian
  • Nguy cơ sai sót cao
  • Yêu cầu sự có mặt của tester 24/7
  • Yêu cầu tạo nhật ký thủ công
  • Có phạm vi giới hạn

Sự Open của Selenium

Jason Huggins, một kỹ sư tại ThoughtWorks, Chicago, nhận thấy việc kiểm thử bằng tay thủ công lặp đi tái diễn và nhàm chán. Anh ấy đã tăng trưởng một chương trình Javascript để tự động hóa kiểm thử ứng dụng web, được gọi là JavaScriptTestRunner .
Ban đầu, ý tưởng mới được tiến hành bởi những nhân viên cấp dưới tại Thoughtworks. Tuy nhiên, vào năm 2004, nó được đổi tên thành Selenium và trở thành mã nguồn mở. Kể từ khi xây dựng, Selenium đã là một công cụ kiểm thử tự động hóa can đảm và mạnh mẽ để kiểm tra những ứng dụng web khác nhau trên những nền tảng khác nhau .

Selenium là gì?

selenium la gì

Selenium là công cụ kiểm thử tự động hóa mã nguồn mở được sử dụng để kiểm tra những ứng dụng web trên nhiều trình duyệt khác nhau. Thật không may, Selenium chỉ hoàn toàn có thể kiểm tra những ứng dụng web, thế cho nên không hề kiểm tra những ứng dụng dành cho máy tính để bàn và thiết bị di động. Tuy nhiên những công cụ khác như Appium và QTP hoàn toàn có thể được sử dụng để triển khai những điều đó .

Tại sao Selenium được sử dụng thoáng rộng

  • Dễ sử dụng vì chủ yếu được phát triển bằng Javascript
  • Có thể kiểm thử ứng dụng web trên nhiều trình duyệt khác nhau như Firefox, Chrome, Opera và Safari.
  • Các bài kiểm thử có thể được mã hóa bằng một số ngôn ngữ lập trình như Java, Python, Perl, PHP, Ruby.
  • Selenium độc lập với nền tảng, có nghĩa là nó có thể triển khai trên Windows, Linux…
  • Tích hợp được với các công cụ như JUnit và TestNG để quản lý kiểm thử

Bộ công cụ Selenium

Selenium IDE

Selenium IDE

Được Shinya Kasatani tăng trưởng vào năm 2006, Selenium IDE là một tiện ích lan rộng ra dành cho Firefox, Chrome giúp tự động hóa công dụng. Thông thường, IDE ghi lại những tương tác của người dùng trên trình duyệt và xuất chúng dưới dạng tập lệnh hoàn toàn có thể tái sử dụng .
IDE được tăng trưởng để tăng vận tốc tạo những tập lệnh tự động hóa. Đây là một công cụ tạo mẫu nhanh và hoàn toàn có thể được sử dụng bảo những kỹ sư không có kiến thức và kỹ năng về lập trình .
IDE đã ngừng tăng trưởng vào tháng 8 năm 2017 khi Firefox tăng cấp lên phiên bản Firefox 55 mới, không còn tương hỗ Selenium IDE. Applitools đã viết lại Selenium IDE cũ và phát hành phiên bản mới vào năm 2019. Phiên bản mới nhất có 1 số ít nâng cấp cải tiến .
Selenium IDE vẫn còn gặp phải 1 số ít thiếu sót sau :

  • Không hỗ trợ kiểm thử theo hướng dữ liệu
  • Không thực hiện được kiểm tra cơ sở dữ liệu
  • Không cung cấp được báo cáo kiểm thử chi tiết
  • Không thể xuất sang tập lệnh Webdriver

Selenium Remote Control ( RC )

selenium rc

Paul Hammant đã tăng trưởng Selenium RC. Ban đầu, một công cụ có tên là Selenium-Core được kiến thiết xây dựng. Đó là một tập hợp những hàm Javascript diễn giải và thực thi những lệnh Selenese bằng trình thông dịch Javascript tích hợp của trình duyệt. Selenium-Core sau đó được đưa vào trình duyệt web .
Bây giờ, hãy xem xét một Javascript, test.js được sử dụng bởi google.com. Chương trình này hoàn toàn có thể truy vấn những trang như google.com/mail hoặc google.com/login trong miền google.com .
Tuy nhiên, chương trình không hề truy vấn những thành phần của những tên miền khác nhau như yahoo.com. Các bản sao cục bộ của Selenium – Core và trình duyệt web phải được setup đẻ chúng cùng thuộc về một miền. Đây được gọi là Same Origin Policy và Selenium RC đã được ra mắt để xử lý yếu tố hạn chế này. Máy chủ hoạt động giải trí như một proxy HTTP được định thông số kỹ thuật máy khách và “ lừa ” trình duyệt tin rằng Selenium Core và ứng dụng web đang được kiểm thử đến từ cùng nguồn gốc .
Do đó, Selenium RC là một sever được viết bằng Java, phân phối năng lực viết những bài kiểm thử ứng dụng bằng nhiều ngôn từ lập trình khác nhau như Java, C #, Perl … Máy chủ RC đồng ý những lệnh từ chương trình người dùng và chuyển chúng tới trình duyệt dưới dạng những lệnh Javascript Selenium-Core

Selenium WebDriver

selenium webdriver

Được phát triển bởi Simon Stewart vào năm 2006, Selenium WebDriver là framework kiểm thử đa nền tảng đầu tiên có thể định cấu hình và kiểm soát các trình duyệt ở cấp hệ điều hành. Nó phục vụ như một giao diện lập trình để tạo và chạy các test case

Không giống như Selenium RC, WebDriver không nhu yếu một công cụ cốt lõi như RC và tương tác tự nhiên với những ứng dụng trình duyệt. WebDriver cũng tương hỗ nhiều ngôn từ lập trình khác nhau như Python, Ruby, PHP và Perl, trong số những ngôn từ khác và hoàn toàn có thể được tích hợp với những framwork như TestNG và JUnit để quản trị kiểm thử .
Kiến trúc của Selenium WebDriver rất đơn thuần và dễ hiểu :

  • Selenium test script: Tập lệnh kiểm thử Selenium được viết bằng bất kỳ ngôn ngữ lập trình nào cí thể là Java, Perl, PHP hoặc Python mà trình điều khiển có thể hiểu được.
  • JSON Wire Protocol: Cung cấp cơ chế vận chuyển để truyền dữ liệu giữa máy chủ và máy khách. Giao thức này phục vụ như một tiêu chuẩn công nghiệp cho các dịch vụ Web khác nhau
  • Browser Driver: Selenium sử dụng driver dành riêng cho từng trình duyệt để thiết lập kết nối an toàn.
  • Browsers: Selenium WebDriver hỗ trợ các trình duyệt web khác nhau để kiểm thử và chạy các ứng dụng trên đó.

Selenium Grid

Selenium Grid

Patrick Lightbody đã tăng trưởng một Grid với tiềm năng chính là giảm thiểu thời hạn triển khai kiểm thử. Điều này được tạo điều kiện kèm theo thuận tiện bằng cách phân phối đồng thời những lệnh kiểm thử cho những máy khác nhau. Selenium Grid được cho phép thực thi song song những kiểm thử trên những trình duyệt khác nhau và những hệ quản lý và điều hành khác nhau. Grid đặc biệt quan trọng linh động và tích hợp với những thành phần khác của bộ ứng dụng để thực thi đồng thời .
Grid gồm có một TT được liên kết với 1 số ít nút. Nó nhận bài kiểm thử để thực thi cùng với thông tin về hệ quản lý và trình duyệt sẽ chạy trên đó và chọn một nút tương thích với nhu yếu ( trình duyệt và nền tảng ), chuyển bài kiểm thử đến nút đó. Nút hiện chạy trình duyệt và thực thi những lệnh selen bên trong nó

Ưu, điểm yếu kém của Selenium

Ưu điểm

  • Chính xác với kết quả đo, do đó làm cho nó cực kỳ đáng tin cậy
  • Vì Selenium là mã nguồn mở, nên những người bắt đầu đều có thể sử dụng miễn phí
  • Hỗ trợ nhiều ngôn ngữ lập trình
  • Hỗ trợ nhiều trình duyệt khác nhau như Chrome, Firefox
  • Rất dễ triển khai và không yêu cầu kiến thức chuyên sâu
  • Nhiều tiện ích và khả năng tái sử dụng

Nhược điểm

  • Do là mã nguồn mở nên không có cộng đồng nhà phát triển, không có hỗ trợ kỹ thuật đáng tin cậy
  • Không thể kiểm thử các ứng dụng dành cho thiết bị di động, máy tính để bàn
  • Hỗ trợ hạn chế kiểm tra hình ảnh
  • Selenium có hỗ trợ hạn chế cho việc quản lý kiểm thử.

    Selenium thường được tích hợp với các công cụ như JUnit và TestNG cho mục đích này

  • Bạn có thể cần kiến ​​thức về ngôn ngữ lập trình để sử dụng Selenium.

5/5 – ( 2 bầu chọn )