Проблема, которая, как я вижу, у нас будет, состоит в том, что если даже самая маленькая вещь изменится, то все наши тесты также будут сломаны.
Это может / будет верно для всех частей ваших страниц, включая элементы управления Telerik, в зависимости от структуры вашего теста. В идеале, вашим элементам должны быть назначены идентификаторы, и вы будете использовать классы Page и пользовательские объекты управления, чтобы удалить все ссылки HTML из вашего фактического тестового кода. Затем, если что-то изменяется на веб-странице (или в элементе управления), вы проверяете, ожидается ли изменение, затем вы изменяете код страницы WatiN (или контрольный код) и повторно запускаете свои тесты.
Здесь находится учебник для начинающих класса WatiN: http://watinandmore.blogspot.com/2009/06/introducing-page-class.html
По сути, вы хотите, чтобы ваш тестовый код выглядел как myPage.PickDate("3/29/2012")
, а не как ie.Tables[3].TableRows[2].TableCells[4].Textbox(Find.ByClass("datePicker")).TypeText("3/29/2012")
Изменения могут, могут и должны привести к неудачным тестам, однако я могу засвидетельствовать, что с хорошей настройкой класса страницы (или элемента управления), которая абстрагируется от DOM HTML и других особенностей, оставляющих тестовый код, не заполненный HTML, означает, что когда изменения действительно происходят, их чаще всего легко вернуть к работе.
Примечание: у Selenium также есть концепция класса Page, но я не очень широко использовал ее сейчас. Итог: если вы пишете много тестов, которые ссылаются на HTML DOM непосредственно в тестовом коде, вы настраиваете себя на головную боль обслуживания, независимо от того, используете ли вы WatiN или Selenium или что-то подобное.
Добавлено: Относительно вашего исходного вопроса: можете ли вы работать с элементами управления Telerik в WatiN? Да, вы, скорее всего, можете, но в зависимости от элемента управления вам может потребоваться немного творческий подход, возможно, даже вызов метода javascript изнутри вашего теста (объект страницы;)). Я был озадачен парой элементов управления (не Telerik), но большинство я в конечном итоге выяснил.