我想开发一种用于自动化测试的工具。 我有正在测试的应用程序的源代码,因此我有特权在应用程序内部添加一些自定义逻辑。
自定义逻辑的一部分是检测内容更改,分析更改,最后将结果报告给测试工具,例如:一条消息“登录窗口已准备好”,后跟user_id和密码控制的位置
通过使用VisualTreeHelper和LogicalTreeHelper类,我可以知道窗口的当前状态,但是我不知道何时遍历树。
我发现了a similar question,但这是针对第三方窗口的,我想对于可以访问源代码的应用可能会有更好的解决方案。
在win32中,我可以挂钩WM_PAINT来检测窗口内容的更改。 您是否有关于在WPF中执行此操作的任何提示?
顺便说一句,尽管我想向应用程序添加自定义逻辑,但我也想尽可能少地更改应用程序逻辑。
我是WPF的新手,如果有什么错,对不起。
答案 0 :(得分:0)
您可能希望确切指定要实现的目标,例如描述要完成的任务的示例。
您知道VisualTreeHelper类吗? https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.media.visualtreehelper
根据您所说的要实现的目标。我可能会订阅某个UI元素的“就绪”或“加载”事件。您应该能够通过VisualTreeHelper访问UI元素。
您还应该能够通过它与UI元素进行交互,例如。单击并输入信息。您还可以根据UI的状态运行测试(我认为)。
我也肯定有很多针对WPF的自动化UI测试框架,只有Google:“针对WPF的自动化UI测试框架”。
希望这会有所帮助。