Selenium với Cucumber (BDD Framework) – Hướng dẫn sử dụng tool ChroPath để kiểm tra phần tử (Phần 2)

Tram Ho

Nếu như ở phần 1 bạn đang nhàm chán với đống lý thuyết, đọc không cũng không hiểu gì. Thì lần này mình sẽ đi sâu vào phần thực hành, có làm nhiều thì mới có nhiều kinh nghiệm, nếu 1 ngày bạn đang làm mà cảm thấy “ồ, hay thế” thì lúc đó nó đã thực sự hữu ích rồi đó. Cổ nhân đã đúc kết thì cấm có sai “trăm hay không bằng tay quen” bạn đọc lý thuyết mà không hiểu gì thì cứ thử thực hành nhiều, làm nhiều vào lúc đó ắt sẽ hiểu thôi, chỉ mong bạn kiên trì đừng “đứt gánh giữa đường” để công sức bỏ ra đừng bỏ sông đổ bể

Bài viết này sẽ có bài tập từ đơn giản đến phức tạp, bạn cùng thực hành cùng tôi nhé:

Bài tập 1: Viết script để automation test cho chức năng Login

Dữ liệu test lần này sẽ gồm nhiều case kiểm thử, ở đây tôi sẽ mô tả đặc trưng cho 2 case login thành công và login thất bại

Đầu tiên là viết script trong class login.feature đặt trong forder Feature

  • Nếu bài trước tôi chỉ sử dụng Scenario để chạy 1 bộ dữ liệu => thì bài này để sử dụng được nhiều bộ dữ liệu ta sẽ dùng Scenario Outline
  • Thêm từ khóa Examples: là nơi chứa bộ dữ liệu test
  • Mỗi action tôi sẽ để ở 1 line. Vì dụ như ở dưới trong When có nhiều action thì chúng ta sẽ sử dụng từ khóa And để clear action hơn. Tương tự nếu Given và Then có nhiều action thì ta sẽ chia từng action ở mỗi 1 line bằng từ khóa And

=> Ở đây tôi kiểm thử với account [email protected]/12345678 là login thành công. Và account [email protected]/12345678 là login thất bại . Tôi sẽ vẫn sử dụng trang https://selenium-training.herokuapp.com/ để thực hiện bài viết

Sau đó thực hiện viết code trong class Login.java trong package Step Definition để chạy thôi

Kết quả thu được sẽ như sau:

Bài 2: Viết script thực hiện automation test cho chức năng đăng ký

Nếu như ở bài 1 chúng ta đã thử nhập data và kiểm tra pass/fail thì bài 2 tôi sẽ demo 1 bài về submit dữ liệu và kiểm tra xem dữ liệu vừa submit có lưu thành công hay không

  • Bài được chọn là kiểm thử chức năng đăng ký
  • Đầu tiên tôi sẽ xem qua màn hình Đăng ký xem có bao nhiêu phần tử và lấy đường dẫn của các phần tử đó:
  • Item Name thực hiện inspect element tôi lấy được XPath của phần tử này là: //input[@id='user_name']
  • Item Emailthực hiện inspect element tôi lấy được XPath của phần tử này là: //input[@id='user_email']
  • Item Password thực hiện inspect element tôi lấy được XPath của phần tử này là: //input[@id='user_password']
  • Item Password confirmation thực hiện inspect element tôi lấy được XPath của phần tử này là: //input[@id='user_password_confirmation']
  • Button Create my accountthực hiện inspect element tôi lấy được XPath của phần tử này là: //input[@name='commit']

Rồi, đã lấy được các phần tử cần dùng. Bây giờ thì viết feature cho chức năng Đăng ký nào!

Sau đó tạo class Signup.java trong package StepDefinition

Chạy chương trình và kết quả thu được như sau:

Hướng dẫn sử dụng tool ChroPath để kiểm tra phần tử 1 cách nhanh chóng và chính xác

Trước đây tôi đã hướng dẫn các bạn cách kiểm tra phần tử bằng cách bấm F12 hoặc chuột phải -> chọn inspect element để lấy phần tử. Tuy nhiên trong quá trình thao tác bạn chưa biết cách chọn phần tử đó là duy nhất, hoặc do đường dẫn lấy phần tử quá dài mặc dù có thể tối ưu được ngắn gọn hơn.

Việc cài tool ChroPath sẽ dành cho bạn nào đã hiểu được cách lấy phần tử manual và ý nghĩa của chúng, dùng tool sẽ giúp các bạn thao tác nhanh và gọn hơn thôi.

Đầu tiên bạn search từ khóa “ChroPath for Chrome” và add nó vào Chrome của bạn. Add thành công thì bạn sẽ thấy có thêm logo của ChroPath trên thanh công cụ bên phải ô tìm kiếm của Chrome.

Sau đó hãy thử 1 chút nhé

Mình demo 1 ảnh Gif dưới đây, bạn xem qua sẽ hiểu ngay cách dùng thôi nhé!

Cảm ơn bạn đã đọc bài viết

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo