간단한 MS 코딩 UI 테스트와 관련 WPF 응용 프로그램을 만들어 AutomationID를 이해하려고했습니다. 먼저, TextBox의 Xaml 코드에 AutomationID를 지정합니다. 그런 다음 textBox에 입력 내용을 기록하고 관련 UIMap 함수를 만듭니다. 처음에는 textBox의 검색 속성에서 AutomationID가 정확합니다. 그러나 xaml AutomationID를 변경하면 검색 속성이 새 AutomationID를 선택하지 않습니다.MS 코딩 UI 테스트 새 Xaml AutomationID를 가져 오지 않는 검색 속성
가 가'XAML 코드 : 텍스트 상자를 들어, I가 "TextBoxAutoID07" "TextBoxAutoID01"텍스트 상자 UIMap 검색 등록 정보
<Grid>
<CheckBox x:Name="checkBox" Content="CheckBox" HorizontalAlignment="Left" Margin="176,254,0,0" VerticalAlignment="Top" IsEnabled="True"/>
<TextBox x:Name="textBox1" HorizontalAlignment="Left" Height="23" Margin="176,147,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120" AutomationProperties.AutomationId="TextBoxAutoID07"/>
</Grid>`
에서 AutoamtionId 변경의 AutomationID은 여전히 여기에 내 코드와 스크린 샷입니다 원래 "TextBoxAutoID01"
그리고 UIMap.design.cs 코드는 새로운 AutomationID가 업데이트되지 않았 음을 반영
public WpfEdit UITextBoxAutoID01Edit
{
get
{
if ((this.mUITextBoxAutoID01Edit == null))
{
this.mUITextBoxAutoID01Edit = new WpfEdit(this);
#region Search Criteria
this.mUITextBoxAutoID01Edit.SearchProperties[WpfEdit.PropertyNames.AutomationId] = "TextBoxAutoID01";
this.mUITextBoxAutoID01Edit.WindowTitles.Add("MainWindow");
#endregion
}
return this.mUITextBoxAutoID01Edit;
}
}
따라서 검색 속성 업데이트를 만드는 유일한 방법은 UIMap에 대한 컨트롤을 삭제하고 다시 녹음하는 것입니다.
UIMap을 다시 녹음하지 않고 새로운 xaml AutomationID를 업데이트하는 방법에 대한 통찰력을 얻으실 수 있습니다.
위대한 감사합니다! 내 유일한 관심사는 다른 사람들이 작성한 WPF 응용 프로그램을 테스트하기 시작할 때입니다. 여기서 개발자가 AutomationID를 변경하면 CUIT에서 해당 항목을 수동으로 변경해야합니다. 이것은 물론 의사 소통이 좋지만 이상적이지는 않습니다. 최소한 AutomationID를 변경하면 테스트 코드가 깨져서 변경된 헤드 업을 제공 할 것입니다. – kme
@kme AutomationID가 자주 변경되면 컨트롤의 다른 속성, 변경되지 않는 것들을 찾습니다. "검색 속성 편집"창에서 AutomationID를 삭제하고 다른 속성을 추가하십시오. – AdrianHHH