В настоящее время я пытаюсь автоматизировать приложение Windows Forms с помощью библиотеки автоматизации пользовательского интерфейса Microsoft и C #, но у меня большие проблемы с производительностью.Идентификация отдельных элементов с помощью PropertyCondition
или итерации по всем элементам окна занимает очень много времени (до 4 минут).Как только у меня появляется AutomationElement
, все в порядке (например, GetCurrentPropertyValue
реагирует в течение 100 мс).
Низкая производительность относится только к одному приложению.У меня нет доступа к источнику, но если что-то нужно изменить или проверить, я могу поговорить с ответственным программистом.Насколько я знаю, некоторые события (например, рисование) были перезаписаны для приложения.Типичное окно приложения содержит около 100 элементов, которые обнаруживаются методом FindAll
.
Я также попробовал COM-интерфейс библиотеки автоматизации пользовательского интерфейса, который примерно в два раза быстрее, но на самом деле это не так.решить проблему.
Кто-нибудь есть идеи, как решить эту проблему или испытал подобное поведение?