Selenium là một bộ công cụ mạnh mẽ dành cho các nhà phát triển

Đã cập nhật:
Đọc trong 4 phút
Selenium là một bộ công cụ mạnh mẽ dành cho các nhà phát triển
Hình ảnh: selenium.dev
Đăng lại

Các nhà phát triển đã dành vô số giờ để kiểm tra chức năng của một ứng dụng web cả tại chỗ và ngoài cơ sở.

Trước khi có Selenium, tất cả đều được thực hiện theo nghĩa đen: hàng chục người đã thử nghiệm hàng trăm tập lệnh trong tất cả các trình duyệt hiện có, xác định các vấn đề và cố gắng xác định nguyên nhân gây ra sự cố của chúng.

Selenium là gì

Selenium là một bộ công cụ kiểm tra và tự động hóa phần mềm nguồn mở đã trở thành công cụ dẫn đầu trên thực tế.

Làm việc với hầu hết các ngôn ngữ lập trình được hỗ trợ bởi tất cả các hệ điều hành và trình duyệt chính, Selenium hiện đang được sử dụng bởi các công ty như Netflix, Google, HubSpot, Fitbit và hơn thế nữa. Toàn bộ Suite cung cấp một loạt các giải pháp cho các nhiệm vụ và nhu cầu thử nghiệm khác nhau.

Cơ sở hạ tầng Selenium Suit

WebDriver

Trong hầu hết các trường hợp, khi mọi người nói về Selenium, họ có nghĩa là Selenium WebDriver. Phần lớn quá trình phát triển sản phẩm tập trung vào yếu tố này.
Tự động hóa kiểm tra trong WebDriver thường được so sánh với việc lái xe taxi. Có ba thành phần tham gia vào quá trình thử nghiệm và lái xe taxi: khách hàng (kỹ sư thử nghiệm) – ô tô (trình duyệt) – tài xế taxi (WebDriver).

DevOps – Phát triển & Vận hành
DevOps – Phát triển & Vận hành
Đọc trong 4 phút
Ratmir Belov
Journalist-writer

Theo sự tương tự này, trước tiên, lập trình viên nói với trình điều khiển cách tương tác với các phần tử của trình duyệt. Sau đó, WebDriver cung cấp cho trình duyệt (máy) các lệnh giống như sau: khi nút đang hoạt động, hãy nhấp vào nút. Sau đó, trình duyệt cung cấp cho trình điều khiển thông tin về các giá trị và trạng thái của các phần tử web, sau đó sẽ được gửi đến tập lệnh. Nói một cách đơn giản, công cụ Selenium WebDriver được sử dụng để thu thập thông tin và đảm bảo rằng ứng dụng hoạt động chính xác, tức là tài xế biết cách lái xe và biết phải đi đâu.

Selenium IDE

Đây là một phần mở rộng cho Firefox. Nó không được thiết kế để phát triển, rất dễ học và nó hoàn hảo cho các tác vụ tạo mẫu.

Làm việc trong Selenium IDE không yêu cầu kỹ năng lập trình, vì về cơ bản plugin ghi lại các hành động của kỹ sư trong trình duyệt và lặp lại chúng. Các lập trình viên không coi nó như một sản phẩm độc lập, đầy đủ, nhưng nó khá đủ để làm việc với các tập lệnh đơn giản.

Lưới Selenium

Cho phép bạn chạy thử nghiệm song song trên nhiều máy và trình duyệt cùng một lúc. Chức năng chính của công cụ này là tiết kiệm thời gian. Ví dụ, nếu bạn cần chạy 100 bài kiểm tra để thiết lập bốn máy ảo hoặc máy vật lý, thì Selenium Grid sẽ được sử dụng.

Selenium
Hình ảnh: linuxhint.com

Do các tập lệnh của trình duyệt thường chậm, việc sử dụng các kỹ thuật hiệu suất như kiểm tra song song có thể giúp giải quyết vấn đề này. Nó cũng có thể được sử dụng để kiểm tra song song cùng một ứng dụng trên các trình duyệt khác nhau, khi Firefox đang chạy trên một máy tính, Chrome đang chạy trên máy khác, v.v. Có thể tạo các cấu hình khác nhau bằng cách kết hợp các phiên bản trình duyệt và hệ điều hành khác nhau. Không cần phải nói, khi sử dụng trong môi trường sản xuất lớn, Grid tiết kiệm thời gian gấp bốn lần.

Ưu điểm

Selenium không phải là công cụ tự động hóa thử nghiệm duy nhất trên thị trường, nhưng nó là công cụ miễn phí duy nhất có thể cạnh tranh với các sản phẩm trả phí. Katalon Studio là một giải pháp thay thế khả thi, nhưng nó không cung cấp nhiều ngôn ngữ, không chạy trên Linux và không có cơ sở người hâm mộ.

Thiết kế theo hướng miền – Lập trình DDD
Thiết kế theo hướng miền – Lập trình DDD
Đọc trong 5 phút
Ratmir Belov
Journalist-writer

Không có gì ngạc nhiên khi các công ty lớn hơn cũng không vội chuyển sang các trang web trả phí và tặng miễn phí hàng nghìn đô la cho những gì Selenium làm được. Số lượng công ty làm việc với Selenium vượt quá 55 nghìn. Thị phần của nó trong lĩnh vực thử nghiệm và tự động hóa là gần 30%.

Hỗ trợ cho ngôn ngữ, nền tảng, trình duyệt:

  • Java
  • C #
  • PHP
  • Ruby
  • Perl
  • Python
  • JavaScript
  • Objective-C
  • Haskell
  • R
  • Windows
  • Linux
  • Máy Mac
  • Android
  • iOS
  • Google Chrome
  • Internet Explorer
  • Firefox
  • Safari
  • Opera
  • Microsoft Edge
  • HtmlUnitDriver

Nhược điểm

Có lẽ nhược điểm đáng kể duy nhất là Selenium chỉ có thể được sử dụng trong các ứng dụng web. Nhưng đây là một hạn chế chứ không phải là một nhược điểm, vì WinAppDriver có thể được tích hợp vào Selenium để kiểm tra các ứng dụng máy tính để bàn.

Kết luận một chút lịch sử

Năm 2004, Jason Huggins đã tạo ra một khung JavaScript được thiết kế để giải phóng người tạo ra nó khỏi thử nghiệm thủ công lặp đi lặp lại. Sản phẩm, có thể dự đoán đầu tiên là JavaScriptTestRunner, có thể chạy thử nghiệm trực tiếp trong trình duyệt, quản lý các tương tác trang và chạy lại chúng mà không cần nhập thủ công. Công cụ JavaScript này trở nên phổ biến sau khi Huggins, nhận ra toàn bộ tiềm năng của nó, đã biến nó thành mã nguồn mở và đổi tên thành Selenium Remote Control. Phần sáng tạo là cho đến thời điểm đó không có công cụ nào khác cho phép người thử nghiệm giao tiếp với trình duyệt bằng ngôn ngữ lập trình mà họ lựa chọn.

Internet là phát minh vĩ đại nhất của nhân loại
Internet là phát minh vĩ đại nhất của nhân loại
Đọc trong 9 phút
2.6
(5)
Editorial team
Editorial team of Pakhotin.org

Tuy nhiên, rõ ràng là các trình duyệt đang áp dụng các hạn chế bảo mật cho JavaScript, khiến nó không thể sử dụng toàn bộ sức mạnh của công cụ này. Vào thời điểm đó, Google là một người dùng cuồng nhiệt của Selenium và các kỹ sư của nó đã cố gắng hết sức để vượt qua những hạn chế. Một trong số họ, Simon Stewart, bắt đầu làm việc trên một sản phẩm tương tác trực tiếp với các trình duyệt và gọi nó là WebDriver.

Vì vậy, hơn một thập kỷ trước, Selenium đã hợp tác với WebDriver và vĩnh viễn thay đổi cách kiểm tra phần mềm. Trang web chính thức https://www.selenium.dev
Đánh giá bài viết
0,0
0 đánh giá
Xếp hạng bài viết này
Editorial team
Hãy viết ý kiến của bạn về chủ đề này:
avatar
  Thông báo bình luận  
Thông báo về
Nội dung Đánh giá nó Bình luận
Đăng lại