Метою Selenium є створення інтеграційних тестів, керованих інтерфейсом .
Інтеграційні тести підтверджують, що всі компоненти вашої системи працюють правильно при їх розгортанні разом. Інтеграційні тести не є достатньою тестовою стратегією та доповнюють інші тестові стратегії, що мають інший фокус, наприклад, тестування одиниць та прийняття тестів .
Тести, керовані користувальницьким інтерфейсом, за своєю суттю крихкі, хоча Selenium та Watir є кроком у порівнянні з ранніми днями інструментів запису та відтворення . Існує кілька способів вирішити цю проблему - ось добірка порад від експертів світового класу:
Не намагайтеся отримати все тестове покриття від цього виду тестів . Роберт К. Мартін стверджує, що охоплення вашого коду тестами інтеграції має становити близько 20% . Тестувати всі шляхи виконання, коли вхід знаходиться за декількома шарами програми, просто недоцільно.
Отримайте більшу частину покриття тесту за допомогою тестування одиниць та прийняття . Шукайте посилання на статті Гойка Аджича у відповіді FinnNk . Аджич неодноразово сперечався про тестування бізнес-логіки через тести прийняття та обхід інтерфейсу.
Але деяку кількість тестів, керованих інтерфейсом, потрібно ще написати . Тут вам потрібні практичні поради, крім того, щоб "не перевіряти свою логіку бізнесу через інтерфейс користувача". Я б порекомендував блог Патріка Вілсона-Уельса в якості вихідної точки.