Ảnh chụp màn hình báo cáo Pytest-html

Bạn có thể viết hook pytest đơn giản để tự động chụp ảnh màn hình Selenium webdriver mỗi khi kiểm tra thất bại. Nó nhận dạng các bài kiểm tra Selenium theo tên lịch thi đấu

pytest test_fail.py
0 vì vậy nếu bạn sử dụng một tên khác cho Selenuim webdrive, bạn nên thay đổi nó. Mã kiểm tra đầy đủ bạn có thể tìm thấy trên github

Nếu bạn sử dụng allure, bạn có thể đính kèm ảnh chụp màn hình vào báo cáo thử nghiệm như được hiển thị trong mã bên dưới

Kết quả sẽ giống như trên hình trên

Trong bài viết của mình, tôi giải thích cách bạn có thể thiết lập cơ sở hạ tầng thử nghiệm mạnh mẽ ngay lập tức

🔵 Trong quá trình chạy thử nghiệm thất bại, nhật ký và ảnh chụp màn hình từ lần chạy thử nghiệm gần đây nhất sẽ được lưu vào thư mục

pytest --dashboard --rs --headless
1. Nếu
pytest --dashboard --rs --headless
2 được chỉ định [hoặc nếu ARCHIVE_EXISTING_LOGS được đặt thành True trong cài đặt. py], nhật ký kiểm tra cũng sẽ được lưu trữ vào thư mục
pytest --dashboard --rs --headless
3. Nếu không, các tệp nhật ký sẽ bị xóa khi lần chạy thử tiếp theo bắt đầu [theo mặc định]

pytest test_fail.py

[Các tệp nhật ký trong SeleniumBase/examples/example_logs được tạo khi test_fail. py đã chạy và không thành công. ]

Ví dụ về các tệp nhật ký dự kiến ​​được tạo trong các lỗi

  • basic_test_info. txt
  • trang_source. html
  • ảnh chụp màn hình. png

Ngoài các tệp nhật ký, bạn cũng có thể tạo bảng điều khiển và báo cáo thử nghiệm

Bảng điều khiển SeleniumBase

🔵 Tùy chọn

pytest --dashboard --rs --headless
4 cho pytest tạo Bảng điều khiển SeleniumBase đặt tại
pytest --dashboard --rs --headless
5, tự động cập nhật khi chạy thử nghiệm và tạo ra kết quả. Thí dụ

pytest --dashboard --rs --headless

🔵 Ngoài ra, bạn có thể lưu trữ Máy chủ bảng điều khiển SeleniumBase của riêng mình trên một cổng bạn chọn. Đây là một ví dụ về việc sử dụng Python 3's

pytest --dashboard --rs --headless
6

________số 8

🔵 Bây giờ bạn có thể điều hướng đến

pytest --dashboard --rs --headless
7 để xem trang tổng quan dưới dạng ứng dụng web. Điều này yêu cầu hai cửa sổ đầu cuối khác nhau. một để chạy máy chủ và một để chạy thử nghiệm, nên chạy từ cùng một thư mục. [Sử dụng
pytest --dashboard --rs --headless
8 để dừng máy chủ http. ]

🔵 Đây là một ví dụ đầy đủ về giao diện của Bảng điều khiển SeleniumBase

pytest --dashboard --rs --headless
1

báo cáo pytest

🔵 Sử dụng

pytest --dashboard --rs --headless
9 sẽ cung cấp cho bạn một báo cáo thú vị về tên được chỉ định sau khi bộ thử nghiệm của bạn hoàn tất

pytest --dashboard --rs --headless
3

🔵 Khi kết hợp các báo cáo html pytest với việc sử dụng Bảng điều khiển SeleniumBase, biểu đồ hình tròn từ Bảng điều khiển sẽ được thêm vào báo cáo html. Ngoài ra, nếu bạn đặt URL báo cáo html giống với URL của Trang tổng quan khi cũng sử dụng trang tổng quan, [ví dụ:.

python -m http.server 1948
0], thì Bảng điều khiển sẽ trở thành báo cáo html nâng cao khi tất cả các bài kiểm tra hoàn tất

🔵 Đây là ví dụ về báo cáo html được nâng cấp

pytest --dashboard --rs --headless
5

Nếu xem báo cáo

python -m http.server 1948
1 trong Jenkins, bạn có thể cần định cấu hình cài đặt Jenkins để HTML hiển thị chính xác. Điều này là do những thay đổi CSP của Jenkins. Có thể thay đổi cài đặt đó từ
python -m http.server 1948
2 >
python -m http.server 1948
3 bằng cách chạy

pytest --dashboard --rs --headless
9

Thay vào đó, bạn cũng có thể sử dụng

python -m http.server 1948
4 để nhận báo cáo xml. Jenkins có thể sử dụng tệp này để hiển thị báo cáo tốt hơn cho các bài kiểm tra của bạn

pytest --dashboard --rs --headless
1

Báo cáo thử nghiệm

Tùy chọn

python -m http.server 1948
5
python -m http.server 1948
6 cung cấp cho bạn một báo cáo hấp dẫn sau khi hoàn thành các bài kiểm tra của bạn

pytest --dashboard --rs --headless
4

[GHI CHÚ. Bạn có thể thêm

python -m http.server 1948
7 để hiển thị ngay các báo cáo của Nosetest sau khi bộ kiểm tra hoàn tất. Chỉ sử dụng
python -m http.server 1948
7 khi chạy thử nghiệm cục bộ vì nó tạm dừng chạy thử nghiệm. ]

🐝⚪ Bảng điều khiển hành vi & báo cáo

[Thư mục behavior_bdd/ có thể được tìm thấy trong thư mục ví dụ/. ]

pytest --dashboard --rs --headless
7

Bạn cũng có thể sử dụng

python -m http.server 1948
9 để nhận báo cáo
pytest --dashboard --rs --headless
10 cho từng tính năng Hành vi. Jenkins có thể sử dụng các tệp này để hiển thị báo cáo tốt hơn cho các bài kiểm tra của bạn

Pytest có thể tạo báo cáo HTML không?

IDE Selenium mới . Để cấu hình Pytest, chúng ta phải chạy lệnh sau. cài đặt pip pytest. Theo tiêu chuẩn Pytest, tệp Python chứa Pytest phải bắt đầu bằng test_ hoặc kết thúc bằng _test. We can generate HTML reports with our Selenium test using the Pytest Testing Framework. To configure Pytest, we have to run the following command: pip install pytest. As a Pytest standard, the Python file containing the Pytest should start with test_ or end with _test.

Lệnh nào được sử dụng để tạo báo cáo HTML trong pytest?

Để tạo báo cáo HTML với khung Pytest, chúng tôi phải cài đặt plugin. Để cài đặt, chúng ta sẽ thực hiện lệnh pip install pytest-html. Tiếp theo để tạo báo cáo, chúng ta sẽ chạy lệnh pytest –html=report. html

pytest là gì

pytest-html là một plugin cho pytest tạo báo cáo HTML cho kết quả kiểm tra .

Chủ Đề