c#ui自动化[关闭]

问题描述 投票:1回答:7

我试图在c#中自动化gui。这和浏览器自动化一样。我可以启动ui自动化

c# ui-automation
7个回答
3
投票

您可以使用Microsoft的UI自动化库,但它并不是很有趣。 “白色”是一个更好的选择......见:http://www.codeplex.com/white

编辑:

“White”项目的新网址,因为它已移至GitHub上的TestStack:https://github.com/TestStack/White


5
投票

如果您使用的是WPF,Microsoft有一个非常详细的UI自动化库。

http://msdn.microsoft.com/en-us/library/ms747327.aspx

我环顾四周但是找不到WinForms的等价物。


1
投票

WiPFlash在Microsofts UI自动化库之上是一个好的,易于使用的开源包装器。但它们受到底层Microsoft Automation结构的限制。


1
投票

如果您的GUI使用任何第三方Windows控件(如Devexpress控件或Telerik控件),请务必小心。

MS UI Automation很难找到那些花哨的网格,可爱的菜单和漂亮的图标。

谈到TestStack.White,它使用MS UI Automation作为基石,因此它将面临定位详细GUI元素的同样问题。

您将知道何时需要逐行操作网格,但UI Automation或TestStack.White最远只能返回表对象,然后您会发现在项目启动之前您的研发工作都被浪费了。这就是我吸取教训的方法,但现在我是专家。


0
投票

像Alastair Pitts指出的http://msdn.microsoft.com/en-us/library/ms747327.aspx可以使用。据我所知,它应该适用于任何自动化任务 - 只要Windows识别您的应用程序使用的控件作为标准控件或具有自动化支持的控件。几乎所有主要控制供应商都应如此。毫无疑问,MFC,Win32,WinForms以及WPF和Silverlight也是如此。

通过启动Spy ++并查看它显示的内容,您可以了解自己的目标(反对)。

您可能还想使用像White(opensource)或Rannorex(商业)这样的工具来倾听其他想法。


0
投票

FlaUI是“White”库的一个很好的替代品,基于Microsoft的原生UI自动化库。


0
投票

9年后,Appium是一个很好的选择,也是微软的参考方,因为CodedUI是obsolet。微软为Appium构建了WinAppDriver。您也可以使用WinAppDriver来测试您的gui。你需要Appium,就像你想做contionouos集成一样。

区别: Teststack.White是一种高效的Testframework。它不需要像WinAppDriver(Appium)那样多的时间来完成测试,并且在测试项目中很容易实现。但是支持不如WinAppDriver。 Teststack.White作为示例仍然不支持UWP(也许没有人想开发UWP:P)。另一方面,您需要Windows 10或Windows Server 2016才能使用WinAppDriver。两者都可以轻松实现测试,但您需要设置一些JSON值,以获得与WinAppDriver的http连接。 至少带有Appium的WinAppDriver有更多的可能性,但TestStack.White很容易实现。

© www.soinside.com 2019 - 2024. All rights reserved.