KIỂM THỬ TỰ ĐỘNG VỚI SELENIUM WEBDRIVER: KIỂM THỬ CHỨC NĂNG MUA HÀNG ONLINE

Chào các bạn, hôm nay mình xin gửi đến các bạn bài viết kiểm thử tự động chức năng mua hàng online bằng Selenium WebDriver. Bây giờ chúng ta cùng bắt đầu nhé.

Đầu tiên mình sẽ tạo Java Class trong eclips.

Tiếp theo mình sẽ viết các câu lệnh để làm việc với trình duyệt web như hình bên dưới.

Vào giao diện chính đầu tiên mình sẽ chọn một đối tượng mặt hàng nào đó làm ví dụ (mình làm bước này để truy cập vào được giao diện thông tin sản phẩm). Bước này mình sẽ không lấy id, name hoặc địa chỉ Xpath của  đối tượng sản phẩm, sau khi đã hoàn tất code mình sẽ lấy id, name hoặc địa chỉ Xpath của nhiều đối tượng và cho vào một mảng.

Ở phần code mình sẽ tạo một function bên ngoài hàm main và cho một tham số là một mảng.

Tiếp theo mình viết câu lệnh đầu tiên trong hàm dùng để tương tác với các đối tượng sản phẩm mình mong muốn, trong đó mình truyền tham số là đối tượng đầu tiên trong mảng.

Sau khi đến được trang thông tin sản phẩm, mình bắt đầu nhấn kiểm tra để lấy id,name hoặc địa chỉ Xpath của các đối tượng cần thiết.

Mình tiến hành lấy id,name hoặc địa chỉ Xpath của 3 button là dấu +, – và THÊM VÀO GIỎ HÀNG.

Và sau đó mình thu được:

  • Xpath Button “+”: //body/div[1]/div[2]/div[1]/div[1]/div[1]/div[1]/div[2]/div[2]/div[1]/div[1]/div[1]/form[1]/div[1]/a[1]
  • Xpath Button “-”: //body/div[1]/div[2]/div[1]/div[1]/div[1]/div[1]/div[2]/div[2]/div[1]/div[1]/div[1]/form[1]/div[1]/a[2]
  • Button “THÊM VÀO GIỎ HÀNG”:  //button[@id=’button-cart’]

Lưu ý các bạn có thể lấy id, name hoặc địa chỉ Xpath của đối tượng, các bạn có thể chọn tùy ý và tùy vào trường hợp không bắt buộc nhé. Ở đây mình chọn lấy địa chỉ Xpath.

Tiếp theo chuyển sang giao diện giỏ hàng mình lại pick các đối tượng cần thiết của đối tượng nằm trong giỏ.

Tại đây mình bắt đầu lấy địa chỉ Xpath của các đối tượng cần thiết như tăng, giảm số lượng, cập nhật lại số lượng và xóa mặt hàng khỏi giỏ.

Sau đó mình thu được:

  • Input “Số Lượng”: //input[@id=’quantity_801′]
  • Button “Cập nhật số lượng”: //tbody/tr[1]/td[3]/div[1]/span[1]/button[1]

Lưu ý mỗi sản phẩm riêng biệt thì các đối tượng trên sẽ khác nhau nhé, đó là mình đã hoàn tất việc chọn địa chỉ Xpath cho các đối tượng cần thiết của một sản phẩm từ giao diện đến lúc được thêm vào giỏ hàng. Các sản phẩm bạn muốn thêm vào trong quá trình Test bạn lại tiếp tục thực hiện các bước trên với các sản phẩm còn lại.

Tiếp theo mình tiến hành lấy địa chỉ Xpath các đối tượng sản phẩm mình muốn thêm.

Sau khi lấy địa chỉ Xpath mình có được kết quả như sau:

  • //a[contains(text(),’LAPTOP HP CORE I5-2540M, RAM 4GB MẠNH MẼ GIÚP…’)]
  • //a[contains(text(),’THÙNG PC CORE I3 THẾ HỆ 8 – RAM 8GB MẠNH MẼ C…’)]
  • //a[contains(text(),’LOA BASS ĐÔI KARAOKE – NGHE NHẠC – XEM PHIM K…’)]

Tiếp theo mình lại vào danh mục thông tin từng sản phẩm để lấy địa chỉ Xpath của các đối tượng liên quan và tạo mảng đa chiều của các đối tượng đó trong hàm main.

Tiếp theo trong hàm buy viết các câu lệnh tương tác đại diện cho quá trình thêm một sản phẩm.

Sau đó mình tiến hành lây địa chỉ Xpath các đối tượng cần thiết của khu vực đăng kí thông tin đặt hàng.

Và mình thu được kết quả như sau:

  • Xpath EditText “Họ và tên”: //tbody/tr[1]/td[2]/input[1]
  • Xpath EditText “SĐT”: //tbody/tr[2]/td[2]/input[1]
  • Xpath EditText “Email”: //tbody/tr[3]/td[2]/input[1]
  • Xpath EditText “Địa chỉ”: //tbody/tr[4]/td[2]/input[1]
  • Xpath EditText “Ghi chú”: //tbody/tr[5]/td[2]/textarea[1]
  • Xpath Button “Tiếp tục mua hàng”: //a[contains(text(),’Tiếp tục mua hàng’)]
  • Xpath Button “Hoàn tất đặt hàng”: //button[contains(text(),’Hoàn tất đặt hàng’)]

Tiếp theo mình tiến hành tạo mảng User.

Cuối cùng tại hàm main mình tạo vòng for, gọi hàm và truyền dữ liệu. Trong vòng for bên dưới hàm buy mình cho câu lệnh if để kiểm tra xem sản phẩm hiện tại đang thêm vào giỏ có phải là sản phẩm cuối cùng hay chưa, nếu chưa sẽ nhấn tiếp tục mua hàng còn nếu là sản phẩm cuối cùng thì hệ thống sẽ tiến hành điền dữ liệu trong mảng user vào form và nhấn “Hoàn tất đặt hàng”.

Toàn bộ code sau khi mình đã hoàn thành.

Sau khi hoàn tất nhấn Run Project và chờ kết quả thôi.

Đó là toàn bộ bài viết kiểm thử tự động chức năng mua hàng online bằng Selenium WebDriver. Nếu có bất kì thắc mắc nào, các bạn có thể để lại phần bình luận phía bên dưới bài viết mình sẽ giải đáp. Cảm ơn các bạn đã dành thời gian đọc bài chia sẻ của mình.

Chúc các bạn thành công.

Nam Ngọc – PLT SOLUTIONS