質問

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 直接。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top