Проблемы автоматизации WPF с динамическим «AutomationID» и без свойства «Имя» - C # - PullRequest
0 голосов
/ 28 октября 2019

Я работал над попыткой автоматизировать программу Windows с использованием C #. После использования Inspect.exe из Windows Kits (SDK) кажется, что многие из элементов, с которыми я пытаюсь работать, делают , а не , имеют статический AutomationID, имя элемента и т. Д. Проблема в том, что этиэлементы могут иметь те же свойства, что и другие элементы в той же панели WPF, поэтому я пытаюсь найти лучший способ точно определить нужный мне элемент.

Как лучше всего решить эту проблему? ?

Скриншот Inspect.exe одного из элементов (для справки)

Я посмотрел библиотеку Windows UIAutomation, а также TestStack.White, но яоткрыт для предложений.

Примечания:

  • Программа установлена ​​на клиентском компьютере.
  • Используя Spy ++, он не находит элементы в WPF, а только родительский контейнер, которыйэлемент находится в.
  • У меня на моем компьютере разработчика (Windows 10) настроен драйвер приложений Windows (и UI Recorder), НО программы, которые я пытаюсь автоматизировать, находятся в Windows 8.1, которая не выглядитбыть поддержанным WAD. (Исправьте меня, если я ошибаюсь.)
  • Используя регистратор WAD UI, я могу получить XPATH элемента.
  • Кажется, что свойство BoundingRectangle изменяется в зависимости от размераокно, которое сторонняя программа автоматизации, которая в настоящее время работает с программой, кажется, периодически отображает окно в разных размерах.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...