Trong dự án này, chúng ta sẽ sử dụng Postman để thực hiện kiểm thử các giao diện API. Các tham số cần thiết bao gồm:
- appid: Mã nhận dạng ứng dụng;
- sign: Chữ ký yêu cầu, được tính toán bằng thuật toán HMACSHA1, chuỗi chữ ký là: {appid}url{url}stamp{stamp};
- stamp: Đây là dấu thời gian;
- option: Tham số nghiệp vụ.
Vấn đề đặt ra là làm thế nào để xây dựng chữ ký (sign) một cách động khi gửi yêu cầu từ Postman?
Tạo một yêu cầu GET
Tạo một yêu cầu GET trong Postman và cấu hình các tham số động trong URL:
{{variable_name}}: cú pháp tham chiếu biến môi trường của Postman;
Xây dựng chữ ký trong pre-request scripts
Pre-request scripts là một môi trường thực thi JavaScript trước khi gửi yêu cầu. Dưới đây là cách lấy giá trị thời gian UNIX:
function layGioiThoiGian() {
return Math.round(new Date().getTime() / 1000);
}
Lấy phần path từ URL:
function layDuongDan(url) {
var phanUrl = url.split("//");
var batDau = phanUrl[1].indexOf("/");
var ketThuc = phanUrl[1].indexOf("?");
var duongDan = phanUrl[1].substring(batDau, ketThuc);
console.log(duongDan);
return duongDan;
}
Cấu trúc chuỗi chữ ký và mã hóa bằng khóa bí mật:
var host = pm.environment.get("host");
var text = encodeURIComponent(noiDung);
pm.sendRequest(host + "/api/maHoa?noiDung=" + text + "&matKhau=" + matKhau, function(err, response) {
var json = response.json();
pm.environment.set("chuKy", encodeURIComponent(json.ketQua));
});
Ghi chú về việc đổi chữ ký từ phía máy chủ
Chuỗi chữ ký tốt nhất nên được mã hóa URL. Nếu gặp khó khăn trong việc phân tích phản hồi JSON ban đầu, hãy xem xét các phương pháp khác.
Sử dụng eval để đưa biến toàn cục vào postmanUtil
eval(environment.postmanUtil); postmanUtil.taoChuKy();
Viết script trong biến môi trường
Để quản lý nhiều yêu cầu, lưu script trong biến môi trường giúp giảm thiểu công việc chỉnh sửa từng yêu cầu riêng lẻ.
Sử dụng Postman Console
Để kiểm tra giá trị của các biến hoặc theo dõi tiến trình, sử dụng Postman Console qua menu View -> Show Postman Console.
Chạy bộ sưu tập Collection Runner
Tạo và chạy các bài kiểm thử API tự động:
- Tạo các test case cho API, xác minh kết quả HTML hoặc JSON.
- Chọn và chạy các bài kiểm thử đã tạo thông qua Runner.
- Xem kết quả kiểm thử trong bảng điều khiển.