UITestControlからItemStatusを取得するにはどうすればよいですか?
-
13-09-2019 - |
質問
の UIオートメーションフレームワーク 基本クラスがあり、 オートメーション要素, 、プロパティがあります。 アイテムステータス, 、任意の文字列を保存するために使用できます。Visual Studio 2010からそのプロパティを取得しようとしています コード化された UI テスト 基本クラス、 UITestControl.
解決
コード化された UI テストで生成されたコードを見てください。 WpfControl
. 。NativeElement というプロパティがあります。この物件は、 AutomationElement
.
public abstract class WpfControl : UITestControl
{
...
public virtual object NativeElement
{
get
{
return ((object)(this.GetProperty(UITestControlProperties.Common.NativeElement)));
}
}
...
}
拡張メソッドを作成してキャストし、ItemStatus を取得できます。
public static string GetItemStatus(this WpfControl control)
{
var automationElement = (AutomationElement)control.NativeElement;
return automationElement.Current.ItemStatus;
}
NativeElement がなぜ記録されるのかわかりません。 object
(これにより、ゲッターのキャストが冗長になります)。すべての WPF コントロールの NativeElement の型は AutomationElement
. 。生成されたコードを編集して、単に呼び出すことをお勧めします。 control.NativeElement.Current.ItemStatus
直接。
所属していません StackOverflow