Kiểm thử là một công việc đòi hỏi người thực hiện phải có suy nghĩ của cả người dùng lẫn lập trình viên và thời gian thực hiện cũng rất dài. Vì thế, một công cụ hỗ trợ kiểm thử ứng dụng, web sẽ là vô cùng cần thiết để tiết kiệm thời gian kiểm thử. Và Selenium chính là công cụ bạn cần đến. Vậy, Selenium là gì? Ưu điểm và nhược điểm của Selenium ra sao?
Tìm hiểu về Selenium
Lưu ý: bài viết này đề cập đến Selenium, một công cụ Automation Testing. Nếu bạn đang tìm bài viết để tìm hiểu về thuốc Selenium hay thủy ngân, đây không phải là bài viết dành cho bạn. Kết quả tìm kiếm trên Google về Selenium rất “hỗn loạn” nên bạn lưu ý nhé!
Selenium là gì?
Selenium là một bộ công cụ phần mềm chuyên dụng được dùng để kiểm thử tự động (Automation Testing) các ứng dụng web và có khả năng hỗ trợ chạy trên trình duyệt với nhiều nền tảng như Windows, Linux, Mac,…
Với Selenium, bạn có thể viết test script bằng nhiều loại ngôn ngữ lập trình khác nhau, một số ngôn ngữ phổ biến Selenium hỗ trợ bao gồm: Java, C#, Ruby, Python, Perl, PHP và JavaScript.
Những tính năng của Selenium
- Selenium là một công cụ mã nguồn mở/ framework để kiểm tra web, website phiên bản di động
- Selenium IDE hỗ trợ tính năng playback giúp bạn có thể sử dụng các bài test của người khác và không cần phải biết ngôn ngữ script
- Selenium là một nền tảng kiểm thử dựa trên cloud giúp tester có thể lưu lại thao tác và xuất ra dưới dạng script đơn giản, dễ hiểu.
- Selenium hỗ trợ nhiều hệ điều hành, ngôn ngữ và trình duyệt khác nhau.
- Giúp bạn có thể chạy cùng lúc nhiều bài test để giảm thời gian và tăng hiệu quả
- Selenium có thể tích hợp với các framework khác như Ant và Maven để biên dịch mã nguồn
- Quá trình kiểm thử của Selenium hao tốn ít tài nguyên và yêu cầu cấu hình thiết bị thấp hơn các công cụ khác.
- Selenium WebDriver không yêu cầu cài đặt server, test script của bạn sẽ trực tiếp tương tác với trình duyệt.
- Selenium Remote Control kết hợp với WebDriver API để trở thành phiên bản Selenium 2.0 hỗ trợ những trang web động và Ajax.
Cần gì để học/sử dụng Selenium?
Những thứ cần chuẩn bị để học Selenium
Để học và làm việc với Selenium, bạn sẽ cần phải chuẩn bị nhiều thứ đấy! Không giống với “thiên hạ đồn”: làm tester không cần biết code, tùy một số trường hợp nhất định, bạn vẫn sẽ phải biết nhiều về code đấy!
Phần mềm:
- Thiết bị cần cài sẵn Java 8 trở lên
- Một IDE để viết code, tùy bạn lựa chọn.
- Bạn sẽ cần công cụ lấy Element trang web như
- ChroPath với hơn 200k lượt tải về và lượng đánh giá lên đến 4.5 sao trên Chrome store.
- SelectorsHub với hơn 50k lượt tải về.
Kiến thức:
- Bạn sẽ cần có kiến thức sử dụng Java cơ bản, chuyên sâu càng tốt.
- Kiến thức về HTML, CSS, JavaScript
- Kiến thức chung về lập trình web
- Tìm hiểu thêm về XPath
- Kiến thức về Selenium. Tin Tino Group đi, đến phần tiếp theo bạn sẽ ngạc nhiên đấy!
Selenium bao gồm những công cụ nào?
Tình đến thời điểm hiện tại, Selenium không phải là một công cụ duy nhất. Selenium có đến 4 công cụ để bạn có thể tìm ra mục đích sử dụng và lựa chọn thích hợp.
- Selenium IDE
- Selenium Remote Control
- Selenium WebDriver
- Selenium Grid
Selenium IDE
Sử dụng để học và tìm hiểu về các khái niệm kiểm tra tự động và Selenium như:
- Học và chọn các lệnh như: type, open, clickAndWait, assert, verify,…
- Học cách sử dụng bộ định vị như: id, name, xpath, css selector
- Tùy chỉnh JavaScript bằng cách sử dụng runScript
Selenium Remote Control
- Tạo test với ngôn ngữ dễ hiểu hơn Selenese
- Sử dụng để chạy thử nghiệm test trên nhiều trình duyệt khác nhau trên nhiều hệ điều hành khác nhau.
- Triển khai thêm nhiều môi trường thử nghiệm khác bằng cách kết hợp sử dụng với Selenium Grid.
Selenium WebDriver
- Để dùng một ngôn ngữ nhất định trong quá trình kiểm thử
- Kiểm thử nhiều ứng dụng dựa trên nền Ajax
- Tạo bài test trên trình duyệt HtmlUnit
- Tạo kết quả kiểm tra tùy chỉnh
Selenium Grid
- Dùng để chạy các script của Selenium Remote Control trên nhiều hệ điều hành, nhiều trình duyệt khác nhau cùng lúc
- Giúp bạn có thể tạo ra một bộ test “siêu to khổng lồ” với số lượng lớn bài test nhỏ cùng lúc để tăng tốc hoàn thành việc kiểm tra.
Ưu điểm và nhược điểm của Selenium
Ưu điểm của Selenium
- Quá trình cài đặt và sử dụng rất đơn giản
- Yêu cầu cấu hình phần cứng thấp
- Hỗ trợ đa dạng hệ điều hành, trình duyệt và hỗ trợ nhiều ngôn ngữ lập trình
- Có bộ API hoàn thiện
- Tạo ra bộ test lớn với nhiều bài test nhỏ để tiết kiệm thời gian
- Hỗ trợ kiểm thử tự động thay cho người dùng thật giúp tiết kiệm nhiều nhân lực
Nhược điểm của Selenium
- Selenium IDE chỉ có thể sử dụng trên trình duyệt Firefox (trong tương lai sẽ hỗ trợ nhiều trình duyệt hơn)
- Selenium IDE không hỗ trợ thực hiện tính toán hoặc câu lệnh phức tạp được
- Quá trình cài đặt Selenium Webdriver tốn thời gian và cần có nhiều kinh nghiệm
- Nếu bạn chạy quá nhiều test so với khả năng đáp ứng của phần cứng, chắc chắn quá trình test của bạn sẽ không có kết quả tốt và đôi khi sẽ đứng máy
- Bạn sẽ cần phải có nhiều kinh nghiệm và kỹ năng lập trình để sử dụng
- Không có bộ phận hỗ trợ kỹ thuật chuyên dụng. Vì thế, khi triển khai các dự án thương mại và bị lỗi, bạn sẽ cần phải tìm đơn vị thứ 3 hỗ trợ
- Chỉ hỗ trợ ứng dụng web.
So sánh Selenium với QTP và RFT
Do đây là một phần nhỏ và ngắn nên Tino Group sẽ gộp chung vào phần “Ưu điểm và nhược điểm của Selenium” thay vì chia thành một mục lớn nhé! Tính năng HP QTP IBM RFT Selenium Bản quyền Yêu cầu Yêu cầu Mã nguồn mở Mức Giá Cao Cao Mã nguồn mở miễn phí Đội ngũ hỗ trợ Bộ phận hỗ trợ chuyên nghiệp của HP Bộ phận hỗ trợ chuyên nghiệp của IBM Hỗ trợ bởi cộng đồng Mức độ tiêu thụ phần cứng Cao Cao Thấp Yêu cầu kinh nghiệm lập trình Không yêu cầu Yêu Cầu Yêu cầu có nhiều kinh nghiệm và kỹ năng lập trình Môi trường hỗ trợ Chỉ Windows Chỉ Windows Windows, Linux, Solaris OS X (nếu trình duyệt và JVM hoặc JavaScript hỗ trợ) Ngôn ngữ lập trình hỗ trợ VB Script Java và C# Java, C#, Ruby, Python, Perl, PHP và JavaScript
Qua bảng so sánh, bạn có thể thấy được sự vượt trội của Selenium và lý do tại sao cộng đồng lập trình, cộng đồng kiểm thử lại yêu thích đến vậy. Đương nhiên, sự miễn phí và tiết kiệm tài nguyên máy sẽ yêu cầu bạn có kỹ năng cũng kinh nghiệm lập trình rất nhiều.
Vậy là chúng ta đã tìm hiểu về “Selenium là gì”, cũng như so sánh Selenium Automation Testing với những phần mềm kiểm thử khác. Dù hiện tại, đã có một số phần mềm/công cụ kiểm thử khác lên ngôi, nhưng còn rất lâu nữa vị trí của Selenium mới bị thay thế trong “lòng” của các Tester. Chúc bạn thành công với con đường Tester nhé!
Những câu hỏi thường gặp về Selenium
Nên tìm hiểu về Selenium ở đâu?
Nếu bạn muốn tìm hiểu và học thêm về Selenium, trang đầu tiên bạn nên xem qua đó chính là bộ tài liệu chính thức của Selenium. Hiện tại, bộ tài liệu chỉ hỗ trợ tiếng Anh. Vì thế, bạn nên trang bị một số kỹ năng về đọc tiếng Anh hoặc ít nhất là kỹ năng sử dụng Google dịch + một số thuật ngữ tiếng Anh chuyên ngành để học được tốt nhất nhé!
Có thể kiếm tiền từ Selenium hay không?
Có. Nếu bạn có thể sử dụng Selenium một cách thành thạo, đồng nghĩa với việc bạn có rất nhiều kinh nghiệm lập trình. Bạn chỉ chỉ cần tìm thêm và lấy chứng chỉ sử dụng Selenium là bạn có thể trở thành một tester thực thụ rồi đấy!
Hiện tại, rất nhiều doanh nghiệp sẵn sàng chi trả cho các lập trình viên có chứng chỉ Selenium.
Nên lấy chứng chỉ Selenium ở đâu?
Nếu bạn muốn tìm chứng chỉ Selenium miễn phí, điều này có vẻ không khả thi lắm. Tuy nhiên, bạn có thể tham khảo một số dịch vụ cung cấp như:
- Selenium Certification Training Course của Edureka.
- Selenium Certification Training của Simplilearn.
Lương của một Selenium tester là bao nhiêu?
Có thể bạn chưa biết, lương của một Selenium tester tại Mỹ lên đến $57,879 trên năm đấy!