Hướng dẫn kiểm thử tự động với Selenium

Selenium and Automation Testing

Hẳn các bạn QA, QC, testers… của chúng ta đều nghe rất nhiều về automation testing (kiểm thử tự động). Do đó mình sẽ không đi sâu về việc giải thích thế nào là kiểm thử tự động mà bài viết này sẽ giới thiệu một công cụ hỗ trợ auto test trên trình duyệt web khá phổ biến hiện nay: Selenium.

1. Vì sao lại dùng Selenium?

  1. Giúp bạn thực hiện những bước lặp đi lặp lại có quy tắc.
  2. Dễ sử dụng, giao diện đơn giản, thân thiện.
  3. Tùy chỉnh tốc độ chạy test.
  4. Chạy liên tiếp nhiều test cases.
  5. Hỗ trợ export ra nhiều ngôn ngữ phổ biến như Ruby, Java, Python…

2. Chuẩn bị

  • Cách đơn giản nhất để sử dụng ngay Selenium là dùng trình duyệt web Firefox.
  • Ứng dụng xem code cơ bản, bạn có thể sử dụng text editor có sẵn trên hệ điều hành. Mình khuyên dùng Notepad++ trên Windows hoặc Sublime Text trên Mac OS hoặc Linux.
  • Extension Selenium IDE trên Firefox

3. Cài đặt Selenium IDE

  1. Truy cập địa chỉ: http://www.seleniumhq.org/download bằng trình duyệt Firefox
  2. Tìm đến mục Selenium IDE và click vào version mới nhất để tải. Tại thời điểm của bài viết này là 2.9.0.

 Cách cài đặt Selenium trên Firefox

Giao diện Selenium IDE

Giao diện Selenium IDE

  1. Nơi bạn 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ị của “lệnh” sao cho phù hợp.

 Tips: Bạn có thể tuỳ biến giá trị bằng cách chèn code javascript tại ô Value.

Trong trường hợp bạn chạy nhiều test cases, khi gặp lỗi Selenium sẽ bỏ qua test case đó và chạy những test cases tiếp theo. Thông tin lỗi sẽ được ghi nhận lại và được đánh dấu đỏ:


Selenium test case fails

 

Bên cạnh đó, trên Toolbar của Selenium có hỗ trợ bạn xuất file test cases ra các ngôn ngữ khác như Java, Python…

 Selenium - export test case

Thường thì mình sẽ xuất dạng Remote Control

4. Ví dụ kiểm thử tự động với Selenium

Nào, giờ thì chúng ta hãy bắt tay vào làm thử một số ví dụ cơ bản để bạn hiểu hơn về công dụng của Selenium nha.

Ví dụ 1: Đăng nhập tài khoản yahoo mail

Đăng nhập tài khoản yahoo mail với các bước được miêu tả như sau:

Đăng nhập yahoo mail với Selenium

Hướng dẫn chi tiết

  1. Mở trình duyệt Firefox
  2. Mở Selenium Extension
  3. Click nút Record để thay đổi trạng thái thành “Recording” (Vòng tròn trắng viền đỏ)Record button of Selenium
  4. Thực hiện các thao tác cần chuyển đổi thành tự động trên trình duyệt Firefox. Lưu ý xem từng sự thay đổi trên cửa sổ Selenium extension.
  5. Chỉnh sửa lại các giá trị sao cho phù hợp với mong muốn.
  6. Lưu lại test case hoặc bộ test suite để dành chạy cho những build sau hoặc giải trí lúc rảnh rỗi.

Video hướng dẫn:

 

Ví dụ 2: Sử dụng Javascript để tạo số điện thoại và địa chỉ email ngẫu nhiên

Bên cạnh những thao tác cơ bản ở ví dụ 1, bạn có thể sử dụng Javascript để thêm nhiều tùy chỉnh cho test cases.

Yêu cầu:

Đăng ký tài khoản tại trang nhaccuatui.com để test tính năng mới với các yêu cầu sau:

  • Tên đăng nhập: Là số điện thoại có 10 hoặc 11 chữ số và bắt đầu bằng số 0.
  • Mật khẩu: “Test1ngSSF”
  • Email: Sinh ngẫu nhiên theo từng tài khoản với điều kiện như sau: “demo.selenium” + [4 số ngẫu nhiên] + “@siliconstraits.vn”
  • Ngày / Tháng / Năm sinh: 03 / 04 / 1986

Các bước thực hiện tương tự như ví dụ 1, chỉ khác là ở ô value của tên đăng nhập và email thì bạn sẽ sử dụng javascript để thỏa điều kiện yêu cầu.

Video tham khảo:

Tạo số điện thoại ngẫu nhiên có từ 10 đến 11 chữ số:

Giải thích:

  • “0” + là để bắt đầu bằng số 0
  • Math.floor(Math.random() * 1000000000): Tạo số ngẫu nhiên từ 0 đến 999999999
  • + 100 000 000 để đảm bảo số sinh ra luôn phải có từ 10 chữ số trở lên

Tương tự như trên, ta có code sinh ra email ngẫu nhiên theo yêu cầu phía trên:

Nói sơ qua thì Selenium dùng như vậy đó. Tùy theo sự sáng tạo của bạn mà nó còn có thể làm nhiều thứ khác nữa. Hãy ủng hộ tinh thần cho mình bằng cách góp ý hoặc thắc mắc ngay bên dưới nha.

SSS Full-stack Engineer

Love Silicon Straits and want to know more about our company culture, working environment or job vacancies?
Find out more at careers.siliconstraits.vn.

Silicon Straits
Be Challenged. Be Inspired. Be Different.




  • Cao Hoai Viet

    awesome

  • Pingback: Selenium IDE | phuoclq()

  • Huy Hóm Hỉnh

    really useful for beginners like me, tks a lot! :D

  • Ánh Bùi

    b có bài hướng dẫn về Selenium webdriver k b?