Анализируя с помощью UI Spy, я хочу получить следующий элемент:
Глядя на все эти параметры, параметр «LabeledBy» представляется наилучшим параметром для определенияэлемент.Я использую TestStack.White для своей автоматизации и пробовал так:
TestStack.White.UIItems.IUIItem[] IUIArr = GetMainWindow().GetMultiple(TestStack.White.UIItems.Finders.SearchCriteria.ByNativeProperty(System.Windows.Automation.AutomationElement.LabeledByProperty, NUnit.Framework.Is.EqualTo(TestStack.White.UIItems.Finders.SearchCriteria.ByNativeProperty(System.Windows.Automation.AutomationElement.NameProperty, "NLP*"))));
GetMainWindow()
- это функция, возвращающая MainWindow приложения, и она работает правильно.
Моя главная проблема заключается в том, что я получаю исключение с текстом Der PropertyCondition-Wert für die AutomationElementIdentifiers.LabeledByProperty-Eigenschaft muss "AutomationElement" sein
, что означает что-то вроде перевода The value for property condition of an AutomationElementIdentifier.LabeledByPropery has to bei "AutomationElement"
Мой второй и не очень важный вопрос: мне действительно нужноссылка NUnit только для этой функции Is.EqualTo?Обычно я стараюсь избегать ссылок на внешние библиотеки DLL, только для одного метода.
К сожалению, я не настолько опытен в использовании библиотеки nativ System.Windows.Automation
, но решение без TestStack.White также будет полезно.