Существует ли общая стратегия использования свойства AutomationId в приложении WPF / Silverlight? - PullRequest
0 голосов
/ 01 ноября 2011

Кажется, что вложенное свойство AutomationProperties.AutomationId имеет две цели:

  1. Идентификация элементов управления пользовательского интерфейса во время автоматических приемочных испытаний.
  2. Доступность.

Учитывая, что существует много случаев, когда элементы управления пользовательского интерфейса генерируются во время выполнения (например, привязанные к данным древовидные представления), которые заставляют приемочные тесты искать элементы управления, используя другие средства, когда имеет смысл фактически устанавливатьзначение для AutomationId, и какое значение?Это случайный процесс, чтобы решить, какие элементы управления должны иметь их, а какие нет?Или есть какое-то общее руководство, которому могут следовать все разработчики?

Ответы [ 2 ]

4 голосов
/ 01 ноября 2011

AutomationId действительно предназначен для целей тестирования, поэтому то, как вы его используете, зависит от того, как вы хотите протестировать свое приложение (или, как группа тестирования хочет протестировать приложение, для приложения, созданного группой, а не отдельным человеком).Основное использование AutomationId состоит в том, чтобы позволить тестовому коду надежно найти элемент без необходимости ссылаться на что-то вроде Name, которое может изменяться в разных локализованных сборках (или которое может изменяться при настройке пользовательского интерфейса во время разработки).Нет необходимости использовать AutomationId вообще;если у теста есть какие-то другие средства идентификации элементов, они могут использовать его вместо этого и оставить AutomationId неназначенным.

Специальные возможности обычно не используют его.Это ничего не значит для конечного пользователя и не гарантированно присутствует для какого-либо данного элемента управления;так что с ним мало что можно сделать.

Тестирование и доступность имеют множество совпадений;есть части UIAumation, которые обслуживают оба, но также и части, которые служат только одному или другому;AutomationId - один из компонентов, специально предназначенных для тестирования.

0 голосов
/ 10 декабря 2015

Это произвольно.Команда QA должна знать об элементах управления, которые им понадобятся во время автоматизированных тестов пользовательского интерфейса, и вам необходимо индивидуально назначить им уникальный Id, чтобы упростить работу для тестировщиков.По крайней мере, так я это понимаю.Я не встречал никаких рекомендаций по этому поводу.

...