Kiểm thử tự động với Selenium_P1
Bài đăng này đã không được cập nhật trong 3 năm
I. Tổng quan về Selenium
Trong giai đoạn bùng nổ về công nghệ thông tin hiện nay, nhu cầu phát triển phần mềm nói chung và các ứng dụng xây dựng trên nền web nói riêng về chất lượng và số lượng đang trở nên bức thiết. Kéo theo đó là nhu cầu kiểm thử giao diện ứng dụng web để đạt được chất lượng tối ưu trước khi đến tay khách hàng. Vì thế mà các công cụ hỗ trợ kiểm tra tự động đang dần trở thành các trợ thủ đắc lực cho đội ngũ kiểm thử phần mềm. Một công cụ tiêu biểu trong số đó là Selenium.
II. Vì sao nên dùng Selenium
- Giúp QA thực hiện được những bước lặp đi lặp lại có quy tắc.
- Dễ sử dụng, giao diện đơn giản, thân thiện.
- Có thể tùy chỉnh tốc độ chạy test case
- Có thể thực hiện chạy liên tiếp nhiều test case.
- Có thể hỗ trợ export ra nhiều ngôn ngữ phổ biến như Ruby, Java, Python…
III. Selenium bao gồm các công cụ
Selenium IDE
Cung cấp chức năng Record and Playback. Nhờ đó QA có thể nhanh chóng tạo một bộ testscript bằng cách trực tiếp Record các thao tác của mình trên đối tượng cần kiểm tra thành một tập những câu lệnh Selenese (ngôn ngữ kịch bản được dùng riêng cho Selenium IDE và Selenium Core, có dạng bảng HTML)
Selenium Remote Control
Công cụ này cho phép nhận các testscript được thu bởi Selenium IDE, 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 để thực thi kiểm tra trực tiếp trên trình duyệt đó. Selenium Remote Control còn cung cấp khả năng lưu lại kết quả kiểm tra.
Selenium Grid
Bộ công cụ này thực hiện phương pháp kiểm tra phân bố, phối hợp nhiều kết quả Selenium RC để có thể thực thi trên nhiều trình duyệt web khác nhau trong cùng một lúc. Selenium Grid cũng cho phép lưu lại kết quả kiếm tra.
Selenium WebDriver
Là một thư viện cho phép lập trình (scripting) test script trên các ngôn ngữ lập trình khác nhau như Python, Java, C#, Ruby.
IV.Các đặc điểm của Selenium
- Mã nguồn mở. Phải nói điểm này là điểm mạnh nhất của Selenium khi so sánh với các test tool khác. Vì là mã nguồn mở nên chúng ta có thể sử dụng mà không phải Ilo lắng về phí bản quyền hay thời hạn sử dụng.
- Có được sự hỗ trợ từ cộng đồng. Vì là mã nguồn mở nên Selenium có một cộng đồng hỗ trợ khá mạnh mẽ. Tuy nhiên, đây cũng là một điểm yếu vì là hàng miễn phí, cộng đồng lại đông nên một vấn đề có thể nhiều giải pháp, và có thể một số giải pháp là không hữu ích.
- Selenium hỗ trợ được cho nhiều ngôn ngữ lập trình.
- Selenium hỗ trợ chạy trên nhiều OS khác nhau với mức độ chỉnh sửa script hầu như là không có. Thực sự thì điều này phụ thuộc phần lớn vào khả năng viết script của QA.
- Có thể chạy test case ở backround. Đ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ực sự chỉ hỗ trợ tương tác với Browser mà không hỗ trợ chúng ta làm việc với các Win app
V. Chi tiết vê Selenium IDE
a.Ưu điểm
Dễ dàng cài đặt, sử dụng, tiết kiệm thời gian Không yêu cầu kinh nghiệm lập trình Có thể convert qua các ngôn ngữ lập trình khác như: HTML, Java, C#, Python, Ruby Có thể debug, set breakpoint, thêm comment vào script cho dễ đọc
b.Nhược điểm
Chỉ hỗ trợ chạy trên firefox (cần cấu hình để chạy được trên Chrome/ IE) Không hỗ trợ biểu thức điều kiện/ vòng lặp (cần cài đặt thêm để chạy được vòng lặp) Không hỗ trợ test report(cần cài đặt thêm để hiển thị report) Không cho phép đọc dữ liệu từ file: text (.txt), excel (.xls), .csv…(cần cài đặt thêm để đọc dữ liệu từ file .csv/ .xml) Không hỗ trợ database/ mobile testing Khó khăn khi xử lí những case/ worflow phức tạp
c. Hướng dẫn cách sử dụng
Chuẩn bị:
Sử dụng dùng trình duyệt web Firefox. Nên dùng Notepad++trên Windows hoặc Sublime Text trên Mac OS hoặc Linux. Extension Selenium IDE trên Firefox
Cài đặt
- Truy cập địa chỉ: http://www.seleniumhq.org/download bằng trình duyệt Firefox
- Tìm đến mục Selenium IDE và click vào version mới nhất để tải
- Giao diện sau khi install thành công.
Ghi chú:
(1): Nơi tạo nhiều test cases để có thể chạy nối tiếp nhau. (2): Chạy theo thứ tự tất cả các test cases đang có trong bảng(1) (3): Chạy test case đang được chọn (in đậm) trong bảng (1). (4): Tab chuyển giữa giao diện tương tác mặc định và giao diện code. (5): Record (ghi) lại những thao tác trên focus tab rồi chuyển chúng thành lệnh của Selenium. (6): Ô nhập liệu để bạn có thể thay đổi / chỉnh sửa giá trị sao cho phù hợp. 4. Khi gặp lỗi Selenium sẽ bỏ qua test case đó và chạy những test case tiếp theo. Thông tin lỗi sẽ được ghi nhận lại và được đánh dấu đỏ như dưới: 5. Trên Toolbar của Selenium có hỗ trợ xuất file test cases ra các ngôn ngữ khác như Java, Python…
VI. Tóm lại:
Selenium là một công cụ với tính năng mạnh mẽ là record và playback để kiểm tra mà QA không cần có kỹ năng coding.
All rights reserved