我的经理让我为我们的Silverlight应用程序做一些自动化的UI测试。问题是这个应用程序使用了一些自定义控件,因此我不能立即以编程方式访问它们。
访问它们的唯一方法是使用AutomationPeer,但我的经理不喜欢这个想法,因为为了支持UI自动化而更改代码是违反测试原则的;代码应该按原样进行测试。
有没有一种方法或工具可以让我在不使用AutomationPeer的情况下创建自动化的Silverlight测试?
发布于 2011-08-24 06:27:18
您的自定义控件应该支持自动化测试,但同样的机制也是辅助工具与它们交互的方式。
告诉你的经理,‘我需要添加辅助功能支持,自动化是免费的’。
简而言之,如果你不能自动化你的控制,盲人、失聪和/或行动不便的人无论如何都不能使用它。
发布于 2011-09-07 12:52:20
有几种解决方案。一种是你可以通过UITestExtionsPackage编写完全的支持,看看下面这些
http://blogs.msdn.com/b/gautamg/archive/2010/03/23/writing-extension-for-wpf-custom-control.aspx
http://blogs.msdn.com/b/mathew_aniyan/archive/2011/05/17/custom-wpf-control-s-custom-properties.aspx
然而,这个解决方案可能更简单。
http://blog.benday.com/archive/2011/07/18/Silverlight-Coded-UI-Tests-with-UserControls-amp-AutomationProperties.aspx
https://stackoverflow.com/questions/7166062
复制相似问题