我是C#自动化领域的新手,如果这很明显,我深表歉意。我和我的同事经常在用Java编写的应用程序中工作,并且我希望使某些任务自动化。但是,我似乎无法使用我知道的工具(Inspect和Spy ++)来识别Java窗口中的任何元素(各种菜单,文本框等)。在应用程序的主“窗口”中,没有任何内容显示在Inspect中(只是标题栏及其子项)。

我已经通过使用P / Invoke SendInput命令单击需要单击的窗口的各个部分(基于x / y坐标)并输入文本(就像它来自键盘一样)来实现自动化。但是,这似乎有点……很奇怪。如果我可以形式化元素名称而不是仅仅通过代码发送mouseclick指令,我会感觉更好,有没有办法做到这一点?例如对于类似Windows.Automation库的东西,当我没有元素ID时?

最佳答案

用C#编写的TestStack.White框架应该会对您有所帮助。它基于UI自动化API,应该可以看到任何轻量级控件,例如WPF。

10-07 19:12
查看更多