1. Mô tả lỗi
Không handle exception là tình huống test automation không xử lý các ngoại lệ có thể xảy ra trong quá trình chạy,
khi gặp lỗi bất thường thì test bị dừng đột ngột mà không có:
-
thông tin log rõ ràng
-
retry hợp lý
-
hoặc xử lý tiếp luồng cần thiết (cleanup, logout, close resource…).
Hậu quả:
-
khó debug
-
không biết chính xác nguyên nhân thật sự
-
pipeline bị fail không cần thiết
2. Nguyên nhân phổ biến
2.1. Chỉ viết kịch bản cho luồng “happy path”
-
không lường trước lỗi UI
-
không lường trước timeout, network, element mất
2.2. Không thiết kế cơ chế try–catch / error handling
-
để exception văng thẳng ra framework
-
không phân loại lỗi
2.3. Không có cleanup khi test fail
-
không đóng browser
-
không reset dữ liệu
-
không logout
→ gây ảnh hưởng các test sau.
2.4. Không phân biệt lỗi có thể retry và lỗi logic
-
retry bừa
-
hoặc không retry chỗ nào
3. Dấu hiệu nhận biết
-
Test dừng ngay khi gặp lỗi đầu tiên
-
Log chỉ hiển thị stack trace
-
Không có screenshot, page source, step name tại thời điểm fail
-
Sau khi fail, các test tiếp theo dễ fail theo
4. Cách khắc phục (thực tế nên làm)
4.1. Phân loại exception
Tối thiểu nên tách:
-
lỗi tạm thời (network, timeout, click intercepted…)
-
lỗi logic (assert sai, nghiệp vụ sai)
4.2. Retry có kiểm soát
Chỉ retry:
-
bước phụ thuộc network
-
hoặc bước dễ bị flakiness
Không retry:
-
lỗi nghiệp vụ
-
lỗi assertion.
4.3. Đảm bảo cleanup luôn được thực hiện
Dù test pass hay fail:
-
đóng browser
-
reset session
-
trả lại trạng thái ban đầu