Mmaiqai.com
📊 Automation Testing · Chương 16 · Mục 16.2

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).

TERMINAL
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
TERMINAL
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:

TERMINAL
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.

TERMINAL
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ở:

TERMINAL
allure generate allure-results -o allure-report --clean
allure open allure-report
Thành phầnÝ nghĩa
allure generate allure-results -o allure-reportDựng báo cáo HTML từ dữ liệu thô, xuất vào thư mục allure-report
--cleanXoá báo cáo cũ trước khi dựng lại, tránh lẫn kết quả cũ
allure open allure-reportMở 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/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.