سؤال

ال واجهة المستخدم الأتمتة الإطار لديه فئة قاعدة، أتمتة, هذا لديه عقار، حالة العنصر, ، يمكن استخدامها لتخزين السلاسل التعسفية. أحاول الحصول على هذه الممتلكات من Visual Studio 2010 اختبارات واجهة المستخدم المشفرة الطبقة الأساسية، uitestcontrol..

هل كانت مفيدة؟

المحلول

إلقاء نظرة على اختبارات UI المشفرة التي تم إنشاؤها WpfControl. وبعد لديها عقار، نتيفي. هذا العقار هو 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;
}

أنا لست متأكدا من سبب تسجيل الادعاء ك object (مما يجعل الزائدة عن Getter الزائدة). جميع الضوابط WPF 'NativeLement من النوع AutomationElement. وبعد أود أن أقترح تحرير التعليمات البرمجية التي تم إنشاؤها وببساطة الاتصال control.NativeElement.Current.ItemStatus مباشرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top