Как обнаружить изменение содержимого окна в WPF? - PullRequest
0 голосов
/ 02 октября 2018

Я хочу разработать инструмент для автоматизации тестирования.У меня есть исходный код тестируемого приложения, поэтому я имею право добавить некоторую настраиваемую логику в приложение.

Одна часть настраиваемой логики - обнаружение изменения содержимого, анализ изменения и, наконец, отчет орезультат вне инструмента тестирования, такой как: сообщение «окно входа в систему готово», за которым следуют местоположения идентификатора пользователя и контроля пароля.

Используя классы VisualTreeHelper и LogicalTreeHelper, я могу узнать текущее состояние окнаНо я не знаю КОГДА пройти сквозь дерево.

Я нашел аналогичный вопрос , но это для стороннего окна, я думаю, может быть лучшее решение для приложения, у меня есть доступ к исходному коду.

В win32Я могу подключить WM_PAINT для обнаружения изменения содержимого окна.Есть ли у вас какие-либо подсказки о том, как это сделать в WPF?

Кстати, хотя я хотел бы добавить пользовательскую логику в приложение, я также хочу изменить логику приложения как можно меньше.

Я новичок в WPF, извините, если что-то не так.

1 Ответ

0 голосов
/ 02 октября 2018

Возможно, вы захотите указать, чего именно вы хотите достичь, например, описать пример того, что вы хотите сделать.

Вам известен класс VisualTreeHelper?https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.media.visualtreehelper

На основании того, что вы сказали, что хотели достичь.Я бы, вероятно, подписался на какое-то «готовое» или «загруженное» событие элемента пользовательского интерфейса.Вы должны иметь возможность получить доступ к элементу пользовательского интерфейса через VisualTreeHelper.

Вы также должны иметь возможность взаимодействовать с элементами пользовательского интерфейса через него, например.нажмите и введите информацию.И вы также можете запускать тесты, основанные на состоянии пользовательского интерфейса (я думаю).

Я также уверен, что существует множество сред автоматизированного тестирования пользовательского интерфейса для WPF, только Google: "автоматизированные платформы тестирования пользовательского интерфейса для WPF"".

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...