我想要在C#中自动化GUI。这和浏览器自动化一样吗?我该如何开始UI自动化。
我想要在C#中自动化GUI。这和浏览器自动化一样吗?我该如何开始UI自动化。
http://msdn.microsoft.com/en-us/library/ms747327.aspx
我搜索了一下,但找不到WinForms的等价物。
FlaUI是一个很好的替代品,可以取代“White”库,它基于微软的本地UI自动化库。
如果你的GUI使用了任何第三方Windows控件,比如Devexpress控件或Telerik控件,请小心。
MS UI Automation会很难定位那些花哨的网格、可爱的菜单和漂亮的图标。
说到TestStack.White,它使用MS UI Automation作为基石,因此它将面临同样的问题,无法定位详细的GUI元素。
当你需要按行操作网格时,你会知道UI Automation或TestStack.White最多只能返回表格对象,然后你会发现在项目开始之前的研发努力都是白费的。这就是我学到的教训,但现在我是专家。
可以使用http://msdn.microsoft.com/en-us/library/ms747327.aspx,就像Alastair Pitts所指出的那样。据我所知,只要Windows将您的应用程序使用的控件识别为标准控件或具有自动化支持的控件,它就适用于任何自动化任务。这应该适用于几乎所有主要的控件供应商。绝对包括MFC、Win32、WinForms,可能还有WPF和Silverlight。
您可以通过启动Spy++并查看其显示内容来了解您正在处理的内容。
您可能还想听听其他想法,例如使用White(开源)或Rannorex(商业工具)。