Я использую AutomationId и white для тестирования, и недавно я столкнулся с проблемой, которая поступила от группы автоматизации из-за систематического сбоя некоторых тестов.
У меня есть несколько DataTemplate:
<DataTemplate DataType="{x:Type local:SomeDataModel}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding NameTitle}" AutomationProperties.AutomationId="NameTitleId"/>
<TextBlock Text="{Binding Name}" AutomationProperties.AutomationId="NameId"/>
<Button Content="Apply" Command="{Binding ApplyCommand}" AutomationProperties.AutomationId="ApplyCommandId"/>
</StackPanel>
</DataTemplate>
При создании идентификаторов AutomationId внутренние элементы управления получают идентификаторы AutomationId, но это означает, что каждый создаваемый экземпляр этого DataTemplate будет дублировать все AutomationId .
Это приводит к сбою тестов из-за нажатия на чтение из неправильного элемента управления.
Есть идеи?