[Bài 7] Project structure cho Automation Api Testing sử dụng Rest-Assured

Mỗi người có 1 cách structure project khác nhau, cách mình đưa ra dưới đây chỉ mang hình thức tham khảo. Mình cần những packages sau đây:

  • src > test > Test suite / Features: nơi chứa các tests cho từng API hoặc nhiều API (gộp thành các flow)
  • src > test > Resources: nơi chứa các file data dùng cho test (csv, json)
  • src > main > Models: nơi chứa các Java Object, dùng cho việc mapping sang Json / xml Object. Đọc thêm bài 4.
  • src > main > Utilities: nơi chứa các Class hỗ trợ mình trong việc xử lý các vấn đề technical, không liên quan đến business, ví dụ như đọc file, log…
  • src > main > Resources: chứa file dùng cho project, ngoài test-data như configuration…
  • Ngoài ra bạn sẽ có 1 số file sẽ đặt dưới level của Project như: gitignore, pom.xml / build.gradle …

Bạn có thể nhìn ví dụ dưới đây

Cách để tạo ra folder dạng trên dễ nhất là sử dụng template project của Maven hoặc Gradle. Cái này các bạn có thể tự tìm hiểu.

Ở các bài sau, mình sẽ hướng dẫn refactor lại code từ bài 3 đến bài 6, cho phù hợp với structure này, cùng với đó là bổ sung thêm nhiều bài nữa:

  • Cách đọc config file để có thể linh động run test cho nhiều môi trường khác nhau (nằm trong utilities package)
  • Cách sử dụng 1 số Config có sẵn của Rest-Assured để log cái mình cần
  • Cách xử lý với Json data phức tạp
  • Cách xử lý Authentication khi app dùng Json Web Token (JWT)
  • Cách tổ chức code khi viết test API flow

Code của phần này, mình đặt ở https://github.com/lucas-nguyen-17/restassured

Bài này chỉ ngắn vậy thôi, chờ các bài tiếp theo nhé. 😀

0 0 votes
Article Rating
Subscribe
Notify of
guest
9 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Viktor
Viktor
3 years ago

Tks ad. Khi nào có bài mới vậy ad ơi. Hóng quá !

Viktor
Viktor
3 years ago
Reply to  Giang Nguyen

Tks ad,
Auto api cũng là phần quan trọng mà…kaka. Chờ hoài mà ko thấy bài nào ra cả..tham khảo những bài viết của ad cũng giúp mình phần nào hoàn thành cái FW của mình hơn.

Thy
Thy
3 years ago

Baì viết của anh rất hay. Seri bài của anh e đã đọc gần hết, cám ơn anh vì đã share. Hiện tại em đang bị vướng mắc với issue xử lí với Json phức tạp, xử lí các kiểu date, datetime, object lồng object. Anh có thể viết tiếp phần này được không.
Cách xử lý Authentication khi app dùng Json Web Token (JWT) -> phần này chắc cũng hay lắm đây và chắc là em sẽ giúp ích cho em rất nhiều.

Thủy NTT
Thủy NTT
3 years ago

Em tìm hiểu qua về cypress, không biết AD có tìm hiểu về nó không ạ? Nó gần giống như selenium, hay 1 điểm là mình có thể viết api testing hoặc ui automation trên đó. Nhưng tài liệu về nó khá ít. Nếu AD có biết về nó thì anh chia sẻ thêm cả những bài viết về nó nhé ạ. Em cảm ơn ạ!

Ngoc Lien
Ngoc Lien
2 years ago

It’s very helpful! Thanks Ad!