如何在窗口中唯一标识控件?

时间:2014-11-17 15:21:57

标签: windows user-interface automation

我写了一些自动化软件。我希望能够向应用程序的特定控件发送消息。我可以找到一个应用程序,但我需要控件的HWND。例如,我如何告诉我的软件选择此处的编辑或那个按钮?我用Spy ++检查了几个控件,但是我发现没有唯一的持久属性,请参见下面的图片: enter image description here enter image description here

我现在唯一的想法是检查控制位置,但即使这不是100%可靠,因为标签视图的不同选项卡上的几个控件可能具有相同的位置!

我还能做什么? GUI自动化测试如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

pywinauto自动化框架能够通过像app.SomeDialog.ChildWindow(class_name='Button', ctrl_index=0).ClickInput()之类的索引来识别控制,如果测试序列是确定性的,则对于每个具体时刻都是持久的。此外,它还允许更复杂的匹配条件:app.SomeDialog.ChildWindow(title='&Next', class_name='Button', parent=SomeViewContol, predicate_func=SomeFunc).ClickInput()