17/06/2022
API Testing là cái quái gì vậy?
Mục lục
Buổi này chúng ta sẽ cùng tìm hiểu về cách API Testing trên Jmeter và cách import file CSV nhé. Qua đây vừa giúp bạn hiểu rõ hơn về API Testing, vừa học thêm được từ vựng tiếng Anh nữa.
API Testing?
API = http request, dựa trên 2 thành phần sau:
Request:
- URL: Resources (Địa chỉ)
- Method: Hành động tác động lên resources (GET, POST, PUT, DELETE, PATCH)
- GET: Yêu cầu server đưa lại 1 resource
- POST: Yêu cầu server cho tạo ra 1 resource mới
- PUT: Yêu cầu server cho phép sửa 1 resource
- DELETE: Yêu cầu server cho xóa 1 resource
- PATCH: Yêu cầu server cho phép sửa 1 resource.
* So sánh sự khác nhau giữa PUT & PATCH: PUT chỉ lấy thông tin mà tại thời điểm mình sửa đổi thôi. Còn PATCH thì sẽ lấy toàn bộ thông tin trước đó và thông tin mà mình vừa sửa đổi.
- Request header: Nơi chứa các thông tin cần thiết của 1 request.
- Body / Parameter: Nơi chứa thông tin mà client sẽ điền.
Response: Kết quả trả về
API testing by using jmeter
Create a Basic Test Plan
- Open JMeter
- Add Thread Group: Test Plan > Add > Threads (Users) > Thread Group
- Add HTTP Request: Thread Group > Add > Sampler > HTTP Request
- Change the name of the Sampler to “Login”
- Add Listener: Test Plan > Add > Listener > View Result Tree
Configure the HTTP Request
- Input Protocol (*) : http / https
- Input Server Name or IP (*)
- Input Port(*)
- Input Method(*)
- Input Path(*)
- Input Parameters or Body Data
Chú ý: * – required
Configure the http Header
- Test Plan > Add > Config Element > HTTP Header Manager
- Drag and drop to move this element to the top, just under Test Plan.
- Adding new Header by inputting Name and Value as requirement
Executes API
- Test Plan > Add > Listener > View Result Tree
- Sau khi thực hiện xong các bước trên. Click vào “View Result Tree” và Run xem kết quả trả về
CSV DATA SET CONFIG
- Mục đích: Có thể nhúng được nhiều dữ liệu bằng cách sử dụng file csv.
1. Prepare csv file:
Cần tạo ra 1 file có đuôi .csv. Trong file csv sẽ chứa.
2. Adding csv data set config
- Test Plan > Add > Config Element > CSV Data Set Config
- Di chuyển “CSV Data Set Config” lên trên đầu để dễ nhìn
3. Configure csv data set config
- Filename: Chọn file .csv mà các bạn muốn đọc
- File encoding: UTF-8 để tránh trường hợp lỗi font
- Variable Names (Comma-delimited): Định nghĩa biến, sẽ sử dụng tên và thứ tự sắp xếp như trong file .csv
- Ignore first line: Bỏ dòng đầu tiên trong file .csv => True: Có, False: Không
- Delimiter: Phân tách các cột với nhau bằng dấu “,” (Hoặc các bạn có thể config bằng bất kỳ dấu nào khác (VD: “;”))
*Lưu ý: Đổi dấu phân tách các cột với nhau ở jmeter (VD: “;”), thì ở trong file .csv cũng sẽ sử dụng dấu (“;”) như mình đã config ở jmeter nhé
- Recycle on EOF?: Có muốn lặp lại khi hết file không? => True: có, False: Không
- Stop thread on EOF?: Khi chạy hết file thì có muốn Threads lặp lại không? => True: Có, False: Không
- Sharing mode: Tại đây bạn có thể định nghĩa hành vi chia sẻ của file CSV. Mặc định sẽ chọn là “All threads”
- All threads: Nếu trong script của bạn có nhiều hơn 1 element CSV Data Set Config cùng tham chiếu đến 1 file thì CSV Data Set Config kế tiếp sẽ tiếp tục đọc CSV File đã được mở từ CSV Data Set Config trước.
- Current Thread Group : Nếu trong script của bạn có nhiều hơn 1 element CSV Data Set Config cùng tham chiếu đến 1 file thì CSV Data Set Config kế tiếp sẽ mở lại csv file cho từng thread group.
- Current Thread : Mỗi file csv được mở riêng biệt cho từng thread khi chọn option này.
Sau buổi này hy vọng các bạn đã biết cách test API trên Jmeter và biết cách import giá trị đầu vào với nhiều dữ liệu bằng file CSV và sử dụng CSV data set config. Hẹn các bạn ở bài chia sẻ tiếp theo.
Biên tập: AMELA