KIỂM THỬ TỰ ĐỘNG VỚI KARATE: PHƯƠNG THỨC GET API

Chào các bạn, hôm nay mình xin gửi đến các bạn bài viết thực thi Test với phương thức Get trong Karate. Bây giờ chúng ta cùng bắt đầu nhé.

In các thuộc tính của response

Đầu tiên tạo một file tên Get.feature.

Tiếp theo chúng ta viết câu lệnh mô tả quá trình kiểm thử, như hình bên dưới.

Bên dưới cùng mình viết các câu lệnh như sau:

  • And print response : dòng này để in toàn bộ kết quả nhận được
  • And print responseTime : dòng này để in ra thời gian kết quả được trả về
  • And print responseCookies:  dòng này để in ra Cookies của response
  • And print responseStatus:  dòng này để in ra Status của response
  • And print responseHeaders: dòng này để in ra phần Header của response

Tiếp theo nhấn Run As để chạy Test và đây là kết quả sau khi Test.

Bên dưới sẽ là kết quả của từng response.

Hình 1.1: Kết quả trả về của response
Hình 1.2: Kết quả trả về của responseTime
Hình 1.3: Kết quả trả về của responseCookies
Hình 1.4: Kết quả trả về của responseStatus
Hình 1.5: Kết quả trả về của responseHeaders

Làm việc với background và param

1 . Background

Background dùng để lưu thông số chung như biến, url hoặc đặt các header request. Vì background chạy đầu tiên nên sẽ đặt ở trên cùng của các Scenario. Đầu tiên mình viết background như sau.

Ở đây mình đặt url chung là đường dẫn nhất định của API sau đó xuống các trường hợp mình sẽ truyền biến để API nhận đường dẫn và lấy dữ liệu theo ý mình.

Sau đó mình tạo thêm một Scenario nữa.

Ở đây thay vì mình để url như Scenario ở trên mình sẽ sửa lại như sau. Phần path này là phần đường dẫn chung mình đã gán trên phần background(url).

Sau đó mình tiến hành nhấn Run As để chạy Test.

Test chạy thành công và không có lỗi.

2 . Param

Tiếp theo mình sẽ hướng dẫn các bạn thao tác với param. Quay lại file Get.feature và tạo thêm một Scenario nữa.

Tại đây mình bắt đầu đặt lại dữ liệu tại Given, mình xóa “?page=2” bên trong đường link phía sau path.

Tiếp theo mình gán dữ liệu Param page = 2 phía bên dưới.

Sau  đó mình nhấn Run As để chạy Test.

Test chạy thành công không có lỗi.

Kiểm tra dữ liệu trả về

Đầu tiên mình sẽ tạo một Scenario mới.

Tiếp theo mình sẽ tiến hành lấy địa chỉ của dữ liệu mà mình muốn kiểm tra sau khi mình gửi request thành công. Truy cập vào trang web https://jsonpathfinder.com/ . Lưu ý trang web này chỉ để lấy vị trí của dữ liệu nên không có liên quan gì đến quá trình Test, ở đây nếu không muốn lấy từ trang web thì các bạn có thể lấy địa chỉ của dữ liệu từ cấu trúc dữ liệu JSON, tuy nhiên mình vẫn muốn các bạn dùng web để lấy địa chỉ của dữ liệu chính xác hơn và tránh sai sót.

Copy toàn bộ dữ liệu response được in ra khi nãy (đằng sau [print] trở đi).

Và dán toàn bộ dữ liệu vừa lấy được vào ô bên trái của trang JSON Path Finder.

Tiếp theo mục bên phải chọn dữ liệu cần kiểm tra và sao chép Path.

Sau đó tiến hành viết câu lệnh kiểm tra. Tại đây mình dùng match để xác thực dữ liệu, xóa x ở đầu path và chèn vào là response, mình sẽ kiểm tra xem dữ liệu mình cung cấp có rỗng hay không.

Mình tiếp tục chọn dữ liệu để lấy Path kiểm tra.

Sau đó mình tiến hành viết câu lệnh kiểm tra. Tại đây mình không dùng match mà mình sẽ dùng assert.

Còn nữa thay vì dùng response ở đầu Path của dữ liệu mình có thể thay thế bằng kí tự “$” và đặc biệt kí tự này chỉ dùng với match không dùng được với assert.

Tiếp theo mình nhấn Run As để chạy Test.

Mình thu được kết quả là Test chạy thành công và không có lỗi.

Đó là toàn bộ bài viết thực thi Test với phương thức Get trong Karate . 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