Nâng cấp: báo cáo trực quan hơn với Allure Report
pytest-html đủ dùng cơ bản, nhưng nếu muốn báo cáo đẹp và trực quan hơn — biểu đồ tổng quan, phân loại theo tính năng, dòng thời gian chạy test — dùng Allure Report, công cụ báo cáo rất phổ biến trong ngành kiểm thử. Đánh đổi: cần cài thêm 2 công cụ ngoài Python.
a) Kiểm tra Java
Allure command-line cần Java để chạy (bản thân Allure viết bằng Java, không phải Python).
java -version
Nếu đã thấy số phiên bản là dùng được ngay, không cần cài gì thêm. Nếu chưa có, tải Java tại adoptium.net, chọn bản JRE (Java Runtime Environment) LTS mới nhất, cài như phần mềm bình thường.
b) Cài thư viện allure-pytest
Thêm vào requirements.txt:
allure-pytest==2.16.0
pip install -r requirements.txt
c) Cài công cụ dòng lệnh Allure
Tải bản mới nhất tại github.com/allure-framework/allure2/releases (file allure-x.x.x.zip — sách kiểm thử với bản 2.18.1). Giải nén vào 1 thư mục cố định, ví dụ C:\allure, rồi thêm thư mục con bin bên trong (vd C:\allure\allure-2.18.1\bin) vào biến môi trường PATH— vào Windows Settings, tìm "Edit environment variables", thêm đường dẫn đó vào mục Path.
Kiểm tra đã cài đúng:
allure --version
Xuất và xem báo cáo
Khác pytest-html xuất thẳng 1 file HTML, Allure tách 2 bước: xuất dữ liệu thô trước, rồi mới dựng thành báo cáo xem được.
pytest --alluredir=allure-results
--alluredir=allure-results lưu kết quả thô (nhiều file JSON) vào thư mục đó — chưa phải trang xem được.
Dựng báo cáo từ dữ liệu thô, rồi mở:
allure generate allure-results -o allure-report --cleanallure open allure-report
| Thành phần | Ý nghĩa |
|---|---|
| allure generate allure-results -o allure-report | Dựng báo cáo HTML từ dữ liệu thô, xuất vào thư mục allure-report |
| --clean | Xoá báo cáo cũ trước khi dựng lại, tránh lẫn kết quả cũ |
| allure open allure-report | Mở báo cáo bằng 1 server nhỏ tự chạy — Allure cần tải dữ liệu qua mạng nội bộ nên không mở trực tiếp file HTML bằng trình duyệt được như pytest-html |
Kết quả thật khi mở: trang tổng quan hiện 23 test cases, 100% thành công, cùng các tab Overview/Suites/Graphs/Timeline/Behaviors ở menu bên trái — mỗi tab 1 góc nhìn khác nhau về cùng bộ kết quả, bấm vào 1 test cụ thể xem được log từng bước.
Thêm allure-results/ và allure-report/ vào .gitignore — đây là kết quả sinh ra mỗi lần chạy, không phải mã nguồn, không commit vào repo.