Мы используем Selenium для тестирования слоя пользовательского интерфейса нашего приложения ASP.NET. Многие из тестовых примеров тестируют более длинные потоки, которые охватывают несколько страниц.
Я обнаружил, что тесты очень хрупкие, нарушаются не только изменениями кода, которые фактически меняют страницы, но и безобидными рефакторингами, такими как переименование элемента управления (поскольку мне нужно передать контрольный идентификатор клиента методу Selenium Click и т.д. ) или замену сетки репитером. В результате я обнаружил, что "теряю" время, обновляя строковые значения в своих тестовых случаях, чтобы исправить неработающие тесты.
Есть ли способ написать более ремонтные тесты на селен? Или лучший инструмент тестирования веб-интерфейса?
Отредактировано для добавления: Как правило, первый черновик создается путем записи теста в среде IDE. (Этот первый шаг может выполняться персоналом ОК). Затем я реорганизую сгенерированный код С# (константы извлечения, методы извлечения для повторного кода, возможно, повторить тестовый пример с разными данными и т.д.). Но общий поток кода для каждого тестового примера остается достаточно близким к первоначально сгенерированному коду.