Mục đích của Selenium là tạo ra các thử nghiệm tích hợp dựa trên giao diện người dùng .
Kiểm tra tích hợp xác minh rằng tất cả các thành phần trong hệ thống của bạn hoạt động chính xác khi được triển khai cùng nhau. Thử nghiệm hội nhập không phải là một chiến lược kiểm tra đầy đủ và bổ sung cho chiến lược thử nghiệm khác có một trọng tâm khác nhau, ví dụ như đơn vị thử nghiệm và kiểm tra chấp nhận .
Các thử nghiệm dựa trên giao diện người dùng vốn đã dễ vỡ, mặc dù Selenium và Watir là một bước tiến so với những ngày đầu của các công cụ ghi và phát lại . Có một số cách để giải quyết vấn đề này - đây là tổng hợp lời khuyên từ một số chuyên gia đẳng cấp thế giới:
Đừng cố gắng để có được tất cả phạm vi kiểm tra của bạn từ loại thử nghiệm này . Robert C. Martin lập luận rằng phạm vi bảo hiểm mã của bạn bằng các thử nghiệm tích hợp sẽ vào khoảng 20% . Nó chỉ đơn giản là không thực tế để kiểm tra tất cả các đường dẫn thực hiện khi đầu vào cách một vài lớp ứng dụng.
Nhận hầu hết các phạm vi kiểm tra từ các bài kiểm tra đơn vị và chấp nhận . Tìm liên kết đến các bài viết của Gojko Adzic trong câu trả lời của FinnNk . Adzic đã tranh luận nhiều lần về việc kiểm tra logic kinh doanh thông qua các bài kiểm tra chấp nhận và bỏ qua UI.
Nhưng một số lượng thử nghiệm dựa trên giao diện người dùng vẫn cần phải được viết . Đây là nơi bạn cần một số lời khuyên thiết thực ngoài việc "không kiểm tra logic kinh doanh của bạn thông qua giao diện người dùng". Tôi muốn giới thiệu blog của Patrick Wilson-Welsh là điểm khởi đầu.