Lớp training về API Automation sử dụng Rest-Assured

Xin chào, dưới đây là thông tin về lớp học để bạn nào có nhu cầu thì sẽ có thể tham khảo, xin được nói trước, là bản này sẽ update thường xuyên.

Về lý thuyết của API Test, mình đã viết hết những gì mình biết trong cuốn ebook, nếu bạn chưa biết, có thể đọc qua 1 lượt.

I. Một số yêu cầu khi làm API test

  • Tôi cần gửi request đủ loại CRUD
  • Tôi cần extract được data từ trong response và kiểm tra được kết quả
  • Tôi cần fake 1 số data không quan trọng
  • Tôi muốn log lại toàn bộ request và response khi test fail
  • Tôi muốn thay đổi domain URL nhanh chóng giữa các môi trường
  • Tôi cần báo cáo dễ nhìn 1 chút
  • Thi thoảng, tôi cần đọc data test từ trong file csv

II Bạn học xong thì bạn có được gì

  • Trả lời những câu hỏi ở trên bằng code
  • Bạn dùng được kha khá những gì đã học để apply vào ui automation (nếu muốn)
  • Tự tin vào kiến thức học được nhưng không tự mãn (vì sau mỗi buổi học, mình sẽ giúp bạn thấy, khóa này chỉ là getting started, sẽ còn rất nhiều thứ phía trước, nhưng bạn có thể biết tìm và học những thứ đó bằng cách nào)
  • Mình không cam kết việc phỏng vấn xin việc, vì nó có nhiều yếu tố nhưng mà mình dám chắc là nếu bạn học cố gắng, bạn sẽ rất tự tin đi phỏng vấn khi được hỏi về phần này (nếu có) 😀
  • Và rất nhiều thứ hữu ích khác

Và có những thứ không có trong khóa học này, bạn cần tự học:

  • Java cơ bản + kiến thức OOP
  • Cách kết hợp với jenkins
  • Những thứ liên quan đến SOAP
  • Git và những thứ liên quan đến Git

III. Những thứ được sử dụng trong quá trình học

#NameFunctionsLink
IDEIntellij IDEAhttps://www.jetbrains.com/idea/download/
LanguageJava
Build toolGradlehttps://docs.gradle.org/current/userguide/userguide.html
Test runnerJUnit5https://junit.org/junit5/docs/current/user-guide/
LibraryRest-assuredMake HTTP requesthttps://github.com/rest-assured/rest-assured/wiki/Usage
Jackson-databindConvert POJO <–> Jsonhttps://github.com/FasterXML/jackson-databind/wiki
JavafakerFake datahttps://github.com/DiUS/java-faker
LombokReduce verbose codehttps://projectlombok.org/
HamcrestAssert valuehttp://hamcrest.org/JavaHamcrest/tutorial
Slf4jLog factoryhttp://www.slf4j.org/manual.html
Log4jLog implementationhttps://logging.apache.org/log4j/2.x/
Allure-junit5Custom reporthttps://docs.qameta.io/allure/
Typesafe:configRead config filehttps://github.com/lightbend/config#using-hocon-the-json-superset

IV. Chương trình học (still updating)

SessionContent
1Setup môi trường: Java + Intellij + gradle
Setup sample environment
Introduction API Automation Test + sample
2Rest-Assured: Make request
3Rest-Assured: Extract + Assert response
4Rest-Assured: Default values, Logging
5Rest-Assured: Specification + Detailed configuration
6API flow
7Junit5
8Faker: fake data + static method
Lombok: @Data @Getter @Setter …
9Read app config + properties
10Jackson binding
11Gradle + Allure report

Qua khảo sát, mình quyết định sẽ run lớp dưới hình thức:

  • Học offline tại Hà Nội, khu vực dự kiến ở Mỹ Đình, Cầu Giấy
  • Lớp 5 học viên
  • Mỗi buổi học 2h, học 2 buổi / 1 tuần
  • Học phí dự kiến: 400k / 1 buổi.

Lý do:

  • Mình sẽ support lớp ít người luôn tại chỗ để đạt hiệu quả cao nhất, đảm bảo không có bạn nào không hiểu hoặc trong quá trình làm mà có lỗi, không biết xử lý thế nào.
  • 1 tuần 2 buổi sẽ là đủ thời gian cho bạn tiêu hóa kiến thức và đủ thời gian làm 1-2 bài tập về nhà.
  • Mình run lớp offline nên tốn chi phí thuê phòng bên ngoài và chi phí đi lại, và mức học phí 3 –> 5 tr phù hợp với 40% nguyện vọng các bạn làm khảo sát.

Hiện tại:

  • Link đăng ký: https://forms.gle/JicsswbcF8DTb3Lf9
  • Lớp chưa cố định thời gian khai giảng vì lớp chưa đủ người học. Không ngờ số người muốn học ít vậy. 🙁

V. Điều kiện tiên quyết

Java Fundamental và OOP

  • Working with Java Data Types
  • Using Operators and Decision Constructs
  • Creating and using Arrays
  • Using Loop Constructs
  • Working with methods and Encapsulation
  • Working with Inheritance
  • Handling Exceptions

Mình sẽ có bài kiểm tra về điều kiện tiên quyết này cho ai đăng ký học mà tự nhận là biết basic về Java. Nếu bạn đã có chứng chỉ Java –> miễn kiểm tra.

  • Một bài ngắn 10 câu hỏi, mình lấy từ đề thi Java OCA, các bạn có thể tự luyện trước.
  • Thời gian 15min
  • Đề không có pass/fail, mình chỉ muốn biết trình độ hiện tại của bạn.

2 thoughts on “Lớp training về API Automation sử dụng Rest-Assured

Leave a Reply

Your email address will not be published. Required fields are marked *