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 githubNế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ấtpytest --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
5Nế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ạypytest --dashboard --rs --headless
9Thay 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ạnpytest --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ạnpytest --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
7Bạ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