Selenium là gì? Những điều cần biết về selenium?

0
28

Selenium là gì? Câu hỏi được đông đảo cư dân mạng đặt ra trong thời gian vừa qua. Liệu Selenium có ảnh hưởng như thế nào đến cuộc sống và công việc của chúng ta? bài viết sau đây sẽ là những chia sẻ của chúng tôi về những điều cần biết về Selenium. răng rằng phần nào đó sẽ giúp bạn giải đáp được những vấn đề liên quan đến thuật ngữ này.

Vậy Selenium là gì?

Chúng ta trong quá trình sử dụng internet, chắc chắn sẽ thường xuyên sử dụng các webbrowser như: Opera, Chrome, Firefox, Safari,.. để lướt web. Trong số đó đôi khi phát sinh những thao tác lặp đi lặp lại như tạo tài khoản google, facebook hay đơn giản là dowload hàng chục bộ phim mà mình thích.Selenium là gì?

Selenium là gì? – Nguồn internet

Nếu là những người bình thường khi lướt web thì họ sẽ làm mọi thứ hoàn toàn bằng tay. Một số người bất bình thường hơn một chút thì họ dùng những plugin có sẵn của các webbrowser như IMacro để lưu lại các thao tác chuột và bàn phím của bạn trên trình duyệt web sau đó lặp lại đúng những gì bạn đã làm. Nhưng nó vẫn có nhiều hạn chế như việc đổi cookie, profile, take IP và các thao tác phức tạp khác cần tới việc lập trình sâu và linh hoạt hơn.Thì lúc này, với các lập trình viên “phi thường”, học sẽ sử dụng một công cụ mạnh mẽ đó là Selenium.

Selenium là một bộ kiểm thử tự động mã nguồn mở miễn phí cho các ứng dụng web trên các trình duyệt và nền tảng khác nhau. Nó khá giống với HP Quick Test Pro (QTP) nhưng Selenium chỉ tập trung vào việc tự động hóa các ứng dụng trên web. Kiểm thử được thực hiện bằng công cụ Selenium được gọi là công cụ Selenium Testing

Selenium là gì?

Selenium là gì?-nguồn internet

Selenium gồm nhiều công cụ với cách tiếp cận khác nhau để hỗ trợ kiểm thử tự động. Bộ công cụ này rất linh hoạt cho phép lựa chọn các yếu tố giao diện hay so sánh kết quả thí nghiệm dự kiến với thực tiễn.

Một trong những tính năng chính của Selenium là hỗ trợ kiểm thử trên nhiều trình duyệt. Selenium là một công cụ hỗ trợ kiểm tra tự động cho các ứng dụng chạy trên nền web.

Selenium hỗ trợ kiểm tra hầu hết trên các trình duyệt phổ biến hiện nay như Firefox, Internet Explorer, Safari,… cũng như các hệ điều hành chủ yếu như Windows, Linux, Mac,… Selenium hỗ trợ một số lớn các ngôn ngữ lập trình như C#, Java, Perl, PHP, Python, Ruby,…

Selenium có thể kết hợp thêm với một số công cụ khác như Bromien, Junit nhưng với người dùng thông thường chỉ cần chạy tự động mà không cần cài thêm các công cụ bổ trợ.

Ai là người phát triển Selenium?

Selenium là một bộ các công cụ khác nhau, nó được xây dựng và phát triển bởi nhiều nhà phát triển khác nhau. 

Nguồn gốc Selenium được tạo ra bởi Jason Huggins vào năm 2004. Là một kỹ sư tại ThoughtWorks, ông đang làm việc trên một ứng dụng web yêu cầu kiểm thử thường xuyên. Ông nhận ra rằng việc kiểm thử thủ công lặp đi lặp lại của ứng dụng của họ ngày càng trở nên không hiệu quả, ông đã tạo ra một chương trình JavaScript có thể tự động kiểm soát các hành động của trình duyệt. Ông đặt tên cho chương trình này là “JavaScript Test Runner”.

Nhìn thấy được ý tưởng này có tiềm năng và triển vọng để giúp kiểm thử tự động hóa các ứng dụng web khác, ông đã tạo JavaScript Runner mã nguồn mở mà sau này được đổi tên thành Selenium Core.

Phân loại Selenium

Selenium không chỉ là một công cụ duy nhất mà là một bộ phận mềm, mỗi bộ phận phục vụ cho các nhu cầu kiểm thử khác nhau của một tổ chức. Nó có bốn thành phần:

Phân loại Selenium

Phân loại Selenium – nguồn internet

  • Môi trường phát triển tích hợp Selenium (IDE).
  • Selenium Remote Control (RC).
  • Web Driver.
  • Selenium Grid.

Selenium IDE (Integrated Development)

Là một công cụ được xây dựng dưới dạng Add-ons của Firefox. Đây là cách tiện ích để xây dựng các ca kiểm thử, gồm các phần tử giao diện giúp cho ta có thể thực hiện thao tác. Nó giúp tiết kiệm thời gian và là cách thông minh để hiểu được kịch bản Selenium.

Bộ công cụ cho phép chúng ta Record/Playback một test suit. Nhờ đó Tester có thể nhanh chóng tạo ra một kịch bản test (test script) bằng cách record trực tiếp các thao tác của mình trên các đối tượng cần kiểm tra thành một tập các câu lệnh bằng ngôn ngữ kịch bản được phát triển cho Selenium IDE và Selenium Core có dạng bản HTML sau đó Playback (chạy lại) các câu lệnh này để kiểm tra và có thể lưu kịch bản test với dưới nhiều đoạn ngôn ngữ lập trình.

Selenium RC (Selenium Remote control).

Là bộ công cụ cho phép nhận các test script được thu bởi Selenium IDE. Nó cho phép chỉnh sửa, cải tiến linh động bằng ngôn ngữ lập trình khác nhau. Sau đó khởi động một trong các trình duyệt web được chỉ định để kiểm tra trực tiếp trên trình duyệt đó. Selenium RC còn cung cấp khả năng lưu lại kết quả kiểm tra.

selenium RC

Selenium RC (Selenium Remote control)

Nó là một công cụ đơn lẻ, tức là bạn phải cài thư viện Selenium server standalone, sau đó khởi động server manual (bằng tay). Server sẵn sàng thì bạn mới bắt đầu chạy được test.

Selenium RC là phiên bản cũ, hầu hết bây giờ không ai còn dùng mà chuyển qua Selenium Web Driver.

Selenium Grid.

Vào năm 2008, Phillippe Han Rigou (lúc đó làm tại Thought Works) đã tạo ra “Selenium Grid”, cung cấp một hub cho phép chạy nhiều thử nghiệm trên Selenium đồng thời trên bất kỳ số lượng hệ thống cục bộ hoặc từ xa nào, do đó giảm thiểu thời gian thực hiện thử nghiệm. Lưới được cung cấp, dưới dạng nguồn mở, khả năng tương tự như đám mây Google nội bộ/riêng tư cho Selenium RC.

Ngay cả việc test manual, tester cần test trên nhiều môi trường, nhiều nền tảng khác nhau. Ví dụ như nền tảng web thì có nhiều loại browser như Chrome, Firefox, Safari,… mobile gồm nhiều devices, nhiều phiên bản hệ điều hành cần một lượng effort nhất định.

Automation test cũng vậy, chúng ta cần chạy kịch bản test trên nhiều môi trường khác nhau, với mỗi môi trường, bộ kịch bản test cũng khác nhau, và nếu như vậy thì effort bỏ ra cho automation cũng rất lớn, vừa viết code, vừa tạo data, vừa thời gian chạy test. Rất may, Selenium hỗ trợ một tính năng nhằm khắc phục tình trạng trên đó là Selenium Grid

Selenium WebDriver.

Năm 2007 Sim Stewart tại Thought Works đã phát triển một công cụ tự động hóa trình duyệt ưu việt có tên là WebDriver.

  • Là các gói thư viện hỗ trợ kiểm thử trên nền tảng web, hỗ trợ nhiều ngôn ngữ lập trình khác nhau để tạo kịch bản test đầy đủ.
  •  Hiện tại Web Driver đã mạnh, cộng đồng người dùng và người phát triển lớn khiến WebDriver có thể giải quyết nhiều bài toán khó. Tester sử dụng các thư viện (libraries) kết hợp các thư viện bên ngoài (ví dụ như poi-xử lý file excel,…) để xây dựng kịch bản (script).

Năm 2009, sau cuộc họp giữa các nhà phát triển tại Hội nghị tự động hóa thử nghiệm của Google, họ đã quyết định hợp nhất hai dự án Selenium RC với WebDriver và gọi dự án là Selenium WebDriver, hoặc Selenium 2.0

Tại sao nên sử dụng Selenium?

  • Selenium là Tool free và có open source. Vì là mã nguồn mở nên chúng ta có thể sử dụng mà không phải lo lắng về phí bản quyền hay thời hạn sử dụng.Tại sao nên sử dụng Selenium?

Tại sao nên sử dụng Selenium? – nguồn internet

Vì là mã nguồn mở nên Selenium có một cộng đồng hỗ trợ khá mạnh mẽ. Bên cạnh đó, Google là nơi phát triển Selenium nên chúng ta hoàn toàn có thể yên tâm về sự hỗ trợ miễn phí khi có cần đề về Selenium. Tuy nhiên đây cũng là điểm yếu của Selenium. Vì cơ bản là miễn phí, cộng đồng lại đông nên một vấn đề có thể nhiều giải pháp, và một số giải pháp là không hữu ích. Mặt khác chúng ta không thể hối thúc hay ra deadline cho sự hỗ trợ.

  • Selenium là công cụ hỗ trợ thử tự động dành cho các ứng dụng web
  • Selenium có cộng đồng sử dụng rộng rãi
  • Selenium có khả năng tương thích trên nhiều trình duyệt như Mozilla firefox, Chrome,… với mức độ chỉnh sửa script hầu như là không có
  • Selenium không chỉ là một tool hay một tiện ích mà nó là một gói tool cho cùng một chức năng và được biết đến như một suit (bộ). Nó có bốn thành phần.
  • Selenium có khả năng tương thích tốt với nhiều platform như Java, C#, Ruby, JavaScript, R and Python,…
  • Chạy test case ở background. Khi chúng ta thực thi một test script, chúng ta hoàn toàn có thể làm việc khác trên cùng một PC. Điều này hỗ trợ chúng ta không cần tốn quá nhiều tài nguyên máy móc khi chạy test script.
  • Selenium thường xuyên được phát triển và cải tiến mạnh mẽ

Trên đây là những thông tin cần thiết về Selenium. Mong rằng những  chia sẻ của chúng tôi sẽ giúp được điều gì đó cho các bạn.

>>Xem thêm:

selenium là gì? (nguyên tố hóa học)

 DevOps là gì? DevOps designer làm gì? Một người làm DevOps cần có những yếu tố gì?

LEAVE A REPLY

Please enter your comment!
Please enter your name here