Теоретическая сторона:
Кодовые тесты пользовательского интерфейса предназначены для проведения регрессионных тестов пользовательского интерфейса. Учитывая определенные данные, ваш пользовательский интерфейс должен реагировать определенным образом . Идея этого короля тестов заключается в том, что при одних и тех же данных пользовательский интерфейс продолжает вести себя одинаково. Другими словами: если для определенного набора данных ваш пользовательский интерфейс изменит то, как реагирует (основываясь на записях), тест должен сломаться .
Практический факт:
Кодированные тесты пользовательского интерфейса являются основой тестирования, а записи генерируют код. Вы можете увидеть этот код, и ИМХО, вы должны увидеть, как это работает. Если вам нужен более универсальный кодированный пользовательский интерфейс, вы можете добиться этого, изменив сгенерированный код. На самом деле я STRONGLY рекомендую разделить сгенерированные классы и методы и выполнить некоторые кланы.
Код генерирует своего рода карту пользовательского интерфейса (класс со свойствами, ссылающимися на объекты пользовательского интерфейса, используемые тестом). Вы можете настроить эту карту вручную, добавив или удалив свойства (в конце концов, это просто код), и создайте свою более сложную карту пользовательского интерфейса, фактически с усилием вы даже можете заставить карты «наследовать» от других карт (подробнее a la Главная страница ASP.Net).
В WPF вы можете проверить, существует ли элемент управления, его стиль пользовательского интерфейса, его содержимое и его дочерние элементы (если есть).
Для объекта AutomationID является обязательным только в элементах управления, которые необходимо проверить.
На D & D ... Понятия не имею. Я никогда не делал тесты пользовательского интерфейса для D & D.